:root{--bg: #ffffff;--fg: #14171c;--muted: #6b7280;--brand: #0b5fd9;--brand-dark: #0849a8;--accent: #ff6b00;--border: #e7e9ee;--radius: 12px;--maxw: 1120px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--fg);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--brand);text-decoration:none}a:hover{color:var(--brand-dark)}.app{min-height:100vh;display:flex;flex-direction:column}main{flex:1}.nav{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.nav-inner{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;gap:32px;padding:15px 20px}.brand{font-weight:800;font-size:22px;letter-spacing:-.5px;color:var(--fg)}.brand span{color:var(--brand)}.nav nav{display:flex;gap:22px;font-size:14.5px;font-weight:500;flex:1}.nav nav a{color:#3b4453;padding:4px 2px;border-bottom:2px solid transparent}.nav nav a:hover{color:var(--brand);border-bottom-color:var(--brand)}.nav-cta{color:var(--accent)!important;font-weight:600}.nav-auth{display:flex;align-items:center;gap:14px}.btn-link{background:none;border:none;color:var(--brand);font-size:14px;cursor:pointer;font-weight:600}.btn-primary{display:inline-block;background:var(--brand);color:#fff!important;padding:11px 26px;border-radius:999px;font-weight:600;border:none;cursor:pointer;transition:background .2s;font-size:14.5px}.btn-primary:hover{background:var(--brand-dark)}.btn-sm{padding:8px 16px;font-size:13.5px}.btn-lg{padding:15px 40px;font-size:16px}.btn-block{width:100%;text-align:center}.btn-ghost{display:inline-block;border:1.5px solid var(--brand);color:var(--brand);padding:11px 26px;border-radius:999px;font-weight:600}.btn-ghost:hover{background:#f0f6ff}.hero{background:linear-gradient(180deg,#f2f7ff,#fff 55%);padding:84px 20px 56px;text-align:center;border-bottom:1px solid var(--border)}.hero-inner{max-width:var(--maxw);margin:0 auto}.hero h1{font-size:44px;font-weight:800;letter-spacing:-1px;line-height:1.15;margin-bottom:16px}.hero h1 span{color:var(--brand)}.hero .sub{color:var(--muted);font-size:18px;max-width:640px;margin:0 auto 30px}.hero-actions{display:flex;gap:16px;justify-content:center}.section{max-width:var(--maxw);margin:0 auto;padding:64px 20px}.section.alt{background:#f7f9fc}.sec-title{font-size:28px;font-weight:800;text-align:center;margin-bottom:36px;letter-spacing:-.4px}.process-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.process-card{border:1px solid var(--border);border-radius:var(--radius);padding:28px 18px;text-align:center;background:#fff;transition:box-shadow .2s,transform .15s;color:var(--fg);display:block}.process-card:hover{box-shadow:0 10px 28px #0b5fd91a;transform:translateY(-3px);color:var(--fg)}.pc-icon{font-size:30px;color:var(--brand);margin-bottom:10px}.pc-name{font-weight:700;font-size:16px}.pc-desc{color:var(--muted);font-size:13px;margin-top:6px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.step{border:1px solid var(--border);border-radius:var(--radius);padding:28px;background:#fff}.step-n{font-size:26px;font-weight:800;color:var(--accent)}.step-t{font-size:17px;font-weight:700;margin:6px 0}.step-d{color:var(--muted);font-size:14px}.cta-band{text-align:center;padding:72px 20px;background:linear-gradient(135deg,#0b5fd9,#0849a8);color:#fff}.cta-band h2{font-size:30px;font-weight:800;margin-bottom:22px}.cta-band .btn-primary{background:#fff;color:var(--brand)!important}.cta-band .btn-primary:hover{background:#f2f6ff}.page{max-width:var(--maxw);margin:0 auto;padding:56px 20px 64px}.page.narrow{max-width:640px}.page h1{font-size:34px;font-weight:800;letter-spacing:-.5px;margin-bottom:12px}.page .sub{color:var(--muted);font-size:16px;margin-bottom:28px}.muted{color:var(--muted);font-size:14px}.quote-page{max-width:var(--maxw);margin:0 auto;padding:48px 20px 64px}.quote-page h1{font-size:34px;font-weight:800;text-align:center}.quote-page .sub{text-align:center;color:var(--muted);margin-bottom:34px}.quote-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:start}.quote-form,.quote-result{border:1px solid var(--border);border-radius:var(--radius);padding:28px;background:#fff}.quote-form label{display:block;font-size:13px;font-weight:600;color:#4b5563;margin:14px 0 6px}.quote-form label:first-child{margin-top:0}.quote-form input,.quote-form select{width:100%;padding:11px 12px;border:1.5px solid var(--border);border-radius:9px;font-size:14.5px}.quote-form input:focus,.quote-form select:focus{outline:none;border-color:var(--brand)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.quote-form .btn-primary{margin-top:22px}.msg{margin-top:14px;font-size:13.5px;color:#047857}.msg.err{color:#dc2626}.quote-result{position:sticky;top:90px}.qr-label{font-size:14px;color:var(--muted)}.qr-total{font-size:44px;font-weight:800;color:var(--brand);margin:8px 0 16px;letter-spacing:-1px}.qr-line{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--border);font-size:14.5px}.qr-note{color:var(--muted);font-size:12.5px;margin-top:14px}.qr-empty{color:var(--muted);padding:30px 0;text-align:center}.upload-box{border:1.5px dashed var(--border);border-radius:var(--radius);padding:18px;margin-bottom:8px;background:#fafafa}.upload-box label{display:block;font-size:13px;font-weight:700;color:var(--brand);margin:0 0 8px}.upload-box input[type=file]{font-size:12.5px;padding:6px 0}.upload-box .btn-primary{margin-top:12px}.or-divider{text-align:center;color:var(--muted);font-size:12.5px;padding:12px 0 4px;letter-spacing:.03em}.qr-geom{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.qr-label2{font-size:12px;font-weight:700;color:var(--brand);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:10px 12px;border-bottom:2px solid var(--border)}.table td{padding:12px;border-bottom:1px solid var(--border);font-size:14.5px}.blog-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.blog-card{border:1px solid var(--border);border-radius:var(--radius);padding:22px;background:#fff}.bc-date{color:var(--accent);font-size:12.5px;font-weight:600}.bc-title{font-size:18px;font-weight:700;margin:6px 0}.bc-desc{color:var(--muted);font-size:14px}.auth-form{margin-top:8px}.auth-form label{display:block;font-size:13px;font-weight:600;margin:14px 0 6px}.auth-form input{width:100%;padding:11px 12px;border:1.5px solid var(--border);border-radius:9px;font-size:14.5px}.auth-form .btn-primary{margin-top:20px}.auth-form+p{margin-top:16px}.footer{background:#14171c;color:#b9c0cc;padding:48px 20px 28px;margin-top:auto}.footer-inner{max-width:var(--maxw);margin:0 auto;text-align:center}.f-brand{font-size:22px;font-weight:800;color:#fff;margin-bottom:10px}.f-brand span{color:#5b9bff}.footer p{max-width:520px;margin:0 auto 18px;font-size:14px}.f-links{display:flex;gap:22px;justify-content:center;margin-bottom:22px;font-size:14px}.f-links a{color:#cdd5e0}.f-links a:hover{color:#fff}.f-copy{font-size:12.5px;color:#7d8696;border-top:1px solid #2a2f38;padding-top:20px}.admin-page{max-width:var(--maxw);margin:0 auto;padding:48px 20px 64px}.admin-page h1{font-size:30px;font-weight:800;margin-bottom:18px}.tabs{display:flex;gap:6px;margin-bottom:22px;border-bottom:1px solid var(--border)}.tab{background:none;border:none;padding:10px 18px;font-size:14px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent}.tab.active{color:var(--brand);border-bottom-color:var(--brand)}.badge{padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.b-pending,.b-draft{background:#fef3c7;color:#92400e}.b-paid,.b-accepted,.b-delivered{background:#d1fae5;color:#047857}.b-shipped,.b-sent{background:#dbeafe;color:#1d4ed8}.b-cancelled,.b-expired{background:#fee2e2;color:#b91c1c}@media(max-width:820px){.quote-layout,.steps{grid-template-columns:1fr}.quote-result{position:static}.hero h1{font-size:32px}.nav-inner{flex-wrap:wrap;gap:10px}.nav nav{order:3;width:100%;gap:14px;overflow-x:auto}.grid3,.grid2{grid-template-columns:1fr}.sec-title{font-size:24px}}.order-box{margin-top:18px;padding:16px 18px;border:1px solid var(--border);border-radius:12px;background:#fafbff}.order-box .qr-label2{margin-bottom:8px}.ship-form{display:flex;flex-direction:column;gap:9px;margin-top:6px}.ship-form input{width:100%;padding:10px 13px;border:1px solid var(--border);border-radius:8px;font-size:14px;box-sizing:border-box}.ship-form input:focus{outline:none;border-color:var(--brand)}.ship-form .btn-primary{margin-top:4px}.ship-form .btn-link{align-self:flex-start;color:var(--muted)}.badge{padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600}.b-draft,.b-pending{background:#eef2ff;color:#4338ca}.b-sent,.b-paid,.b-ordered,.b-shipped{background:#ecfdf5;color:#047857}.b-accepted,.b-delivered{background:#f0fdf4;color:#166534}.b-expired,.b-cancelled{background:#fef2f2;color:#b91c1c}
