:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#172b42;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}.shell{display:flex;min-height:100vh}.sidebar{width:255px;background:#10233b;color:#fff;display:flex;flex-direction:column;padding:26px 18px;flex-shrink:0}.brand{display:flex;gap:12px;align-items:center;margin-bottom:42px}.mark{background:#f0a23a;color:#10233b;font-weight:900;border-radius:10px;padding:13px 9px;letter-spacing:-1px}.brand strong{display:block;font-size:15px}.brand small{display:block;color:#a9b8ca;font-size:11px;margin-top:5px}.nav{width:100%;border:0;text-align:left;background:transparent;color:#b9c8d8;padding:15px;border-radius:10px;font-size:14px;cursor:pointer;margin-bottom:5px}.nav:hover,.nav.active{background:#243d5b;color:white}.sidefoot{margin-top:auto;color:#93a5b9;font-size:11px;line-height:1.5}main{width:100%;max-width:1320px;margin:0 auto;padding:42px 54px}header{display:flex;align-items:center;justify-content:space-between;gap:16px}h1{font-size:33px;letter-spacing:-1px;margin:7px 0}h2{font-size:23px;letter-spacing:-.5px;margin:7px 0}p{color:#64758a;margin:6px 0;line-height:1.5}.eyebrow{font-size:11px;color:#69809a;letter-spacing:1.6px;font-weight:800}.pill{border-radius:30px;background:#fff1d7;color:#87570a;font-weight:800;padding:10px 15px;font-size:11px;white-space:nowrap}.notice{background:#fff9e9;border:1px solid #f0ddac;color:#795a23;padding:14px 18px;border-radius:12px;font-size:13px;margin:25px 0}.panel{background:white;border:1px solid #e4eaf1;border-radius:15px;padding:25px;margin:24px 0;box-shadow:0 5px 18px #18365507}label{display:block;font-size:14px;font-weight:750;margin-bottom:13px}.searchline{display:flex;gap:10px}input{width:100%;padding:15px 17px;border:1px solid #d6e0eb;border-radius:9px;font-size:16px;outline-color:#3065a1}button#searchBtn{border:0;background:#153c66;color:white;font-weight:750;padding:0 23px;border-radius:9px;white-space:nowrap;cursor:pointer}.hint{font-size:12px;color:#8190a1;margin-top:11px}.sectionhead{display:flex;justify-content:space-between;align-items:center;margin:32px 0 17px;gap:12px}.tag{font-size:10px;letter-spacing:.5px;color:#60718a;background:#edf1f6;border-radius:20px;padding:8px 11px;font-weight:800;white-space:nowrap}.tag.green{color:#19704b;background:#ddf5e9}.prices{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pricecard{background:white;border:1px solid #e2e9f1;border-radius:15px;padding:23px;box-shadow:0 5px 18px #18365507}.pricecard.best{border:2px solid #62bd94}.cardtop{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:800;font-size:14px}.amount{font-size:34px;letter-spacing:-1.2px;font-weight:850;margin:25px 0 6px}.amount small{font-size:14px;color:#718196;font-weight:500;letter-spacing:0}.pricecard p{font-size:13px}.detail{margin-top:20px;font-size:13px;color:#3e536a}.reference{font-size:11px;color:#8190a1;margin-top:11px}.savings{margin-top:20px;background:#eaf6ef;border:1px solid #d0e8d9;border-radius:14px;padding:24px}.savings strong{display:block;font-size:35px;color:#147249;margin:8px 0}.savings strong small{font-size:14px;font-weight:500}.savings p{font-size:12px;color:#4e7761}.hidden{display:none}.supplier{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid #edf0f5;font-weight:650}.supplier span{color:#77869a;font-weight:400}footer{color:#98a5b3;font-size:11px;margin-top:45px}@media(max-width:850px){.shell{display:block}.sidebar{width:100%;padding:15px}.brand{margin-bottom:12px}.sidebar nav{display:flex;overflow-x:auto}.nav{white-space:nowrap;width:auto;padding:12px}.sidefoot{display:none}main{padding:25px 17px}.prices{grid-template-columns:1fr}header{align-items:flex-start}h1{font-size:27px}.pill{font-size:9px}.searchline{flex-direction:column}button#searchBtn{padding:15px}.sectionhead{align-items:flex-start}.cardtop{flex-wrap:wrap}}

