:root{--bg: #F6F4F0;--bg-warm: #FDFCFA;--bg-card: #FFFFFF;--bg-inset: #F0EDE8;--bg-hover: #F8F6F2;--border: #E5E0D8;--border-strong: #D4CEC4;--ink: #1B2A4A;--ink-secondary: #4A5568;--ink-muted: #8B95A5;--ink-faint: #B8BFC9;--accent: #E8553A;--accent-hover: #D14428;--accent-soft: #FEF0ED;--accent-glow: rgba(232, 85, 58, .08);--cyan: #0891B2;--cyan-bg: #ECFEFF;--magenta: #DB2777;--magenta-bg: #FDF2F8;--yellow: #CA8A04;--yellow-bg: #FEFCE8;--key-black: #374151;--key-bg: #F3F4F6;--success: #059669;--success-bg: #ECFDF5;--danger: #DC2626;--danger-bg: #FEF2F2;--radius: 10px;--radius-lg: 16px;--radius-pill: 100px;--font-display: "Outfit", sans-serif;--font-body: "Source Sans 3", "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", monospace;--shadow-sm: 0 1px 3px rgba(27, 42, 74, .04), 0 1px 2px rgba(27, 42, 74, .03);--shadow: 0 4px 16px rgba(27, 42, 74, .06), 0 1px 3px rgba(27, 42, 74, .04);--shadow-lg: 0 12px 40px rgba(27, 42, 74, .08), 0 4px 12px rgba(27, 42, 74, .04);--shadow-focus: 0 0 0 3px rgba(232, 85, 58, .15)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:15px;scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg);color:var(--ink);line-height:1.65;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(ellipse at 20% 50%,rgba(232,85,58,.02) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(8,145,178,.02) 0%,transparent 50%)}.app-shell{max-width:880px;margin:0 auto;padding:20px 24px 40px}.page-header{text-align:center;padding:40px 0 32px;position:relative}.page-header:after{content:"";display:block;width:48px;height:3px;background:var(--accent);border-radius:2px;margin:16px auto 0}.page-header h1{font-family:var(--font-display);font-size:2.2rem;font-weight:800;color:var(--ink);letter-spacing:-.03em;line-height:1.15}.page-header p{color:var(--ink-secondary);font-size:1rem;margin-top:8px;max-width:420px;margin-left:auto;margin-right:auto}.page-header .brand{font-family:var(--font-display);font-size:.7rem;color:var(--ink-faint);margin-top:6px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}.navbar{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border)}.navbar .logo{font-family:var(--font-display);font-weight:700;font-size:1.05rem;color:var(--ink);display:flex;align-items:center;gap:8px}.navbar .logo .logo-dot{width:8px;height:8px;background:var(--accent);border-radius:50%;display:inline-block}.navbar .nav-right{display:flex;align-items:center;gap:14px}.navbar .user-tag{font-size:.85rem;color:var(--ink-muted);font-weight:500;background:var(--bg-inset);padding:5px 12px;border-radius:var(--radius-pill)}.navbar .logout-btn{background:none;border:1px solid var(--border);color:var(--ink-muted);padding:6px 16px;border-radius:var(--radius-pill);font-size:.8rem;cursor:pointer;font-family:var(--font-body);font-weight:500;transition:all .2s}.navbar .logout-btn:hover{border-color:var(--danger);color:var(--danger);background:var(--danger-bg)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:16px;box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .2s}.card:hover{box-shadow:var(--shadow)}.card-head{padding:16px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.card-head:hover{background:var(--bg-hover)}.card-head h3{font-family:var(--font-display);font-size:.95rem;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:10px}.card-head h3 span{font-size:1.1rem}.card-head:before{content:"";width:3px;height:20px;background:var(--accent);border-radius:2px;margin-right:4px;flex-shrink:0}.card-head .chevron{color:var(--ink-faint);transition:transform .3s cubic-bezier(.4,0,.2,1);width:18px;height:18px}.card-head .chevron.open{transform:rotate(180deg)}.card-body{padding:22px;animation:fadeSlideIn .25s ease}.card-body.collapsed{display:none}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.form-group{margin-bottom:16px}.form-label{display:block;font-family:var(--font-display);font-size:.72rem;font-weight:600;color:var(--ink-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.08em}.form-input{width:100%;padding:11px 14px;background:var(--bg-warm);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--ink);font-family:var(--font-body);font-size:.95rem;transition:border-color .2s,box-shadow .2s;outline:none}.form-input:focus{border-color:var(--accent);box-shadow:var(--shadow-focus);background:#fff}.form-input::placeholder{color:var(--ink-faint)}.input-with-unit{position:relative}.input-with-unit .unit{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--ink-faint);font-size:.78rem;font-family:var(--font-mono);font-weight:500;pointer-events:none}.input-with-unit .prefix{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--ink-muted);font-size:.92rem;font-weight:500;pointer-events:none}.input-with-unit .form-input.has-prefix{padding-left:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 28px;border:none;border-radius:var(--radius);font-family:var(--font-display);font-size:.92rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);text-decoration:none;letter-spacing:-.01em}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 2px 8px #e8553a40}.btn-primary:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 16px #e8553a4d}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-ghost{background:var(--bg-card);color:var(--ink-secondary);border:1.5px solid var(--border)}.btn-ghost:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--ink)}.btn-full{width:100%}.upload-zone{border:2px dashed var(--border-strong);border-radius:var(--radius-lg);padding:40px 24px;text-align:center;cursor:pointer;transition:all .25s;position:relative;background:var(--bg-warm)}.upload-zone:hover,.upload-zone.dragover{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.upload-zone.has-file{border-color:var(--success);border-style:solid;background:var(--success-bg)}.upload-zone input{display:none}.upload-zone .upload-icon{width:56px;height:56px;margin:0 auto 14px;background:var(--accent-soft);border-radius:50%;display:flex;align-items:center;justify-content:center}.upload-zone .upload-icon svg{color:var(--accent)}.upload-zone .upload-icon.success{background:var(--success-bg)}.upload-zone .upload-icon.success svg{color:var(--success)}.upload-zone h4{font-family:var(--font-display);font-weight:600;font-size:1rem;color:var(--ink);margin-bottom:4px}.upload-zone p{color:var(--ink-muted);font-size:.88rem}.upload-zone .file-name{font-family:var(--font-display);color:var(--success);font-weight:600;font-size:1rem}.upload-zone .file-meta{color:var(--ink-muted);font-size:.82rem;margin-top:4px}.size-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}.size-chip{border:1.5px solid var(--border);border-radius:var(--radius);padding:12px 8px;text-align:center;cursor:pointer;transition:all .2s;background:var(--bg-warm)}.size-chip:hover{border-color:var(--accent);background:var(--accent-soft)}.size-chip.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px #e8553a1f}.size-chip .name{font-family:var(--font-display);font-weight:700;font-size:.92rem;color:var(--ink);display:block}.size-chip .dims{font-family:var(--font-mono);font-size:.64rem;color:var(--ink-faint);display:block;margin-top:2px}.size-chip.active .name{color:var(--accent)}.ink-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:14px}.ink-tile{border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:18px 16px;text-align:center;background:var(--bg-warm);transition:border-color .2s,box-shadow .2s}.ink-tile:hover{box-shadow:var(--shadow)}.ink-tile .dot{width:40px;height:40px;border-radius:50%;margin:0 auto 10px;display:flex;align-items:center;justify-content:center}.ink-tile .dot.cyan{background:var(--cyan-bg);color:var(--cyan)}.ink-tile .dot.magenta{background:var(--magenta-bg);color:var(--magenta)}.ink-tile .dot.yellow{background:var(--yellow-bg);color:var(--yellow)}.ink-tile .dot.black{background:var(--key-bg);color:var(--key-black)}.ink-tile h4{font-family:var(--font-display);font-size:.9rem;font-weight:600;margin-bottom:14px;color:var(--ink)}.toggle-row{display:flex;align-items:center;gap:12px;padding:8px 0}.toggle{position:relative;width:44px;height:24px;cursor:pointer;flex-shrink:0}.toggle input{display:none}.toggle .slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--border-strong);border-radius:12px;transition:background .25s}.toggle .slider:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0000001a;transition:transform .25s cubic-bezier(.4,0,.2,1)}.toggle input:checked+.slider{background:var(--accent)}.toggle input:checked+.slider:after{transform:translate(20px)}.toggle-label{font-family:var(--font-display);font-size:.9rem;font-weight:500}.profit-row{display:flex;gap:8px}.profit-row .form-input{flex:1}.profit-row select{width:60px;padding:10px 8px;background:var(--bg-warm);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--ink);font-family:var(--font-mono);font-size:.88rem;font-weight:500;outline:none;cursor:pointer}.profit-row select:focus{border-color:var(--accent)}.result-hero{text-align:center;padding:32px 20px 28px}.result-hero .price-tag{display:inline-block;padding:12px 36px;background:var(--ink);color:#fff;border-radius:var(--radius-lg);font-family:var(--font-mono);font-weight:600;font-size:2.4rem;letter-spacing:-.02em;box-shadow:var(--shadow-lg);position:relative}.result-hero .price-tag:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:40%;height:3px;background:var(--accent);border-radius:2px}.result-hero .per-page{margin-top:14px;font-size:.9rem;color:var(--ink-muted)}.result-hero .per-page strong{font-family:var(--font-mono);color:var(--accent);font-weight:600}.summary-bar{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;padding:14px 20px;background:var(--bg-inset);border-radius:var(--radius)}.summary-bar .sum-item{font-size:.88rem;color:var(--ink-secondary)}.summary-bar .sum-item strong{font-family:var(--font-mono);font-weight:600;color:var(--ink)}.breakdown-section{background:var(--bg-inset);border-radius:var(--radius-lg);padding:20px;margin-bottom:16px}.breakdown-section .section-title{font-family:var(--font-display);font-weight:700;font-size:.82rem;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;display:flex;align-items:center;gap:8px}.breakdown-list{list-style:none;padding:0}.breakdown-list li{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--border)}.breakdown-list li:last-child{border-bottom:none}.breakdown-list .label{color:var(--ink-secondary);font-size:.9rem;display:flex;align-items:center;gap:8px}.breakdown-list .value{font-family:var(--font-mono);font-weight:500;font-size:.88rem;color:var(--ink)}.breakdown-list .total-row{border-top:2px solid var(--border-strong);border-bottom:none;padding-top:12px;margin-top:4px}.breakdown-list .total-row .label{font-weight:700;color:var(--ink)}.breakdown-list .total-row .value{color:var(--accent);font-weight:600;font-size:1rem}.pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-pill);font-size:.78rem;font-weight:600;font-family:var(--font-mono)}.pill-accent{background:var(--accent-soft);color:var(--accent)}.pill-success{background:var(--success-bg);color:var(--success)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.stat-box{background:var(--bg-warm);border:1px solid var(--border);border-radius:var(--radius);padding:14px 12px;text-align:center;transition:box-shadow .2s}.stat-box:hover{box-shadow:var(--shadow-sm)}.stat-box .stat-label{font-family:var(--font-display);font-size:.65rem;font-weight:600;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.stat-box .stat-value{font-family:var(--font-mono);font-size:1.05rem;font-weight:600;color:var(--ink)}.ink-bar-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.ink-bar-row .bar-label{width:65px;font-family:var(--font-display);font-size:.82rem;font-weight:600;color:var(--ink-secondary)}.ink-bar-track{flex:1;height:10px;background:var(--bg-inset);border-radius:5px;overflow:hidden}.ink-bar-fill{height:100%;border-radius:5px;transition:width .8s cubic-bezier(.4,0,.2,1)}.ink-bar-fill.cyan{background:linear-gradient(90deg,#06b6d4,#0891b2)}.ink-bar-fill.magenta{background:linear-gradient(90deg,#ec4899,#db2777)}.ink-bar-fill.yellow{background:linear-gradient(90deg,#fbbf24,#ca8a04)}.ink-bar-fill.black{background:linear-gradient(90deg,#6b7280,#374151)}.ink-bar-row .bar-value{width:100px;text-align:right;font-family:var(--font-mono);font-size:.76rem;color:var(--ink-muted);white-space:nowrap}.page-table-wrap{max-height:400px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card)}.page-table-wrap::-webkit-scrollbar{width:5px}.page-table-wrap::-webkit-scrollbar-track{background:transparent}.page-table-wrap::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.page-table{width:100%;border-collapse:collapse}.page-table thead th{position:sticky;top:0;background:var(--bg-inset);padding:10px 12px;text-align:left;font-family:var(--font-display);font-weight:600;color:var(--ink-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);z-index:2}.page-table tbody td{padding:8px 12px;border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:.78rem;color:var(--ink-secondary)}.page-table tbody tr:hover{background:var(--bg-hover)}.page-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:600;font-family:var(--font-display)}.page-badge.front{background:var(--accent-soft);color:var(--accent)}.page-badge.back{background:var(--bg-inset);color:var(--ink-muted)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(ellipse at 30% 0%,rgba(232,85,58,.04) 0%,transparent 50%),radial-gradient(ellipse at 70% 100%,rgba(8,145,178,.04) 0%,transparent 50%),var(--bg)}.auth-card{width:100%;max-width:400px}.auth-card .card{box-shadow:var(--shadow-lg);border:1px solid var(--border)}.auth-header{text-align:center;padding:32px 24px 4px}.auth-header h1{font-family:var(--font-display);font-size:1.7rem;font-weight:800;color:var(--ink);letter-spacing:-.02em}.auth-header .auth-dot{display:inline-block;width:8px;height:8px;background:var(--accent);border-radius:50%;margin-left:2px;vertical-align:super}.auth-header p{color:var(--ink-muted);font-size:.92rem;margin-top:6px}.auth-footer{text-align:center;padding:16px;color:var(--ink-muted);font-size:.88rem}.auth-footer a{color:var(--accent);text-decoration:none;font-weight:600}.auth-footer a:hover{text-decoration:underline}.auth-divider{position:relative;text-align:center;margin:20px 0}.auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border)}.auth-divider span{position:relative;background:var(--bg-card);padding:0 14px;color:var(--ink-faint);font-size:.82rem;font-family:var(--font-display);font-weight:500}.auth-bottom-text{text-align:center;margin-top:18px;font-size:.72rem;color:var(--ink-faint);font-family:var(--font-display);letter-spacing:.05em}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#f6f4f0e0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000}.loading-box{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px 44px;text-align:center;box-shadow:var(--shadow-lg);max-width:340px;width:100%}.loading-box h3{font-family:var(--font-display);font-size:1.1rem;font-weight:700;margin-bottom:22px;color:var(--ink)}.loading-bar{width:100%;height:5px;background:var(--bg-inset);border-radius:3px;overflow:hidden;margin-bottom:18px}.loading-bar-fill{height:100%;width:30%;background:linear-gradient(90deg,var(--accent),#f59e0b);border-radius:3px;animation:loadSlide 2s infinite ease-in-out}@keyframes loadSlide{0%{transform:translate(-100%);width:30%}50%{width:50%}to{transform:translate(350%);width:30%}}.loading-box .status{color:var(--ink-muted);font-size:.88rem;font-family:var(--font-body)}.alert{padding:12px 16px;border-radius:var(--radius);font-size:.88rem;margin-bottom:16px}.alert-error{background:var(--danger-bg);color:var(--danger);border:1px solid rgba(220,38,38,.15)}.row{display:flex;gap:16px;flex-wrap:wrap}.col{flex:1;min-width:0}.col-2{flex:0 0 calc(50% - 8px);min-width:200px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.text-center{text-align:center}.text-muted{color:var(--ink-muted)}.text-sm{font-size:.84rem}.text-xs{font-size:.74rem}.text-mono{font-family:var(--font-mono)}.flex-between{display:flex;justify-content:space-between;align-items:center}.actions-row{display:flex;gap:12px;justify-content:center;margin-top:28px;flex-wrap:wrap}.logo-pa-auth{height:80px;max-width:280px;object-fit:contain;margin:0 auto 14px;display:block}.logo-pa-nav{height:36px;object-fit:contain;display:block}.page-header .logo-pa-header{height:64px;max-width:300px;object-fit:contain;margin:0 auto 16px;display:block}.footer-brand{display:flex;align-items:center;justify-content:center;gap:14px;padding:24px 0;border-top:1px solid var(--border);margin-top:32px;flex-wrap:wrap}.footer-brand .logo-pa-footer{height:28px;object-fit:contain}.footer-brand .logo-smit-footer{height:24px;object-fit:contain}.footer-brand span{color:var(--ink-faint);font-size:.78rem;font-family:var(--font-display);letter-spacing:.05em}.footer-brand .sep{color:var(--border-strong);font-size:1rem}.auth-brand-footer{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:20px}.auth-brand-footer span{color:var(--ink-faint);font-size:.78rem;font-family:var(--font-display)}.auth-brand-footer .logo-smit-auth{height:26px;object-fit:contain}@media (max-width: 640px){html{font-size:14px}.ink-grid,.stat-grid{grid-template-columns:repeat(2,1fr)}.size-grid{grid-template-columns:repeat(3,1fr)}.col-2{flex:1 1 100%}.page-header h1{font-size:1.7rem}.result-hero .price-tag{font-size:1.9rem;padding:10px 24px}.actions-row{flex-direction:column}.actions-row .btn{width:100%}.summary-bar{flex-direction:column;gap:8px}.app-shell{padding:16px 16px 32px}}@media print{.navbar,.actions-row,.card-head .chevron{display:none!important}.card-body.collapsed{display:block!important}body{background:#fff}.card{box-shadow:none;border:1px solid #ddd}}
