:root{--brand-blue: #3a9fc8;--brand-blue-dark: #1a6b8a;--brand-green: #5cb85c;--brand-bg-light: #fafbfc;--brand-bg-blue: #f0f7fb}body{font-family:'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;background-color:#fff;color:#2c3e50}a{color:var(--brand-blue)}a:hover{color:var(--brand-blue-dark)}.navbar-estimate{background:rgba(255,255,255,0.95);backdrop-filter:blur(8px);box-shadow:0 2px 8px rgba(0,0,0,0.06)}.navbar-estimate .navbar-brand{font-size:1.4rem;color:var(--brand-blue-dark);font-weight:700}.navbar-estimate .navbar-brand:hover{color:var(--brand-blue)}.navbar-estimate .navbar-brand img{height:36px;margin-right:8px}.btn-brand{background:linear-gradient(90deg, var(--brand-blue-dark) 0%, var(--brand-blue) 100%);color:#fff;border:none;border-radius:50px;padding:0.5rem 1.5rem;font-weight:600;transition:opacity 0.2s}.btn-brand:hover{opacity:0.9;color:#fff}.btn-brand-outline{border:2px solid var(--brand-blue);color:var(--brand-blue);border-radius:50px;padding:0.5rem 1.5rem;font-weight:600;background:transparent;transition:all 0.2s}.btn-brand-outline:hover{background:var(--brand-blue);color:#fff}.btn-accent{background:var(--brand-green);color:#333;border:none;border-radius:50px;padding:0.5rem 1.5rem;font-weight:600;transition:opacity 0.2s}.btn-accent:hover{opacity:0.85;color:#333}.section-light{background-color:var(--brand-bg-light)}.section-blue{background-color:var(--brand-bg-blue)}.card-estimate{border:none;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,0.06);transition:transform 0.2s, box-shadow 0.2s}.card-estimate:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,0.1)}.upload-area:hover{background-color:#f8f9fa}.badge.bg-warning{color:#000 !important}.breadcrumb-custom{display:flex;align-items:center;gap:0.4rem;list-style:none;padding:0.6rem 1rem;margin:0;background:#fff;border-radius:0.5rem;box-shadow:0 1px 4px rgba(0,0,0,0.06);font-size:0.85rem}.breadcrumb-custom li a{color:var(--brand-blue);text-decoration:none;font-weight:500}.breadcrumb-custom li a:hover{text-decoration:underline}.breadcrumb-custom li.separator{color:#ced4da;font-size:0.75rem}.breadcrumb-custom li.active{color:#495057;font-weight:500}.auth-page{min-height:80vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg, var(--brand-bg-blue) 0%, #fff 100%)}.auth-page .container{width:100%}.post-body{line-height:1.9;color:#333}.post-body h2{font-size:1.4rem;font-weight:700;margin:2rem 0 1rem;padding-bottom:0.4rem;border-bottom:2px solid var(--brand-bg-blue);color:#2c3e50}.post-body h3{font-size:1.15rem;font-weight:700;margin:1.5rem 0 0.8rem;color:#2c3e50}.post-body p{margin-bottom:1rem}.post-body ul,.post-body ol{margin-bottom:1rem;padding-left:1.5rem}.post-body li{margin-bottom:0.3rem}.post-body blockquote{border-left:4px solid var(--brand-blue);padding:0.8rem 1.2rem;margin:1rem 0;background:var(--brand-bg-light);border-radius:0 6px 6px 0;color:#555}.post-body code{background:#f0f0f0;padding:2px 6px;border-radius:4px;font-size:0.9em}.post-body pre{background:#2c3e50;color:#ecf0f1;padding:1rem;border-radius:8px;overflow-x:auto;margin:1rem 0}.post-body pre code{background:none;padding:0;color:inherit}.post-body table{width:100%;border-collapse:collapse;margin:1rem 0}.post-body th,.post-body td{border:1px solid #dee2e6;padding:0.5rem 0.8rem;font-size:0.9rem}.post-body th{background:var(--brand-bg-light);font-weight:600}.post-body img{max-width:100%;height:auto;border-radius:8px;margin:1rem 0}.post-body a{color:var(--brand-blue)}.post-body hr{border:none;border-top:1px solid #eee;margin:2rem 0}.pagination{display:flex;gap:4px;justify-content:center;list-style:none;padding:0;flex-wrap:wrap}.pagination span,.pagination em,.pagination a{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border-radius:8px;font-size:0.85rem;font-weight:500;text-decoration:none;transition:all 0.15s}.pagination a{color:var(--brand-blue);background:#fff;border:1px solid #dee2e6}.pagination a:hover{background:var(--brand-bg-blue);border-color:var(--brand-blue)}.pagination em.current{background:var(--brand-blue);color:#fff;border:1px solid var(--brand-blue);font-style:normal}.pagination span.gap{color:#aaa;border:none}.pagination span.prev,.pagination span.next{color:#ccc}.pagination a.prev,.pagination a.next{font-size:0.8rem}.footer-estimate{background:#fff;border-top:3px solid var(--brand-blue)}.footer-estimate a{color:#555;text-decoration:none}.footer-estimate a:hover{color:var(--brand-blue)}
