:root{--ink:#173b36;--green:#1b6653;--muted:#667b73;--line:#dce5de;--bg:#f3f6f1}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Arial,sans-serif;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}button,.button{color:var(--ink);cursor:pointer;background:#fff;border:1px solid #cbd7cd;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:9px 13px;font-weight:600;text-decoration:none;display:inline-flex}button:hover,.button:hover{background:#edf3eb}button:disabled{opacity:.5;cursor:default}.primary{background:var(--green)!important;border-color:var(--green)!important;color:#fff!important}:is(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible){outline-offset:3px;outline:3px solid #c49340}.app{min-height:100vh;display:flex}.sidebar{color:#f5f7ee;background:#123f35;flex-direction:column;flex-shrink:0;width:245px;height:100vh;padding:28px 16px;display:flex;position:sticky;top:0}.brand{color:#fff;align-items:center;gap:10px;margin:0 10px 32px;font-size:15px;font-weight:700;text-decoration:none;display:flex}.brand>span{color:#173b36;background:#ecf2df;border-radius:8px;padding:11px 8px;font-size:16px}.brand small{color:#b9cec0;margin-top:3px;font-size:11px;font-weight:400;display:block}.nav-title{letter-spacing:1.5px;color:#a6c4b5;margin:0 12px 12px;font-size:10px}nav{flex-direction:column;gap:3px;display:flex}nav button{color:#c9ddcf;background:0 0;border:0;justify-content:flex-start;padding:11px 13px;font-size:13px;font-weight:400}nav button.active{color:#173b36;background:#eaf0df;font-weight:600}nav button:hover{background:#285647}nav button.active:hover{background:#eaf0df}nav small{margin-left:auto}.workflow-link{color:#d0e0ce;align-items:center;gap:10px;margin:22px 12px;font-size:12px;text-decoration:none;display:flex}.sidebar-foot{border-top:1px solid #396355;margin-top:auto;padding:20px 12px 0;font-size:12px}.sidebar-foot p{color:#b5cabc;font-size:11px;line-height:1.5}.dot{background:#d4a84b;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.dot.live{background:#8fd39b}.content{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:15px;padding:18px 35px;display:flex}.org-name{letter-spacing:1px;font-size:10px;font-weight:700}.mode-badge{color:#795b20;background:#fff2cf;border-radius:5px;margin-left:14px;padding:4px 9px;font-size:11px;display:inline-block}.mode-badge.live{color:#27613c;background:#e3f1e6}.top-actions{flex-wrap:wrap;gap:9px;display:flex}.top-actions button,.top-actions a{padding:8px 11px;font-size:12px}main{max-width:1600px;margin:auto;padding:27px 35px 35px}.mode-note{color:#536851;background:#e9eedf;border:1px solid #d6dec9;border-radius:7px;margin-bottom:25px;padding:12px 15px;font-size:12px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin:10px 0 28px;display:flex}.eyebrow{letter-spacing:1.6px;color:var(--green);margin:0 0 9px;font-size:10px;font-weight:700}h1{margin:0 0 10px;font-family:Georgia,serif;font-size:34px;font-weight:400;line-height:1.2}h2{margin:0;font-size:18px}h3{margin:0 0 9px;font-size:15px}.page-heading p:not(.eyebrow){color:var(--muted);margin:0;font-size:13px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:25px;display:grid}.metric{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:0;padding:20px}.metric>div{color:var(--muted);justify-content:space-between;align-items:center;gap:6px;font-size:11px;display:flex}.metric>strong{letter-spacing:-1px;overflow-wrap:anywhere;margin:12px 0 5px;font-size:29px;display:block}.metric small{color:var(--muted);font-size:11px;display:block}.overview-grid{grid-template-columns:1.25fr 1fr;gap:22px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:23px;padding:23px}.panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.link-button{color:var(--green);border:0;min-height:30px;padding:5px 0;font-size:12px;background:0 0!important}.attention-row{text-align:left;border:0;border-top:1px solid var(--line);background:#fff;border-radius:0;align-items:center;gap:12px;width:100%;padding:17px 0;font-weight:400;display:flex}.avatar{background:#eff2e7;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:11px;display:flex}.attention-row div{flex:1}.attention-row strong{font-size:13px}.attention-row small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.badge{color:#596d60;white-space:normal;background:#edf0ea;border-radius:4px;padding:4px 8px;font-size:10px;line-height:1.3;display:inline-block}.badge.good{color:#276346;background:#e3f0e5}.badge.warning{color:#7c6024;background:#fff1cc}.grant-summary{border:0;border-top:1px solid var(--line);text-align:left;background:0 0;border-radius:0;width:100%;padding:18px 0;font-weight:400;display:block}.grant-summary>div:first-child{justify-content:space-between;gap:12px;display:flex}.grant-summary strong{font-size:12px}.grant-summary span{font-size:13px;font-weight:600}.track{background:#eef2e9;border-radius:8px;height:6px;margin:13px 0 9px;overflow:hidden}.track>span{background:#72a37c;border-radius:8px;height:100%;display:block}.grant-summary small{color:var(--muted);font-size:10px}.quick>div{grid-template-columns:repeat(4,1fr);gap:18px;margin-top:20px;display:grid}.quick button{text-align:left;background:#f5f7f0;border:0;padding:20px;font-weight:400;display:block}.quick strong{margin-top:12px;display:block}.quick p{color:var(--muted);font-size:12px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.search{background:#fff;border:1px solid #cad6cc;border-radius:7px;flex:1;align-items:center;gap:9px;min-width:210px;padding:0 13px;display:flex}.search input{outline-offset:0;background:0 0;border:0;width:100%;min-width:0;padding:12px 0}.toolbar>span{color:var(--muted);font-size:12px}.toolbar>button{font-size:12px}select,input,textarea{color:var(--ink);background:#fff;border:1px solid #cbd6cd;border-radius:6px;max-width:100%;padding:10px}select{min-height:42px}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}th{color:#57715f;text-transform:uppercase;letter-spacing:.6px;background:#eef3e9;padding:14px 17px;font-size:10px;font-weight:600}td{border-top:1px solid var(--line);vertical-align:middle;padding:17px}td strong{font-size:12px;font-weight:600}td small{color:var(--muted);max-width:400px;margin-top:4px;font-size:10px;display:block}.mono{white-space:nowrap;font-family:monospace;font-size:11px}.small-button{min-height:32px;padding:5px 9px;font-size:11px}.grant-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.grant-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:23px}.grant-card-top{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.grant-card h2{font-size:19px}.grant-card>p{color:var(--muted);font-size:12px}.grant-amount{letter-spacing:-1px;margin-top:25px;font-size:30px}.grant-amount small{letter-spacing:0;color:var(--muted);font-size:11px;display:block}dl{grid-template-columns:1fr auto;gap:8px;font-size:12px;display:grid}dt{color:var(--muted)}dd{text-align:right;margin:0}.period{border-top:1px solid var(--line);padding-top:15px}.grant-card>button{margin-right:15px;font-size:12px}.report-filters{flex-wrap:wrap;align-items:end;gap:14px;margin-bottom:25px;display:flex}.report-filters label{flex:1;min-width:140px;font-size:11px}.report-filters input,.report-filters select{width:100%;margin-top:7px;font-size:12px;display:block}.report-note{color:var(--muted);font-size:11px}.audit-row{border-top:1px solid var(--line);gap:12px;padding:16px 0;font-size:13px;display:flex}.audit-row small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.empty{text-align:center;color:var(--muted);padding:35px;font-size:13px}.workspace-footer{color:var(--muted);margin-top:30px;font-size:10px}.alert{border-radius:6px;align-items:flex-start;gap:9px;margin-bottom:20px;padding:13px 15px;font-size:13px;display:flex}.alert.error{color:#8d352f;background:#fbe9e6}.alert.success{color:#255d43;background:#e5f0e6}.modal-backdrop{z-index:10;background:#102c26a8;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:760px;max-width:100%;max-height:92vh;overflow:auto;box-shadow:0 20px 70px #0003}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:24px 27px;display:flex}.modal-header button{border:0}.modal form{padding:24px 27px}.fields{grid-template-columns:1fr 1fr;gap:17px;display:grid}.fields label{min-width:0;font-size:12px;font-weight:600}.fields input:not([type=checkbox]),.fields select,.fields textarea{width:100%;margin-top:6px;font-size:14px;font-weight:400;display:block}.fields small{color:var(--muted);margin-top:5px;font-size:10px;font-weight:400;display:block}.fields .wide{grid-column:1/-1}.check{align-items:center;gap:9px;font-size:12px;display:flex}.check input{width:17px;height:17px}.allocations{border-top:1px solid var(--line);margin-top:27px;padding-top:20px}.allocations>p{color:var(--muted);font-size:12px}.allocation-row{align-items:end;gap:12px;margin-bottom:12px;display:flex}.allocation-row label{flex:2;min-width:0;font-size:11px}.allocation-row label:nth-child(2){flex:1}.allocation-row input,.allocation-row select{width:100%;margin-top:5px;display:block}.allocation-total{margin-top:14px;font-size:12px;display:block}.modal-footer{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:26px;padding-top:20px;display:flex}.modal-footer>span{color:var(--muted);margin-right:auto;font-size:10px}.item-check{padding:10px 0}.barcode-preview{text-align:center;max-width:270px;margin:24px auto}.barcode-preview svg{width:100%}.label-sheet{display:none}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:1200px){.sidebar{width:215px}.metrics{grid-template-columns:repeat(2,1fr)}.overview-grid{grid-template-columns:1fr}.grant-cards,.quick>div{grid-template-columns:repeat(2,1fr)}main{padding:25px}.topbar{padding:18px 25px}}@media (max-width:800px){.app{display:block}.sidebar{width:100%;height:auto;padding:16px;position:static}.brand{margin:0 0 15px}.nav-title,.sidebar-foot,.workflow-link{display:none}nav{flex-direction:row;gap:5px;overflow:auto}nav button{white-space:nowrap;flex-shrink:0;padding:10px}nav small{display:none}.topbar{flex-wrap:wrap;padding:13px 16px}.top-actions{width:100%}.org-name{font-size:9px}main{padding:20px 16px}.page-heading{flex-wrap:wrap;align-items:start}h1{font-size:28px}.metrics{gap:12px}.metric{padding:16px}.metric>strong{font-size:26px}.grant-cards{grid-template-columns:1fr}.panel{padding:18px}.attention-row{flex-wrap:wrap}.fields{grid-template-columns:1fr}.fields .wide{grid-column:auto}.modal-backdrop{padding:10px}.modal form,.modal-header{padding:20px}.modal-footer{flex-wrap:wrap}.modal-footer>span{width:100%}.allocation-row{flex-wrap:wrap}.allocation-row label:first-child{flex-basis:100%}.report-filters label{min-width:120px}}@media (max-width:380px){.metrics,.quick>div{grid-template-columns:1fr}}@media print{body{background:#fff}.sidebar,.topbar,.toolbar,.mode-note,.modal-backdrop,.workspace-footer,.report-filters button,.page-heading>button,.panel-heading button,.grant-card button{display:none!important}.app{display:block}main{padding:0}.metrics{grid-template-columns:repeat(4,1fr)}.metric{padding:10px}.metric>strong{font-size:20px}.table-wrap{overflow:visible}table{font-size:10px}th,td{padding:8px}.panel,.grant-card,.metric{break-inside:avoid}.overview-grid{display:block}.panel{padding:12px}.grant-cards{grid-template-columns:repeat(2,1fr)}.printing-labels main>*{display:none!important}.printing-labels main .label-sheet{grid-template-columns:repeat(3,1fr);gap:12px;display:grid!important}.label-sheet article{text-align:center;break-inside:avoid;border:1px dashed #777;padding:15px}.label-sheet svg{width:100%}.label-sheet strong,.label-sheet small,.label-sheet b{font-size:12px;display:block}.alert{display:none}@page{size:letter;margin:.5in}}.install-app{position:relative}.install-help{z-index:50;background:#fff;border:1px solid #d8e0d8;border-radius:12px;width:min(340px,85vw);padding:20px;position:absolute;top:48px;right:0;box-shadow:0 12px 32px #183d3125}.install-help p{font-size:14px;line-height:1.5}.install-help strong{font-size:16px}.top-actions{flex-wrap:wrap}@media print{.install-app{display:none}}
