:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172c3c;background:#f5f7fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:#216eac;text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible{outline:3px solid #93b5ef;outline-offset:3px}header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 36px;border-bottom:1px solid #e2e8ef;background:white;gap:18px}.brand{display:flex;align-items:center;gap:13px}.brand-mark{height:44px;width:44px;border-radius:13px;background:#183e50;color:white;display:grid;place-items:center;font-size:19px;font-weight:750;letter-spacing:-1px}.brand strong{display:block;font-size:17px}.brand span{display:block;font-size:12px;color:#748491;margin-top:5px}.header-actions{display:flex;align-items:center;gap:10px}.user{color:#687b89;font-size:13px;margin-right:12px}.button,.text-button{background:white;border:1px solid #d9e2e9;padding:10px 13px;border-radius:8px;font-size:12px;font-weight:600;color:#294c60;display:inline-block;white-space:nowrap}.button:hover{background:#f2f6f9;text-decoration:none}.text-button{border-color:transparent;color:#70818e}.header-actions form{margin:0}main{padding:32px 36px 20px;max-width:1900px;margin:auto}.page-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.eyebrow{color:#718791;font-size:10px;letter-spacing:1.7px;font-weight:750;margin:0 0 10px}h1{font-size:29px;letter-spacing:-.8px;margin:0 0 10px;font-weight:700}.muted{color:#758491;font-size:13px;line-height:1.6;margin:0}.progress{text-align:right;min-width:180px}.progress strong{display:block;font-size:24px;font-variant-numeric:tabular-nums;font-weight:600;color:#285d50}.progress span{display:block;font-size:11px;color:#758491;margin-top:5px}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:0 0 24px}.stat{background:white;border:1px solid #e1e7ed;border-radius:12px;padding:17px 20px;text-align:left;display:flex;flex-direction:column;gap:10px}.stat strong{font-size:28px;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-1px}.stat span{font-size:12px;color:#647985}.stat.active{border-color:#366478;box-shadow:0 0 0 1px #366478}.stat.problem strong{color:#b44c45}.stat.unconfirmed strong{color:#a7781c}.stat.possible strong,.stat.confirmed strong{color:#33795b}.toolbar{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid #e1e7ed;padding:14px;border-radius:11px}.toolbar label.search-label{flex:1;min-width:250px}.toolbar input,.toolbar select{width:100%;padding:11px 12px;border:1px solid #dce3e9;border-radius:7px;background:white;font-size:12px;color:#304b5e;min-height:40px}.toolbar input{background:#f8fafc}.toolbar input:focus,textarea:focus,select:focus{outline:2px solid #9bbcca;border-color:#4e839c}.table-caption{display:flex;justify-content:space-between;margin:18px 2px 12px;font-size:11px;color:#7a8b97;gap:20px}.table-caption #count{font-weight:650;color:#4b6674}.table-wrap{border:1px solid #dfe6ec;border-radius:10px;overflow:auto;background:white;max-height:calc(100vh - 380px);min-height:240px}table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px;line-height:1.5}thead th{position:sticky;top:0;background:#edf2f5;z-index:2;border-bottom:1px solid #dbe5eb;padding:14px 13px;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.55px;color:#637b8a;font-weight:700}td{border-bottom:1px solid #e5ebee;vertical-align:top;padding:17px 13px}tbody tr:last-child td{border-bottom:0}tbody tr.problem{background:#fff0ee}tbody tr.unconfirmed,tbody tr.deferred{background:#fff9e5}tbody tr.possible,tbody tr.confirmed{background:#edf7f1}tbody tr.other{background:#fafbfd}td.row-col{color:#6d8391;font-weight:700;font-variant-numeric:tabular-nums;border-left:3px solid transparent;min-width:55px}.problem td.row-col{border-left-color:#db8178}.unconfirmed td.row-col,.deferred td.row-col{border-left-color:#d8b455}.possible td.row-col,.confirmed td.row-col{border-left-color:#80b998}.date-col{min-width:158px;font-weight:600;white-space:nowrap}.log{font-size:10px;color:#708693;display:block;margin-top:10px;font-weight:400;white-space:normal}.invoice-col{min-width:210px}.invoice-col a{display:block;font-weight:650;font-size:12px;white-space:nowrap}.invoice-col .sup{font-size:11px;margin-top:12px;font-weight:450;color:#4b7085}.invoice-col .sub-label{display:block;font-size:9px;color:#7e8c97;margin-top:10px}.quantity{font-weight:650;font-size:15px;min-width:70px;font-variant-numeric:tabular-nums}.quantity span{display:block;font-size:10px;font-weight:400;color:#7b8c98;margin-top:5px}.badge{display:inline-block;padding:5px 8px;border-radius:6px;font-weight:600;font-size:10px;line-height:1.4;white-space:nowrap;background:#e5edf2;color:#607686}.problem .badge{background:#f9dcd7;color:#a44940}.unconfirmed .badge,.deferred .badge{background:#f8edbe;color:#926c21}.possible .badge,.confirmed .badge{background:#dbeee1;color:#397853}.status-cell{min-width:155px}.status-cell .hint{display:block;font-size:10px;color:#7d8e95;margin-top:9px;max-width:170px}.comment-col{min-width:310px;width:32%}.comment-cell{min-width:310px}textarea{display:block;width:100%;resize:vertical;min-height:60px;max-height:300px;border:1px solid #cfddd9;border-radius:7px;background:#ffffffd9;color:#254555;padding:9px 10px;font-size:12px;line-height:1.5}.edit-bar{display:flex;align-items:center;gap:7px;margin-top:8px}.edit-bar select{background:#ffffffb5;border:1px solid #cddbd6;border-radius:5px;font-size:10px;padding:6px;color:#52705f;max-width:170px}.save{border:0;background:transparent;color:#416e84;font-size:10px;padding:5px}.saved{font-size:9px;color:#72867c;margin:6px 0 0;min-height:14px}.saved.error,.error{color:#b8493d}.details-button{background:#ffffff91;border:1px solid #cadad7;border-radius:7px;padding:8px 10px;font-size:11px;color:#426b72;white-space:nowrap}.empty{padding:60px;text-align:center;color:#738997}footer{font-size:11px;color:#87959d;margin:18px 2px}dialog{width:780px;max-width:calc(100vw - 24px);border:none;border-radius:15px;box-shadow:0 20px 100px #122f4255;padding:26px;color:#244354;max-height:90vh}dialog::backdrop{background:#102b4055;backdrop-filter:blur(2px)}.dialog-head{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid #e0e8ee;padding-bottom:15px;margin-bottom:20px}h2{font-size:21px;letter-spacing:-.5px;margin:0}h3{font-size:13px;margin:22px 0 10px}.detail-text{white-space:pre-wrap;font-size:13px;line-height:1.65;color:#516b79;background:#f4f7fa;border-radius:8px;padding:15px;margin:0}.detail-links{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.detail-items th{position:static}.detail-items td{font-size:11px;padding:10px}.detail-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;margin:16px 0}.history-entry{border-left:2px solid #b7cdd6;padding:10px 14px;margin-top:10px;background:#f8fafb;font-size:12px;white-space:pre-wrap}.small{font-size:11px}.history-entry small{display:block;color:#81919b;margin-bottom:6px}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 20% 10%,#dfedf0,transparent 55%),#f4f7fa}.login-card{margin:25px;padding:40px;background:white;border:1px solid #e1e8ed;border-radius:18px;box-shadow:0 14px 60px #163e4b0a;max-width:430px}.login-card .brand-mark{margin-bottom:28px}.login-card h1{font-size:27px}.login-card form{margin:26px 0}.login-card label{display:block;font-size:12px;font-weight:600;margin:18px 0 0}.login-card input{margin-top:8px;width:100%;padding:12px;border:1px solid #d1dce5;border-radius:7px}.primary{width:100%;margin-top:25px;padding:13px;background:#204d61;color:white;border:0;border-radius:8px;font-size:13px;font-weight:600}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#204657;color:white;padding:14px 20px;border-radius:8px;z-index:10;max-width:85vw;font-size:13px;box-shadow:0 8px 28px #16323f30}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@media(max-width:900px){header{height:auto;padding:18px;align-items:start}.header-actions{flex-wrap:wrap;justify-content:flex-end}.user{display:none}.header-actions .button{font-size:10px;padding:8px}.brand span{display:none}main{padding:24px 16px}h1{font-size:24px}.stats{gap:7px}.stat{padding:13px 12px}.stat strong{font-size:24px}.stat span{font-size:10px}.toolbar{flex-wrap:wrap}.toolbar label.search-label{flex-basis:100%}.toolbar label:not(.search-label){flex:1}.toolbar select{font-size:11px}.progress{min-width:100px}.progress strong{font-size:19px}.progress span{font-size:10px}.table-caption{display:block;line-height:1.7}.table-caption span{display:block}.table-wrap{max-height:65vh}.page-title{align-items:start}.stats{grid-template-columns:repeat(5,minmax(0,1fr))}.stat{word-break:normal}dialog{padding:20px}}@media(max-width:520px){.header-actions .button{display:none}.brand strong{font-size:15px}.page-title{display:block}.progress{text-align:left;margin-top:15px}.stats{grid-template-columns:repeat(3,1fr)}h1{font-size:22px}.toolbar select{max-width:230px}.table-wrap{max-height:66vh}}

.document-page{background:#e8edf2}.document-main{max-width:1040px;padding:20px 24px}.document-page header{position:sticky;top:0;z-index:3}.pdf-sheet p{font-size:11px;color:#718492;margin:0 0 12px}.pdf-sheet img{width:100%;height:auto;display:block;background:white;box-shadow:0 4px 20px #243e5414}.pdf-sheet{margin-bottom:25px}@media(max-width:650px){.document-page header{align-items:center;flex-wrap:wrap;padding:12px}.document-page .brand strong{font-size:12px}.document-page .header-actions .button{display:inline-block}.document-main{padding:14px 8px}}
