*{box-sizing:border-box}body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;background:#f7f7f5;color:#171717}button,input,select,textarea{font-family:inherit}aside{position:fixed;left:0;top:0;bottom:0;width:230px;background:#0a0a0a;color:#fff;padding:22px 16px;overflow:auto;transition:transform .18s ease}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 24px}.mark{font-size:32px;font-weight:900;color:#f5c518}.brand span{font-size:24px;font-weight:900;color:#f5c518}.brand small{display:block;color:#fff;font-weight:800;font-size:11px;letter-spacing:1.4px}nav a{display:block;color:#ddd;text-decoration:none;padding:11px 12px;border-radius:7px;margin:2px 0;font-size:14px}aside nav a:hover{background:#1d1d1d;color:#f5c518}.foot{position:absolute;bottom:20px;color:#f5c518;font-weight:800}.foot small{color:#999;font-weight:400}main{margin-left:230px;padding:28px;max-width:1650px;transition:margin-left .18s ease}.top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}h1{margin:0 0 5px;font-size:28px}h2{margin:0 0 14px;font-size:18px}p{color:#6b7280;margin:0}.bodycopy{line-height:1.6;margin-bottom:14px}.actions{display:flex;flex-wrap:wrap;gap:9px}.btn{display:inline-block;background:#f5c518;color:#111;border:1px solid #f5c518;border-radius:6px;padding:10px 15px;font-weight:800;text-decoration:none;cursor:pointer}.btn.ghost{background:white;border-color:#d1d5db}.btn.icon-only{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;vertical-align:middle}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.cards.five{grid-template-columns:repeat(5,1fr)}.cards.six{grid-template-columns:repeat(6,1fr)}.card{background:white;border:1px solid #e5e7eb;border-radius:8px;padding:16px;min-width:0;box-shadow:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04)}.card span{display:block;color:#6b7280;font-size:13px;margin-bottom:7px}.card strong{font-size:26px;overflow-wrap:anywhere}.card strong.small{font-size:17px}
.card.metric{display:flex;flex-direction:column;gap:8px;overflow:hidden}.card.metric .metric-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.card.metric .metric-top>div{min-width:0}.card.metric span{margin:0}.card.metric strong{display:block;font-size:24px;font-weight:800;color:#0a0a0a;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}.card.metric strong.small{font-size:16px;line-height:1.25}.card.metric .metric-icon{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#f1f3f5;color:#374151}.card.metric .metric-icon.yellow{background:#f5c518;color:#0a0a0a}.card.metric .metric-icon.red{background:#fee2e2;color:#b91c1c}.card.metric .metric-icon.green{background:#dcfce7;color:#15803d}.card.metric .metric-detail{font-size:12px;color:#6b7280;margin:0}
.icon-badge{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#f1f3f5;color:#374151}.icon-badge.yellow{background:#f5c518;color:#0a0a0a}.icon-badge.red{background:#fee2e2;color:#b91c1c}.icon-badge.green{background:#dcfce7;color:#15803d}.icon-badge.blue{background:#dbeafe;color:#1d4ed8}
.cards.six .card.metric strong.small{font-size:15px}
@media(max-width:1380px){.cards.six{grid-template-columns:repeat(3,1fr)}.cards.six .card.metric{padding:12px}.cards.six .card.metric strong{font-size:20px}.cards.six .card.metric strong.small{font-size:14px}.cards.six .card.metric .metric-icon{width:28px;height:28px}}section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-top:18px;padding:18px;box-shadow:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04)}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.section-head h2{margin:0}.section-head a{color:#9a7100;font-weight:700}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid #eceff3;font-size:14px;vertical-align:top}th{font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.3px}td a{color:#111;font-weight:800}td small,.payrow small{display:block;color:#7b8490;margin-top:4px}.badge{background:#fdf3d6;color:#8a6d00;border:0;padding:4px 8px;border-radius:5px;font-size:11px;font-weight:800;white-space:nowrap}.badge.big{padding:8px 12px}
.badge.cat-0{background:#fdf3d6;color:#8a6d00}.badge.cat-1{background:#dbeafe;color:#1d4ed8}.badge.cat-2{background:#dcfce7;color:#15803d}.badge.cat-3{background:#fee2e2;color:#b91c1c}.badge.cat-4{background:#ede9fe;color:#6d28d9}.badge.cat-5{background:#ffedd5;color:#c2410c}.badge.cat-6{background:#fce7f3;color:#be185d}.badge.cat-7{background:#cffafe;color:#0e7490}.badge.cat-8{background:#e0e7ff;color:#4338ca}.badge.cat-9{background:#d1fae5;color:#047857}.badge.cat-10{background:#fef9c3;color:#854d0e}.badge.cat-gray{background:#f3f4f6;color:#374151}.ok{color:#17803d;font-weight:800}.form-card{max-width:1050px}.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px}.full{grid-column:1/-1}label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:13px}input,select,textarea{padding:10px 11px;border:1px solid #d1d5db;border-radius:6px;font:inherit;background:white;min-width:0}input:read-only{background:#f3f4f6;color:#6b7280;cursor:not-allowed}textarea{min-height:80px}.inline{display:flex;gap:6px}.inline input{width:90px}.inline button,.search button{background:#111;color:#fff;border:0;border-radius:5px;padding:8px 10px;cursor:pointer}.stack{display:grid;gap:12px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.payrow{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #eee}.muted{color:#888}.search{display:flex;max-width:650px;gap:8px}.search input{flex:1}.inline-form{display:grid;grid-template-columns:1fr 2fr 1fr 1fr 1fr auto;gap:8px;align-items:end}.inline-form.addline{grid-template-columns:2fr .6fr .8fr 1fr auto;margin-top:16px}.compact-form{padding:14px 18px}.compact-form h2{font-size:15px}.note{padding:13px;border:1px solid #f4c744;background:#fff8dc;border-radius:6px;line-height:1.5}dl{display:grid;grid-template-columns:110px 1fr;gap:10px;margin:0}dt{font-size:12px;color:#6b7280;font-weight:700}dd{margin:0}code{background:#f1f3f5;padding:2px 5px;border-radius:4px}@media(max-width:1100px){.cards,.cards.five,.cards.six{grid-template-columns:repeat(2,1fr)}.inline-form{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}}@media(max-width:800px){aside{position:static;width:auto}.foot{display:none}main{margin:0;padding:18px}.cards,.cards.five,.cards.six,.grid2{grid-template-columns:1fr}.top{align-items:flex-start;flex-direction:column}.full{grid-column:auto}.inline-form,.inline-form.addline{grid-template-columns:1fr}}
.budget-track{background:#eceff3;border-radius:8px;height:16px;overflow:hidden;margin:10px 0}.budget-fill{height:100%;background:#17803d;border-radius:8px 0 0 8px}.budget-fill.warn{background:#e8a317}.budget-fill.over{background:#d64545}.budget-row{display:flex;justify-content:space-between;font-size:13px;color:#6b7280;margin-bottom:2px}.budget-edit{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin-bottom:14px}.budget-edit input{width:180px}.budget-edit label{font-size:11px;text-transform:uppercase;letter-spacing:.3px;color:#6b7280}.cat-bar-wrap{background:#eceff3;border-radius:5px;height:8px;overflow:hidden;width:120px}.cat-bar{height:100%;background:#171717}.danger{color:#d64545}
.budget-strip{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px 18px;margin:16px 0}.budget-strip .budget-row{font-size:13px}.budget-strip .budget-row span:last-child{color:#171717;font-size:13px}.budget-strip .budget-row span.danger{color:#d64545}
.mobile-menu-btn{display:none;position:fixed;top:14px;left:16px;z-index:150;width:40px;height:40px;align-items:center;justify-content:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#171717;cursor:pointer;box-shadow:0 1px 3px #0001}.mobile-menu-btn:hover{background:#f7f7f5}
.mobile-close-btn{display:none;margin-left:auto;background:none;border:0;color:#fff;cursor:pointer;padding:6px;border-radius:6px}.mobile-close-btn:hover{background:rgba(255,255,255,.1)}
#sidebar-collapse-toggle{position:fixed;top:70px;left:216px;z-index:200;display:none;width:28px;height:28px;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(255,255,255,.15);background:#1d1d1d;color:rgba(255,255,255,.7);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);cursor:pointer;transition:left .18s ease}
html.sidebar-collapsed #sidebar-collapse-toggle{left:50px}
#sidebar-collapse-toggle:hover{border-color:#f5c518;color:#f5c518}
#sidebar-collapse-toggle .icon-expand{display:none}
html.sidebar-collapsed #sidebar-collapse-toggle .icon-collapse{display:none}
html.sidebar-collapsed #sidebar-collapse-toggle .icon-expand{display:inline-flex}
.user-avatar{display:none;width:32px;height:32px;border-radius:8px;background:rgba(255,255,255,.1);color:#f5c518;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0}
aside nav a.active{background:rgba(255,255,255,.08);color:#fff}
aside nav a.active .icon{color:#f5c518}
#sidebar-backdrop{display:none}
@media(min-width:801px){
  #sidebar-collapse-toggle{display:inline-flex}
  html.sidebar-collapsed aside{width:64px}
  html.sidebar-collapsed main{margin-left:64px}
  html.sidebar-collapsed .po-action-bar{left:64px}
  html.sidebar-collapsed .brand{justify-content:center;padding:4px 0 24px}
  html.sidebar-collapsed .brand img{width:40px}
  html.sidebar-collapsed nav a{justify-content:center;padding:11px 0}
  html.sidebar-collapsed nav a span,html.sidebar-collapsed .nav-group-label,html.sidebar-collapsed .user-name,html.sidebar-collapsed .logout-btn .btn-label{display:none}
  html.sidebar-collapsed .user-chip{flex-direction:column;align-items:center;gap:8px;background:none;padding:0}
  html.sidebar-collapsed .user-avatar{display:inline-flex}
}
@media(max-width:800px){
.mobile-menu-btn{display:flex!important}
.mobile-close-btn{display:flex!important}
#sidebar-collapse-toggle{display:none!important}
aside{position:fixed;top:0;left:0;bottom:0;width:230px;transform:translateX(-100%)!important;z-index:250;box-shadow:0 0 0 transparent}
html.sidebar-mobile-open aside{transform:translateX(0)!important;box-shadow:8px 0 24px #0004}
html.sidebar-mobile-open #sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(17,17,17,.5);z-index:240}
html.sidebar-mobile-open{overflow:hidden}
.foot{display:block;position:static;margin-top:16px}
main{padding-top:64px}
body{overflow-x:hidden}
.actions{flex-wrap:wrap}
}
td.icon-actions{white-space:nowrap;flex-wrap:nowrap;gap:0}.icon-actions a,.icon-actions button.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;color:#6b7280;margin-right:2px;border:0;background:none;cursor:pointer;vertical-align:middle;flex:0 0 auto}.icon-actions a:hover,.icon-actions button.icon-btn:hover{background:#f1f3f5;color:#171717}
.row-menu{position:relative;display:inline-flex}.row-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;border:0;background:none;color:#6b7280;cursor:pointer}.row-menu-btn:hover,.row-menu-btn.active{background:#f1f3f5;color:#171717}.row-menu-panel{position:fixed;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.15);min-width:160px;z-index:300;padding:6px;display:none;flex-direction:column;gap:2px}.row-menu-panel.show{display:flex}.row-menu-panel button,.row-menu-panel a{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;border:0;background:none;text-align:left;width:100%;cursor:pointer;font-size:13px;font-weight:700;color:#171717;text-decoration:none;font-family:inherit}.row-menu-panel button:hover,.row-menu-panel a:hover{background:#f1f3f5}.row-menu-panel .link-danger{color:#d64545}.row-menu-panel form{margin:0}
.modal-overlay{position:fixed;inset:0;background:rgba(17,17,17,.55);display:flex;align-items:center;justify-content:center;z-index:200}.modal-overlay[hidden]{display:none}.modal-box{background:#fff;border-radius:10px;width:min(950px,92vw);height:min(90vh,1150px);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0004}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e5e7eb}.modal-head h3{margin:0;font-size:15px}.modal-head button{background:none;border:0;cursor:pointer;color:#6b7280;padding:4px;border-radius:6px}.modal-head button:hover{background:#f1f3f5;color:#171717}.modal-box iframe{flex:1;border:0;width:100%}
.budget-edit-toggle{margin-top:6px}.budget-edit-toggle summary{font-size:11px;font-weight:700;color:#9a7100;list-style:none;display:inline-flex;align-items:center;gap:4px}.budget-edit-toggle summary::-webkit-details-marker{display:none}.budget-inline-form{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.budget-inline-form input{width:130px;padding:7px 8px;font-size:12px}.budget-inline-form .btn.ghost{padding:7px 10px;font-size:12px}
.cost-alloc-row{padding:12px 0;border-bottom:1px solid #eceff3}.cost-alloc-row:last-child{border-bottom:0}.cost-alloc-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px}.cost-alloc-head a{font-weight:800;color:#111}.cost-alloc-figures{display:flex;gap:24px;flex-wrap:wrap}.cost-alloc-figures span{display:block;font-size:11px;color:#6b7280;margin-bottom:3px}.cost-alloc-figures strong{font-size:15px}
.badge.status-draft{background:#eef0f2;border-color:#c9ced6;color:#4b5563}.badge.status-issued{background:#dbeafe;border-color:#60a5fa;color:#1d4ed8}.badge.status-partial{background:#ffe8cc;border-color:#f5a742;color:#8a4b00}.badge.status-received{background:#dcf5e3;border-color:#4fbf6b;color:#146c2e}.badge.status-closed{background:#e6e8eb;border-color:#aeb4bd;color:#3a3f47}.badge.status-cancelled{background:#fbdada;border-color:#e37a7a;color:#9c1c1c}
.status-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.status-actions form{margin:0}.status-hint{font-size:12px;color:#6b7280;max-width:230px;text-align:right}
.brand img{display:block;width:160px;height:auto;object-fit:contain}.filterbar{display:flex;flex-wrap:wrap;gap:7px;align-items:end;align-content:flex-start}.filterbar>input,.filterbar>select{flex:1 1 130px;min-width:110px}.filterbar>input[name="q"]{flex:2 1 180px}.filterbar .filter-date{flex:0 1 125px;align-self:flex-end}.filterbar .filter-date input{flex:none;height:auto}.filterbar>button,.filterbar>a.btn{flex:0 0 auto}.filterbar>.date-range{display:flex;gap:7px;flex:0 0 auto}
.filterbar input,.filterbar select{padding:7px 9px;font-size:13px}
.filterbar .filter-date{gap:4px;font-size:12px}
.filterbar>button,.filterbar>a.btn{padding:7px 12px;font-size:13px}
.icon-inline-btn{vertical-align:middle;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;color:#9a9a9a;cursor:pointer;padding:4px;border-radius:6px;margin-left:2px}.icon-inline-btn:hover{background:#f1f3f5;color:#9a7100}
.th-sort{display:inline-flex;align-items:center;gap:3px;color:inherit;text-decoration:none;cursor:pointer}.th-sort:hover{color:#9a7100}.th-sort svg{vertical-align:middle}
.po-sheet{position:relative;z-index:0}.watermark{position:absolute;inset:0;z-index:-1;display:flex;align-items:center;justify-content:center;overflow:hidden;pointer-events:none}.watermark .wm-text{display:flex;flex-direction:column;align-items:center;transform:rotate(-30deg);opacity:.04;font-size:150px;font-weight:900;text-transform:uppercase;letter-spacing:10px;line-height:.95;white-space:nowrap}.watermark .wm-text.status-draft{color:#4b5563}.watermark .wm-text.status-issued{color:#1d4ed8}.watermark .wm-text.status-partial{color:#8a4b00}.watermark .wm-text.status-received{color:#146c2e}.watermark .wm-text.status-closed{color:#3a3f47}.watermark .wm-text.status-cancelled{color:#9c1c1c}
@media print{.watermark .wm-text{opacity:.06}}
.filter-date{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:13px}
.tabs{display:flex;gap:4px;margin:20px 0 0;border-bottom:2px solid #e5e7eb;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.tabs::-webkit-scrollbar{display:none}
.tab-btn{display:inline-flex;align-items:center;gap:7px;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-2px;padding:11px 14px;font-weight:700;font-size:13px;color:#6b7280;cursor:pointer;white-space:nowrap}
.tab-btn:hover{color:#171717}
.tab-btn.active{color:#171717;border-bottom-color:#f5c518}
.tab-count{background:#f1f3f5;color:#6b7280;border-radius:20px;padding:1px 8px;font-size:11px;font-weight:800}
.tab-btn.active .tab-count{background:#fdf3d6;color:#8a6d00}
.tab-panel section:first-child{margin-top:18px}
.section-head{flex-wrap:wrap}
.add-project-toggle summary{color:#9a7100;font-weight:700;font-size:13px;list-style:none;display:inline-flex;align-items:center;gap:6px}
.add-project-toggle summary::-webkit-details-marker{display:none}
.add-project-toggle[open]{flex-basis:100%}
.add-project-toggle .mini-edit{width:100%;max-width:460px;margin-top:10px}
.filterbar.filterbar-sm{max-width:900px}.row-actions{white-space:nowrap}.row-actions a{margin-right:10px;font-size:12px}.btn.danger{background:#fff;border-color:#dc2626;color:#b91c1c}.actions form{margin:0}.actions button{height:100%}details summary{cursor:pointer;font-weight:800;font-size:12px}.mini-edit{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0;padding:10px;background:#f8f9fa;border:1px solid #e5e7eb;border-radius:6px}.mini-edit label:last-of-type{grid-column:1/-1}.mini-edit button{grid-column:1/-1;background:#111;color:#fff;border:0;border-radius:5px;padding:8px;font-weight:700}.link-danger{background:none;border:0;color:#b91c1c;padding:3px 0;cursor:pointer;font-weight:700}.link-plain{background:none;border:0;color:#111;padding:3px 0;cursor:pointer;font-weight:700;display:inline-flex;align-items:center;gap:5px}.print-body{background:#ececec;color:#111}.print-toolbar{max-width:900px;margin:18px auto 8px;display:flex;justify-content:flex-end;gap:8px}.print-toolbar button{padding:9px 14px;border:1px solid #bbb;background:#fff;border-radius:5px;cursor:pointer}.po-sheet{max-width:900px;margin:0 auto 40px;background:#fff;padding:42px 48px;box-shadow:0 3px 18px #0002}.po-header{display:grid;grid-template-columns:180px 1fr auto;gap:20px;align-items:center;border-bottom:3px solid #111;padding-bottom:16px}.po-header img{width:160px;height:auto}.company{display:flex;flex-direction:column;gap:4px}.company strong{font-size:16px}.company span{font-size:12px;color:#555}.po-title{text-align:right;display:flex;flex-direction:column;gap:4px}.po-title strong{font-size:23px}.po-title span{font-weight:800;color:#aa7900}.po-meta{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin:24px 0}.po-meta>div{display:grid;grid-template-columns:120px 1fr;gap:8px 12px;font-size:13px}.po-meta b{color:#555}.print-table th,.print-table td{border:1px solid #bbb;padding:10px}.print-table th{background:#f4f4f4;color:#111;font-size:11px}.po-total{margin-left:auto;width:320px;display:flex;justify-content:space-between;padding:15px 10px;border-bottom:3px double #111;font-size:18px}.print-notes{margin-top:25px;font-size:12px;line-height:1.8}.signatures{display:grid;grid-template-columns:1fr 1fr;gap:55px 70px;margin-top:70px}.signatures div{border-top:1px solid #111;text-align:center;padding-top:7px;font-size:11px;color:#555}
.sig-name{display:block;font-size:13px;color:#111;margin-bottom:2px}@media print{.print-toolbar{display:none}.print-body{background:#fff}.po-sheet{box-shadow:none;margin:0;max-width:none;padding:18mm 14mm}aside,main{display:none}}@media(max-width:700px){.filterbar input,.filterbar select,.filterbar .filter-date{flex-basis:100%}}
.po-line-form{display:grid;grid-template-columns:2.2fr .7fr .55fr .8fr;gap:10px;align-items:end;margin-top:16px}.glass-fields{display:contents}.po-line-form .wide{grid-column:1/-2}.quote-grid{display:grid;grid-template-columns:2.2fr .65fr .65fr .65fr .5fr .75fr;gap:8px;align-items:start;padding:9px 0;border-bottom:1px solid #eceff3}.quote-grid.head{font-size:11px;text-transform:uppercase;color:#6b7280;font-weight:800}.quote-grid small{display:block;color:#7b8490;margin-top:5px;line-height:1.35}.extract-box{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-top:18px;padding:16px}.extract-box pre{white-space:pre-wrap;max-height:420px;overflow:auto;background:#f8f9fa;padding:14px;border-radius:6px;font-size:12px}@media(max-width:1100px){.po-line-form,.quote-grid{grid-template-columns:1fr 1fr}.quote-grid.head{display:none}.po-line-form .wide{grid-column:1/-1}}@media(max-width:700px){.po-line-form,.quote-grid{grid-template-columns:1fr}}
.material-toolbar{padding:14px}.material-filter{display:grid;grid-template-columns:minmax(260px,2fr) 1fr 1fr 1fr auto;gap:8px}.bulkbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.sel-col{display:none}.selecting .sel-col{display:table-cell}.bulk-actions{display:none;gap:8px;align-items:center;flex-wrap:wrap}.selecting .bulk-actions{display:flex}.selecting .bulk-trigger{display:none}
@media(max-width:700px){.row-actions .btn-label{display:none}.row-actions summary,.row-actions button{padding:4px}}.table-scroll{overflow:auto;max-height:68vh}.po-create-card{padding:20px}.po-header-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.po-context{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.po-context>div{border:1px solid #e5e7eb;border-radius:7px;padding:12px}.po-context span{display:block;font-size:11px;color:#6b7280;text-transform:uppercase;margin-bottom:5px}.po-grid-table{overflow:visible}.po-grid-head,.po-entry-row{display:grid;grid-template-columns:minmax(220px,2.4fr) .9fr .5fr .45fr .5fr .7fr .8fr 30px;gap:6px;align-items:center}.po-grid-head{font-size:11px;text-transform:uppercase;color:#6b7280;font-weight:800;padding:8px 0;border-bottom:1px solid #ddd}.po-entry-row{padding:7px 0;border-bottom:1px solid #eee}.po-entry-row input{width:100%;padding:9px 8px}.material-cell{position:relative}.material-results{display:none;position:absolute;z-index:40;top:42px;left:0;right:0;background:#fff;border:1px solid #cfd4da;border-radius:7px;box-shadow:0 8px 24px #0002;max-height:280px;overflow:auto}.material-results.show{display:block}.material-results button{display:block;width:100%;text-align:left;padding:10px 12px;border:0;border-bottom:1px solid #eee;background:#fff;cursor:pointer}.material-results button:hover{background:#fff8dc}.material-results small{display:block;color:#6b7280;margin-top:3px}.material-meta{display:block;color:#7b8490;margin-top:4px}.cut-pair{display:grid;grid-template-columns:1fr auto 1fr;gap:3px;align-items:center}
.cut-pair input{padding:9px 4px;font-size:12px;text-align:center}
.cut-pair.hide{visibility:hidden}.remove-row{border:0;background:#fff;color:#b91c1c;font-size:22px;cursor:pointer}.po-summary{margin-left:auto;width:330px;margin-top:20px}.po-summary>div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #ddd}.po-summary .grand{font-size:20px;border-bottom:3px double #111}.unit-display,.line-total,.unit-cost[readonly]{background:#f8f9fa}.actions{display:flex;gap:8px;align-items:center}@media(max-width:1200px){.po-header-grid{grid-template-columns:1fr 1fr}.po-grid-head{display:none}.po-entry-row{grid-template-columns:1fr 1fr}.material-cell{grid-column:1/-1}.po-summary{width:100%}.material-filter{grid-template-columns:1fr 1fr}.material-filter input:first-child{grid-column:1/-1}}@media(max-width:700px){.po-header-grid,.po-context,.po-entry-row,.material-filter{grid-template-columns:1fr}.material-cell{grid-column:auto}}

.po-identity{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;margin-bottom:16px;align-items:start}
.identity-block{border:1px solid #e5e7eb;background:#fafafa;border-radius:8px;padding:14px}
.identity-block span{display:block;font-size:11px;color:#6b7280;font-weight:800;letter-spacing:.3px;margin-bottom:5px}
.identity-block strong{display:block;font-size:18px;margin-bottom:4px}
.identity-block small{display:block;color:#6b7280;margin-top:2px}
.locked-field{display:none}
@media(max-width:700px){.po-identity{grid-template-columns:1fr 1fr}.po-identity .btn{grid-column:1/-1}}
.po-header-grid.simple{grid-template-columns:repeat(4,1fr)}
.po-header-grid.organized{grid-template-columns:repeat(3,1fr);row-gap:18px}
.po-header-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
.material-cell.has-icon .search-icon{position:absolute;left:10px;top:12px;color:#9a9a9a;pointer-events:none}
.material-cell.has-icon input.icon-input{padding-left:32px}
.module-toggle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.module-toggle{flex-direction:row;align-items:center;gap:8px;border:1px solid #e5e7eb;border-radius:7px;padding:10px 12px;font-weight:600;font-size:13px;cursor:pointer}
.module-toggle input{width:auto}
@media(max-width:800px){.module-toggle-grid{grid-template-columns:1fr 1fr}}
.required-mark{color:#d64545;font-weight:700}
.user-chip{display:flex;flex-direction:column;align-items:flex-start;gap:6px;background:#1a1a1a;border-radius:7px;padding:10px 12px;margin-bottom:10px;font-size:12px;color:#ddd}
.user-chip .user-name{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.logout-btn{background:none;border:0;border-top:1px solid #2a2a2a;width:100%;color:#888;cursor:pointer;display:flex;align-items:center;gap:5px;padding:8px 0 0;margin-top:2px;font-size:12px;font-weight:600}
.logout-btn:hover{color:#f5c518}
.login-body{background:#0a0a0a;display:flex;align-items:center;justify-content:center;min-height:100vh;margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif}
.login-card{background:#fff;border-radius:12px;padding:40px 36px;width:360px;max-width:90vw;box-shadow:0 20px 60px #0006;text-align:center}
.login-logo{width:80px;margin-bottom:14px}
.login-card h1{font-size:22px;margin:0 0 6px}
.login-card .stack{text-align:left;margin-top:18px}
.nav-group-label{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:#6b7280;font-weight:800;padding:14px 12px 4px}
.nav-group-label:first-child{padding-top:2px}
.nav-divider{height:1px;background:#232323;margin:12px 8px}
.breadcrumbs{display:flex;align-items:center;gap:6px;margin-bottom:14px;font-size:13px;flex-wrap:wrap}
.breadcrumbs a{color:#6b7280;text-decoration:none;font-weight:600;display:inline;padding:0;margin:0;border-radius:0;background:none}
.breadcrumbs a:hover{color:#171717;text-decoration:underline}
.breadcrumbs .crumb-sep{color:#c7c9cc;display:inline-flex}
.breadcrumbs .crumb-current{color:#171717;font-weight:700}
.po-action-bar{position:fixed;bottom:0;left:230px;right:0;background:#fff;border-top:1px solid #e5e7eb;padding:14px 28px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 -4px 14px #0001;z-index:50}
.po-action-bar-total{font-size:14px;color:#6b7280}
.po-action-bar-total strong{color:#111;font-size:20px;margin-left:8px}
@media(max-width:800px){.po-action-bar{left:0;padding:12px 16px;flex-direction:column;gap:10px;align-items:stretch}.po-action-bar .actions{justify-content:center}}
.preview-modal{position:fixed;inset:0;background:#0008;z-index:100;display:flex;align-items:center;justify-content:center;padding:28px}
.preview-modal[hidden]{display:none}
.preview-card{width:min(1100px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:10px;padding:24px;box-shadow:0 20px 60px #0005}
.preview-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e5e7eb;padding-bottom:12px;margin-bottom:16px}
.preview-top h2{margin:0}.preview-top button{border:0;background:none;font-size:28px;cursor:pointer}
.preview-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.preview-meta>div{border:1px solid #e5e7eb;border-radius:7px;padding:10px}
.preview-meta span{display:block;font-size:11px;color:#6b7280;text-transform:uppercase}.preview-meta strong{display:block;margin-top:4px}
@media(max-width:1000px){.po-header-grid.simple,.po-header-grid.organized{grid-template-columns:1fr 1fr}.preview-meta{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.po-identity,.po-header-grid.simple,.po-header-grid.organized,.po-header-row2,.preview-meta{grid-template-columns:1fr}}

/* Icon system */
.icon{flex-shrink:0;vertical-align:middle}
nav a{display:flex;align-items:center;gap:12px}
nav a .icon{color:#9a9a9a}
nav a:hover .icon{color:#f5c518}
.btn,button.btn{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.btn.danger{color:#b91c1c}
.row-actions{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}
.row-actions a,.row-actions form{display:inline-flex;align-items:center}
.row-actions form button,.link-danger{display:inline-flex;align-items:center;gap:5px}
details summary{display:inline-flex;align-items:center;gap:6px;list-style:none;cursor:pointer}
details summary::-webkit-details-marker{display:none}
details summary::marker{content:''}
.mini-edit button,.compact-form button,.stack button{display:inline-flex;align-items:center;gap:7px;width:fit-content}
.cut-pair input:disabled{background:#f3f4f6;color:#c3c8d0;cursor:not-allowed}
.form-errors{border:1px solid #dc2626;background:#fff5f5;color:#7f1d1d;padding:13px 16px;border-radius:6px;margin-bottom:16px}
.form-errors strong{display:block;margin-bottom:6px}
.form-errors ul{margin:0;padding-left:18px}
.field-error{border-color:#dc2626 !important;background:#fff5f5 !important}
.results-hint{padding:10px 12px;color:#6b7280;font-size:13px}
.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid #eceff3}
.pagination .btn.ghost[aria-disabled="true"]{opacity:.4;pointer-events:none}
.pagination span{color:#6b7280;font-size:13px}

.pen-link{color:#b3b3b3;margin-left:6px;vertical-align:middle;display:inline-flex}
.pen-link:hover{color:#111}
@media print{
  body:has(#po-preview-modal:not([hidden])) *{visibility:hidden}
  body:has(#po-preview-modal:not([hidden])) #po-preview-modal,
  body:has(#po-preview-modal:not([hidden])) #po-preview-modal *{visibility:visible}
  #po-preview-modal:not([hidden]){position:fixed;inset:0;background:#fff;z-index:9999;padding:0}
  #po-preview-modal .no-print{display:none !important}
  @page{margin:0}
}
.section-head a{display:inline-flex;align-items:center;gap:6px}
.evidence-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}
.evidence-item{border:1px solid #e5e7eb;border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center}
.evidence-item img{width:100%;height:120px;object-fit:cover;border-radius:6px;background:#f1f3f5}
.evidence-file-icon{display:flex;align-items:center;justify-content:center;width:100%;height:120px;border-radius:6px;background:#f1f3f5;color:#6b7280}
.evidence-item small{color:#6b7280;word-break:break-all}
.quick-create-btn{color:#9a7100!important;font-weight:700;display:flex!important;align-items:center;gap:6px}.quick-create-btn:hover{background:#fff8dc}.quick-create-btn:disabled{opacity:.6;cursor:default}
