:root{--bg:#eef2f6;--panel:#fff;--text:#17202a;--muted:#667085;--brand:#0d1520;--brand-soft:#182332;--accent:#2563eb;--border:#dfe5ec;--success:#15803d;--danger:#b42318}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}a{color:#1d4ed8}
.version-banner{position:fixed;right:12px;bottom:12px;background:#dc2626;color:#fff;padding:8px 12px;border-radius:999px;font-size:11px;font-weight:800;z-index:9999}
.app-shell{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:275px;background:var(--brand);color:#fff;display:flex;flex-direction:column;padding:24px 18px}
.brand-block{display:flex;align-items:center;gap:13px;padding:5px 8px 26px;border-bottom:1px solid rgba(255,255,255,.1)}.brand-mark{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;font-weight:800;background:#fff;color:var(--brand)}
.brand-block strong,.brand-block span{display:block}.brand-block span{color:#aeb9c8;font-size:12px}.side-nav{display:flex;flex-direction:column;gap:8px;margin-top:26px}
.side-nav a{display:flex;align-items:center;text-decoration:none;color:#cbd5e1;padding:13px 14px;border-radius:10px;font-weight:700;font-size:14px}.side-nav a:hover,.side-nav a.active{background:var(--brand-soft);color:#fff}
.sidebar-footer{margin-top:auto;padding:18px 10px 4px;border-top:1px solid rgba(255,255,255,.1)}.sidebar-footer small,.sidebar-footer strong{display:block}.sidebar-footer small{color:#94a3b8;margin-bottom:4px}.sidebar-footer a{display:inline-block;margin-top:12px;color:#fff;font-size:13px}
.main-area{width:100%;margin-left:275px;min-height:100vh;display:flex;flex-direction:column}.topbar{min-height:84px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:18px 34px}.topbar h1{margin:0 0 4px;font-size:23px}.topbar p{margin:0;color:var(--muted);font-size:13px}
.topbar-user{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;font-weight:700}.status-dot{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px #dcfce7}
.page{width:100%;max-width:1250px;margin:0 auto;padding:30px;flex:1}.login-page{max-width:600px}.welcome-panel{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(135deg,#111827,#263447);color:#fff;border-radius:18px;padding:30px;margin-bottom:22px}
.welcome-panel h2{margin:6px 0 8px;font-size:28px}.welcome-panel p{margin:0;color:#d5dce6}.eyebrow{display:block;font-size:11px;letter-spacing:1.4px;font-weight:800;color:#64748b}.welcome-panel .eyebrow{color:#93c5fd}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stat-card{background:#fff;border:1px solid var(--border);border-radius:15px;padding:20px;display:flex;align-items:center;gap:15px;box-shadow:0 5px 18px rgba(16,24,40,.04)}
.stat-icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:21px;font-weight:800}.waiting .stat-icon{background:#fff7ed;color:#c2410c}.changes .stat-icon{background:#fef2f2;color:#b91c1c}.approved .stat-icon{background:#f0fdf4;color:#15803d}.production .stat-icon{background:#eff6ff;color:#1d4ed8}
.stat-card span{display:block;color:var(--muted);font-size:13px;margin-bottom:4px}.stat-card strong{font-size:27px}.dashboard-grid,.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:24px;margin-bottom:20px;box-shadow:0 5px 18px rgba(16,24,40,.04)}
.section-heading,.split{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.section-heading{margin-bottom:18px}.section-heading h3,.content-header h2{margin:5px 0 0}.content-header{margin-bottom:20px}.content-header p,.muted{color:var(--muted)}
.system-list>div,.details-list>div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #edf0f3}.details-list{margin:0}.details-list dt{color:var(--muted)}.details-list dd{margin:0;text-align:right;font-weight:700}
.activity-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #edf0f3}.activity-item strong,.activity-item span{display:block}.activity-item span{color:var(--muted);font-size:12px;margin-top:3px}.activity-bullet{width:10px;height:10px;border-radius:50%;background:#2563eb;margin-top:5px}
label{display:block;font-weight:700;margin:16px 0 7px}input,select,textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:9px;font-size:16px;background:#fff}textarea{resize:vertical}
button,.button-link,.secondary-button{display:inline-block;margin-top:20px;padding:13px 18px;border:0;border-radius:9px;background:var(--accent);color:#fff;font-size:15px;font-weight:800;cursor:pointer;text-decoration:none}.secondary-button{margin-top:0;background:#fff;color:var(--brand)}.button-link{margin-top:0}
.alert{padding:12px;border-radius:8px;margin:16px 0}.alert.error{background:#fef3f2;color:var(--danger)}.alert.success{background:#ecfdf3;color:var(--success)}
.narrow{max-width:520px;margin:50px auto;background:#fff;border:1px solid var(--border);border-radius:16px;padding:28px}.footer{text-align:center;color:var(--muted);padding:20px;font-size:12px}
.form-grid.two-column{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.form-grid .full{grid-column:1/-1}.action-row{display:flex;align-items:center;justify-content:flex-end;gap:15px}.cancel-link{margin-top:20px}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 10px;border-bottom:1px solid #edf0f3;vertical-align:top}th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px}
.status-pill{display:inline-block;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:800;background:#e2e8f0}.status-waiting{background:#fff7ed;color:#c2410c}.status-changes{background:#fef2f2;color:#b91c1c}.status-approved{background:#f0fdf4;color:#15803d}.status-production{background:#eff6ff;color:#1d4ed8}.status-archived{background:#f1f5f9;color:#475569}
.filter-row{display:grid;grid-template-columns:1fr 220px auto;gap:12px;align-items:end}.filter-row button{margin-top:0}.empty-state{text-align:center;padding:35px 15px;color:var(--muted)}.empty-state strong{display:block;color:var(--text);margin-bottom:6px}
.account-card{max-width:760px}.account-summary{display:flex;gap:14px;align-items:center;margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid var(--border)}.avatar{width:52px;height:52px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800}.account-summary strong,.account-summary span{display:block}.account-summary span{color:var(--muted);font-size:13px;margin-top:4px}
code{display:block;background:#111827;color:#e5e7eb;padding:14px;border-radius:9px;overflow:auto}
@media(max-width:1000px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.details-grid{grid-template-columns:1fr}}
@media(max-width:760px){.sidebar{position:static;width:100%;min-height:auto}.app-shell{display:block}.main-area{margin-left:0}.side-nav{display:grid;grid-template-columns:1fr 1fr}.sidebar-footer{display:none}.topbar{padding:16px 18px}.page{padding:18px}.stats-grid{grid-template-columns:1fr}.welcome-panel,.split{flex-direction:column;align-items:flex-start}.form-grid.two-column{grid-template-columns:1fr}.filter-row{grid-template-columns:1fr}.action-row{align-items:stretch;flex-direction:column}.button-link{width:100%;text-align:center}}

.upload-zone{border:2px dashed #94a3b8;border-radius:16px;padding:42px 22px;text-align:center;background:#f8fafc;cursor:pointer;margin:0}
.upload-zone strong,.upload-zone span,.upload-zone small{display:block}.upload-zone strong{font-size:20px;margin-bottom:8px}.upload-zone span{color:#475569}.upload-zone small{color:#64748b;margin-top:8px}
.upload-zone input{margin:20px auto 0;max-width:420px;background:#fff}.selected-files{margin-top:16px}.selected-files div{padding:9px 12px;border:1px solid #e2e8f0;border-radius:8px;margin-top:8px;background:#fff}
.proof-version{border-top:1px solid #e5e7eb;padding-top:20px;margin-top:20px}.proof-version:first-of-type{border-top:0;margin-top:0}.proof-version-heading{display:flex;justify-content:space-between;margin-bottom:14px}.proof-version-heading strong,.proof-version-heading span{display:block}.proof-version-heading span{font-size:12px;color:#667085;margin-top:4px}
.proof-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.proof-card{display:block;border:1px solid #dfe5ec;border-radius:12px;overflow:hidden;background:#fff;text-decoration:none;color:#17202a}.proof-card img{display:block;width:100%;height:180px;object-fit:contain;background:#f1f5f9}.proof-card span{display:block;padding:10px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1000px){.proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.proof-grid{grid-template-columns:1fr}}
.upload-zone.dragging{border-color:var(--accent);background:#eef6ff}.upload-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.upload-preview-card{overflow:hidden;border:1px solid #dfe5ec;border-radius:12px;background:#fff}.upload-preview-card img{display:block;width:100%;height:180px;object-fit:contain;background:#f1f5f9}.upload-preview-card div{padding:10px}.upload-preview-card strong,.upload-preview-card span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-preview-card span{font-size:12px;color:var(--muted);margin-top:4px}.upload-progress{margin:18px 0}.upload-progress-bar{height:14px;overflow:hidden;border-radius:999px;background:#e2e8f0;margin-bottom:8px}.upload-progress-bar span{display:block;width:0;height:100%;background:var(--accent);transition:width .15s ease}button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:760px){.upload-preview-grid{grid-template-columns:1fr}}

.public-body{margin:0;background:#eef2f6;color:#17202a;font-family:Inter,Arial,sans-serif}.public-header{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px clamp(18px,4vw,52px);background:#111827;color:#fff}.public-brand{font-weight:900;letter-spacing:.12em}.public-subtitle{font-size:13px;opacity:.75;margin-top:4px}.public-job-number{font-weight:800}.public-shell{width:min(1180px,calc(100% - 28px));margin:30px auto 60px}.public-intro{text-align:center;margin-bottom:26px}.public-intro h1{margin:8px 0}.public-proof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:24px}.public-proof-card{margin:0;background:#fff;border-radius:15px;border:1px solid #dce3ea;overflow:hidden;box-shadow:0 8px 24px rgba(15,23,42,.06)}.public-proof-card img{display:block;width:100%;height:auto;max-height:760px;object-fit:contain;background:#f8fafc}.public-proof-card figcaption{padding:12px;font-size:13px;color:#475569}.approval-panel,.change-panel{margin-top:22px}.public-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.approval-checklist{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.approval-checklist label,.final-confirm{display:flex;align-items:flex-start;gap:10px;border:1px solid #dbe3ec;border-radius:10px;padding:13px;background:#f8fafc}.approval-checklist input,.final-confirm input{width:auto;margin-top:2px}.final-confirm{margin:16px 0 22px;background:#fff7ed;border-color:#fed7aa}.public-result{text-align:center;max-width:680px;margin:90px auto;padding:50px 30px}.public-result .public-brand{color:#b91c1c}.copy-row{display:flex;gap:10px;align-items:center}.copy-row input{flex:1}.approval-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.approval-actions form{margin:0}.secondary-button{background:#475569!important}.details-list.compact{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:20px}.history-item{border-left:4px solid #94a3b8;padding:13px 16px;background:#f8fafc;margin-top:12px;border-radius:0 10px 10px 0}.history-item strong,.history-item span{display:block}.history-item span,.timeline-item span{font-size:12px;color:#64748b;margin-top:3px}.history-item p{margin:10px 0 0}.history-change{border-color:#f59e0b}.history-approved{border-color:#22c55e}.timeline{border-left:2px solid #d8e0e8;margin-left:8px;padding-left:22px}.timeline-item{position:relative;padding:0 0 20px}.timeline-item:before{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:#64748b;left:-28px;top:4px}.timeline-item strong,.timeline-item span{display:block}.timeline-item p{margin:6px 0 0;color:#475569}
.status-proof_uploaded{background:#e0f2fe;color:#075985}.status-sent{background:#ede9fe;color:#5b21b6}.status-viewed{background:#fef3c7;color:#92400e}
@media(max-width:800px){.public-proof-grid,.public-contact-grid,.approval-checklist{grid-template-columns:1fr}.details-list.compact{grid-template-columns:1fr 1fr}.copy-row{align-items:stretch;flex-direction:column}.public-header{align-items:flex-start;flex-direction:column}.public-job-number{font-size:13px}}

.danger-zone{border:1px solid #fecaca;background:#fffafa}.danger-zone .eyebrow{color:#b91c1c}.danger-zone h3{color:#7f1d1d}.delete-job-form{max-width:720px}.delete-files-option{display:flex;align-items:flex-start;gap:10px;border:1px solid #fecaca;background:#fff;padding:13px;border-radius:10px;margin:16px 0}.delete-files-option input{width:auto;margin-top:2px}.danger-button{background:#b91c1c!important}.danger-button:hover{background:#991b1b!important}