/* Document Reader local queue and sidebar sign-out */
.sidebar-logout{margin-top:18px;padding:12px 15px;text-align:left;border:1px solid #49617c;border-radius:10px;background:transparent;color:#fff;cursor:pointer;font-weight:700}
.sidebar-logout:hover{background:#243d5b}
.document-upload{margin-top:22px;padding:22px;border:2px dashed #cbd8e7;border-radius:12px;background:#f8fafd}
.document-upload input[type=file]{background:white;padding:12px;font-size:14px}
.document-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px}
.document-toolbar h3{margin:0;font-size:16px}
.document-toolbar button,.document-item button{border:1px solid #d5e0ea;background:white;border-radius:8px;padding:9px 12px;cursor:pointer;color:#23405d}
.document-queue{display:grid;gap:10px;margin-top:14px}
.document-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px;border:1px solid #e1e8ef;border-radius:10px;background:#fff;overflow-wrap:anywhere}
.document-item strong{font-size:14px}
.document-item p{font-size:12px}
.document-warning{margin-top:22px;font-size:12px;color:#886125;background:#fff8e9;padding:12px;border-radius:8px}
@media(max-width:850px){.sidebar-logout{margin-top:8px}.document-item{align-items:flex-start}.document-toolbar{flex-wrap:wrap}}

/* Invoice review worksheet v0.2 */
.document-actions{display:flex;gap:8px;flex-wrap:wrap}
.invoice-review{margin-top:26px;border-top:1px solid #dce4ef;padding-top:20px}
.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}
.review-grid select,.invoice-line select{width:100%;padding:15px 12px;border:1px solid #d6e0eb;border-radius:9px;background:#fff;font-size:14px}
.invoice-review h4{margin:24px 0 4px;font-size:16px}
.invoice-line{display:grid;grid-template-columns:minmax(180px,2fr) 85px 120px minmax(150px,1fr);gap:12px;align-items:end;padding:18px 0;border-bottom:1px solid #e6ecf3}
.invoice-line label{font-size:12px;margin-bottom:7px}
.invoice-line input{padding:12px;font-size:14px}
.line-ro-area{grid-column:1/-1;max-width:380px}
.inline-check{display:flex;gap:8px;align-items:center;margin-top:10px;font-weight:400}
.inline-check input{width:auto}
.secondary-action{border:1px solid #cbd8e7;background:#fff;color:#23405d;padding:11px 14px;border-radius:9px;cursor:pointer;font-weight:650}
.review-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:22px}
@media(max-width:850px){.review-grid{grid-template-columns:1fr}.invoice-line{grid-template-columns:1fr 1fr}.invoice-line>div:first-child,.invoice-line>div:nth-child(4){grid-column:1/-1}}

/* Private invoice upload controls v0.3 */
.upload-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 0 18px}
.primary-action{border:0;background:#153c66;color:white;font-weight:750;padding:13px 18px;border-radius:9px;cursor:pointer}
.primary-action:disabled,.document-item button:disabled{opacity:.55;cursor:not-allowed}
.upload-controls .hint{margin:0;flex:1;min-width:220px}

/* v0.4 private cloud library */
.stored-library{margin-top:30px;padding-top:22px;border-top:1px solid #dce4ef}
.stored-library .document-toolbar{margin-top:0;margin-bottom:14px}
.stored-library label{margin-top:16px;margin-bottom:7px}
.stored-library input[type=search]{max-width:560px}
.stored-library .document-item{gap:16px}
.stored-library .document-item .document-actions{flex-shrink:0}
.stored-library .document-item p{overflow-wrap:anywhere}
@media(max-width:850px){.stored-library .document-item{flex-direction:column;align-items:stretch}}

/* v0.5 Azure OCR read-only test */
.azure-read-btn{font-weight:750!important;border-color:#b4c9e2!important;background:#eef5ff!important}
.azure-ocr-panel{margin-top:24px;border:1px solid #b9cee4;background:#f9fbff;border-radius:12px;padding:20px}
.azure-ocr-panel h3{margin:0 0 10px;font-size:20px}.azure-ocr-panel h4{margin:18px 0 10px}
.ocr-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.ocr-summary>div{background:white;border:1px solid #e1e8f1;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:5px;overflow-wrap:anywhere}
.ocr-summary strong{font-size:11px;color:#52677d}.ocr-summary span{font-size:14px}
.ocr-document{border-top:1px solid #d8e2ed;margin-top:18px;padding-top:10px}
.ocr-table-wrap{overflow-x:auto}.ocr-table{width:100%;border-collapse:collapse;font-size:12px;background:white}
.ocr-table th,.ocr-table td{border:1px solid #dfe6ef;text-align:left;padding:9px;vertical-align:top}
.ocr-table th{background:#edf3fa}.ocr-suspect{background:#fff3e3}.ocr-error{color:#a12e26}

.price-window-control {display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0;}
.price-window-control select {padding:9px 12px;border:1px solid #ccd5e1;border-radius:8px;background:white;}

/* v0.6 editable invoice review */
.ocr-review-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.75fr);gap:18px;align-items:start}
.ocr-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
.review-field{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;min-width:0}
.review-field input{width:100%;box-sizing:border-box;padding:9px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px}
.ocr-edit-row{display:grid;grid-template-columns:1fr 1.7fr .6fr .8fr .8fr auto;gap:7px;align-items:end;padding:10px 0;border-bottom:1px solid #dce3ec}
.ocr-original{border:1px solid #dce3ec;border-radius:8px;padding:12px;position:sticky;top:12px}
.ocr-original summary{cursor:pointer;font-weight:700}
.ocr-pdf{width:100%;height:650px;border:0;margin-top:12px}
@media(max-width:1000px){.ocr-review-layout{grid-template-columns:1fr}.ocr-edit-row{grid-template-columns:repeat(2,minmax(0,1fr))}.ocr-original{position:static}}

.review-error{color:#a12020!important;font-weight:700;background:#fff0ee;padding:10px;border-radius:6px;}

/* v0.7 read-only posting preview */
.posting-preview{margin-top:16px;padding:14px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;}
.posting-preview:empty{display:none;}
.posting-preview-line{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 0;border-bottom:1px solid #e2e8f0;}
.posting-preview-line p{margin:4px 0;}
.posting-preview-line span{max-width:180px;text-align:right;font-size:12px;font-weight:700;}

/* v0.9 preview-only purchasing decisions */
.approval-choice { min-width: 205px; max-width: 265px; display:flex; flex-direction:column; gap:6px; }
.approval-choice select, .approval-choice textarea { width:100%; box-sizing:border-box; border:1px solid #cad6e6; border-radius:6px; padding:8px; background:white; color:#102c4b; font:inherit; }
.approval-choice textarea { resize:vertical; }
.approval-choice p { margin:2px 0; font-size:12px; }
@media(max-width:760px){.approval-choice{max-width:none;width:100%;}}

/* v0.11 purchasing simulation */
.simulation-box{margin-top:22px;padding:18px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc}.simulation-box h4{margin:0 0 12px}.simulation-results p{padding:7px 0;border-bottom:1px solid #e2e8f0}

.supplier-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:15px 0}.supplier-fields label{margin:0}.supplier-fields input,.supplier-fields textarea{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid #d6e0eb;border-radius:8px;font:inherit}.supplier-fields label:has(textarea){grid-column:1/-1}
