*{box-sizing:border-box}body{color:#183e3b;background:#f4f6f7;margin:0;font-family:Tahoma,Arial,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer;color:#fff;background:#12695e;border:0;border-radius:9px;padding:11px 18px}button:hover{filter:brightness(.95)}aside{color:#fff;background:#103e37;width:238px;padding:34px 22px;position:fixed;top:0;bottom:0;right:0}aside .brand{margin-bottom:8px;font-size:25px;font-weight:700}aside small{color:#a7cac2}nav{gap:10px;margin-top:48px;display:grid}nav button{text-align:right;color:#cee1dc;background:0 0}nav button.active{color:#fff;background:#2c5a50}aside footer{color:#accdc2;font-size:12px;line-height:1.8;position:absolute;bottom:25px}main{max-width:1700px;margin-right:238px;padding:30px 40px}header{border-bottom:1px solid #dce5e2;justify-content:space-between;align-items:center;padding-bottom:22px;display:flex}.eyebrow{color:#728984;font-size:12px}p{color:#6c817b;line-height:1.9}.actions{gap:8px;display:flex}.secondary{color:#28584e;background:#fff;border:1px solid #d6e3df}.hero{background:#e5eee9;border-radius:15px;justify-content:space-between;align-items:center;margin:26px 0;padding:23px;display:flex}.hero h2{margin:0 0 6px}.hero p{margin:0}.cards{grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0;display:grid}.card{background:#fff;border:1px solid #e1e8e4;border-radius:13px;padding:22px}.card b{margin:16px 0 6px;font-size:32px;display:block}.card small{color:#879b94}.filters{flex-wrap:wrap;gap:10px;margin:22px 0;display:flex}input,select,textarea{color:#21483e;background:#fff;border:1px solid #d5e0dc;border-radius:8px;min-width:0;padding:12px}input:focus,select:focus{outline:2px solid #8ab6a6}.filters input{flex:1}.panel{background:#fff;border:1px solid #e0e8e3;border-radius:13px;margin:20px 0;padding:20px}.table-wrap{overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%}th{color:#748b82;text-align:right;background:#f5f8f6;font-weight:400}td,th{border-bottom:1px solid #e9eeeb;padding:17px 13px}.badge{color:#217450;background:#e7f3ed;border-radius:20px;padding:6px 10px;font-size:12px}.badge.warn{color:#9e7617;background:#fff2d5}.badge.danger{color:#b04e3e;background:#fdeae6}.empty{text-align:center;color:#869b93;padding:45px}.row-btn{color:#346b59;background:#eff5f2;padding:7px 10px;font-size:12px}.bar{background:#eaf1ec;border-radius:10px;height:9px;margin:10px 0;overflow:hidden}.bar span{background:#368875;height:100%;display:block}.grid{grid-template-columns:1.5fr 1fr;gap:18px;display:grid}.department{margin:17px 0}.modal{z-index:5;background:#092c2877;place-items:center;padding:15px;display:grid;position:fixed;inset:0}.dialog{background:#fff;border-radius:15px;width:660px;max-width:100%;max-height:92vh;padding:25px;overflow:auto}.form{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form label{gap:8px;font-size:13px;display:grid}.form .full{grid-column:1/-1}.dialog .actions{justify-content:flex-end;margin-top:25px}.notice{color:#846117;background:#fff2d5;border-radius:8px;margin:15px 0;padding:12px}.error{color:#aa3930;margin:12px}.muted{color:#91a29a;font-size:12px}@media (width<=950px){aside{width:auto;padding:20px;position:static}aside footer{display:none}nav{margin-top:20px;display:flex;overflow:auto}nav button{white-space:nowrap}main{margin:0;padding:20px}.cards{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}header{align-items:start;gap:12px}.actions{flex-wrap:wrap}}@media print{aside,.actions,.filters,.row-btn{display:none}main{margin:0}.cards{grid-template-columns:repeat(4,1fr)}body{background:#fff}}aside{height:100dvh;overflow-y:auto}aside footer{margin-top:24px;position:static}nav button{padding:10px 14px}.dialog{max-height:90dvh;overflow-y:auto}@media print{.modal,.actions,.filters{display:none!important}}.owner-credit{text-align:center;break-inside:avoid;border-top:1px solid #dbe7e2;margin-top:24px;padding-top:14px;font-size:13px}@media print{.owner-credit{display:none!important}}aside{background:linear-gradient(160deg,#123f35,#0a2e27);width:260px;padding:24px 18px}.nav-group summary{cursor:pointer;color:#9fc6b7;padding:7px 10px;font-size:12px;font-weight:700}.nav-group>div{gap:3px;display:grid}.nav-group button{border-radius:8px;width:100%;padding:9px 13px}.nav-group button.active{color:#143f30;background:#e3f3ea;border-right:4px solid #59b48a;font-weight:700}.branch-label{color:#245b44;background:#e3eee8;border-radius:20px;margin-top:8px;padding:4px 11px;font-size:12px;font-weight:700;display:inline-block}header{gap:16px}.actions{flex-wrap:wrap;align-items:center}.hero{background:linear-gradient(110deg,#dceee5,#edf6f1);border:1px solid #d5e6dc}.cards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.card{border-top:3px solid #3b9574;padding:18px;box-shadow:0 3px 12px #123e3506}.card b{margin-top:10px;font-size:26px}.panel{box-shadow:0 4px 18px #123e3505}.table-wrap{border:1px solid #e1e9e5;border-radius:10px}th{color:#375b4c;background:#edf4ef;font-weight:700}tbody tr:nth-child(2n){background:#fbfdfb}tbody tr:hover{background:#f0f7f2}button:disabled{cursor:default;opacity:.45}button:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #86bca3}.badge.warn{color:#77530a}.badge.danger{color:#942f24}.muted{color:#61796c}.file-tabs{flex-wrap:wrap;gap:8px;margin:22px 0;display:flex}.file-tabs .active{background:#145e47}.file-section.inactive{display:none}.filters label{gap:5px;display:grid}.form input,.form select{width:100%}@media (width<=950px){aside{width:100%;height:auto;max-height:none;padding:16px 20px;position:static}aside .brand{font-size:22px}nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;display:grid;overflow:visible}.nav-group{background:#ffffff08;border-radius:8px}.nav-group button{white-space:normal}.nav-group summary{padding:10px}main{margin:0;padding:18px}header{flex-direction:column;align-items:stretch}.hero{gap:12px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:14px}.card b{font-size:23px}.file-tabs button{white-space:nowrap;flex:1}aside footer{display:none}}@media (width<=520px){.hero{flex-direction:column;align-items:stretch}.form{grid-template-columns:1fr}.filters>*{flex:140px}.panel{padding:14px}.dialog{padding:18px}.actions button{flex:1}h1{font-size:25px}.file-tabs{flex-wrap:nowrap;overflow:auto}.file-tabs button{flex:none}}@media print{aside,header .actions,.file-tabs,button{display:none!important}main{margin:0;padding:0}.file-section.inactive{display:block!important}.panel,.card{box-shadow:none}.table-wrap{overflow:visible}table{white-space:normal}thead{display:table-header-group}tr{break-inside:avoid}.branch-label{background:#fff}.hero{display:none}.owner-credit{display:none!important}}.print-only{display:none}.pagination{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;padding-top:16px;display:flex}.pagination label{align-items:center;gap:8px;display:flex}.pagination select{padding:7px}.check-line{align-items:center;gap:10px;margin:12px 0;display:flex!important}.check-line input{height:18px;width:18px!important}.wrap-cell{white-space:normal;min-width:180px;max-width:350px}.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.card b{overflow-wrap:anywhere}.no-print{break-inside:avoid}th{z-index:1;position:sticky;top:0}.table-wrap{max-height:65vh}.hero{margin:18px 0;padding:16px}.filters{margin:16px 0}@media (width<=950px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.pagination{justify-content:stretch}.pagination button{flex:1}.card b{font-size:21px}}@media print{.print-only{display:table-row!important}.no-print,.pagination{display:none!important}.table-wrap{max-height:none;overflow:visible}th{position:static}}:root{--green:#14694f;--border:#e0e8e3;--muted:#657d6f}body{color:#263e31;background:#f3f6f4;line-height:1.7}button{justify-content:center;align-items:center;gap:8px;font-weight:600;display:inline-flex}button:hover{filter:none;background:#16513d}.secondary:hover{background:#edf4ef}h1{margin:5px 0 0;font-size:27px}h2{font-size:18px}header{border-bottom:1px solid var(--border);margin-bottom:24px}main{margin-right:258px;padding:28px 34px}.sidebar{z-index:4;background:#132f27;width:258px;padding:22px 18px;inset:0 0 0 auto;overflow-y:auto}.brand-row{border-bottom:1px solid #ffffff15;align-items:center;gap:11px;padding:0 5px 18px;display:flex}.brand-symbol{color:#a3d9bb;background:#245448;border:1px solid #ffffff17;border-radius:12px;place-items:center;width:43px;height:43px;display:grid}.brand-title{font-size:18px;font-weight:700}.brand-title small{color:#b5c8bf;font-size:10px;font-weight:400;display:block}.menu-toggle{display:none}.user-profile{align-items:center;gap:10px;padding:20px 4px 16px;display:flex}.avatar{color:#d3f0df;background:#294d41;border-radius:50%;place-items:center;width:35px;height:35px;display:grid}.user-profile strong{font-size:12px}.user-profile small{color:#acbfb6;font-size:10px;display:block}.nav-search{color:#aec7bb;background:#ffffff09;border:1px solid #ffffff18;border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.nav-search input{color:#fff;background:0 0;border:0;width:100%;padding:9px 0;font-size:11px}.nav-search input::placeholder{color:#aac0b5}nav{gap:13px;margin-top:20px}.nav-group summary{color:#96b4a6;justify-content:space-between;padding:2px 10px 6px;font-size:10px;list-style:none;display:flex}.nav-group summary:after{content:"⌄";font-size:13px}.nav-group:not([open]) summary:after{content:"‹"}.nav-group button{color:#bfd0c7;justify-content:flex-start;padding:9px 12px;font-size:12px;font-weight:400}.nav-group button.active{color:#164633;background:#d7ebdf;border:0;font-weight:700;box-shadow:inset -3px 0 #74bf92}.nav-group button:hover{color:#fff;background:#ffffff0d}.sidebar footer{color:#a4baae;border-top:1px solid #ffffff12;margin:23px 4px 10px;padding-top:17px;font-size:10px;line-height:2;display:block}.logout-button{color:#becfc5;background:0 0;justify-content:space-between;width:100%;padding:9px;font-size:11px}.logout-button:hover{background:#ffffff10}.branch-label{border-radius:5px;padding:2px 9px;font-size:11px}.cards{gap:14px}.card{border-top:1px solid var(--border);text-align:right;padding:19px}.card>span{color:var(--muted);font-size:12px}.card b{margin:8px 0;font-size:28px;line-height:1.4}.card small{font-size:11px}.panel{padding:22px}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.section-heading h2{margin:0}.section-heading p{margin:3px 0 0;font-size:12px}.text-button{color:var(--green);background:0 0;padding:6px 0;font-size:12px}.text-button:hover{color:#113f31;background:0 0}.filters{align-items:flex-end}.filters label{font-size:12px}.filters>button{min-height:42px}.filters>input{min-width:180px}table{font-size:12px}td,th{padding:14px 13px}.badge{border-radius:5px;padding:3px 9px;font-size:11px;display:inline-block}.row-btn{font-size:11px}.dialog{border-radius:18px;width:690px;padding:26px;box-shadow:0 20px 70px #0b2b222c}.dialog h2{border-bottom:1px solid var(--border);margin-bottom:22px;padding-bottom:18px}.dialog .actions{border-top:1px solid var(--border);padding-top:17px}.modal{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:10}.form label{font-size:12px}.form textarea{resize:vertical;width:100%;min-height:90px}.notice{color:#856224;background:#fff7e5;border:1px solid #f0e6c8;padding:13px 15px;font-size:12px}.error{color:#a63730;background:#fff0ed;border:1px solid #f3d7d1;border-radius:8px;padding:12px 15px;font-size:12px}.owner-credit{font-size:11px}.audit-details{border-top:1px solid var(--border);margin-top:25px;padding-top:20px}.audit-details summary{cursor:pointer;color:var(--green);font-weight:700}.audit-details .table-wrap{margin-top:15px}.connection-screen{place-items:center;min-height:100vh;margin:0;display:grid}.connection-screen .panel{width:500px;max-width:90vw}.loading-panel{text-align:center;min-height:250px;color:var(--muted);place-items:center;display:grid}.welcome{background:linear-gradient(115deg,#e0ede5,#edf5ef);border:1px solid #d5e5da;border-radius:16px;justify-content:space-between;align-items:center;margin:0 0 22px;padding:27px 30px;display:flex}.welcome h2{color:#1e4b37;margin:6px 0;font-size:27px}.welcome p{margin:0;font-size:12px}.welcome-date{color:#5b7968;margin-top:16px;font-size:11px}.welcome-mark{color:#508c70;justify-items:center;gap:9px;margin-left:24px;display:grid}.welcome-mark span{font-size:10px}.stat-card{cursor:pointer;color:#204b35;font-weight:400}.stat-card:hover{background:#fff;border-color:#94b8a4;box-shadow:0 4px 15px #1b614913}.stat-top{color:#637c6d;justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.stat-top i{color:#36785a;background:#eff5f0;border-radius:9px;place-items:center;width:33px;height:33px;display:grid}.stat-card b{color:#204b35;margin:12px 0 5px;font-size:27px}.overview-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:20px;display:grid}.overview-grid>.panel,.overview-grid>div>.panel:first-child{margin-top:0}.task-list{display:grid}.task-row{color:#263f33;text-align:right;background:#fff;border:0;border-bottom:1px solid #edf1ee;border-radius:0;justify-content:flex-start;gap:12px;padding:13px 0;font-weight:400}.task-row:last-child{border-bottom:0}.task-row:hover{background:#f7faf8}.task-row>span{flex:1}.task-row strong{font-size:12px;display:block}.task-row small{color:#72867a;margin-top:2px;font-size:10px;display:block}.task-icon{background:#eef4ef;border-radius:10px;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid}.task-count{text-align:center;color:#75857a;background:#f2f6f3;border-radius:6px;min-width:28px;padding:2px 6px;font-size:12px}.red{color:#b25449;background:#fbedeb}.amber{color:#a17730;background:#fff4e0}.blue{color:#5278a6;background:#edf3fb}.green{color:#4a7f5e;background:#eaf4ed}.cost-line{justify-content:space-between;gap:12px;padding:10px 0;font-size:12px;display:flex}.cost-line span{color:#658071}.cost-line.total{border-top:1px solid var(--border);color:var(--green);margin:8px 0 16px;padding-top:17px}.cost-line.total b{font-size:18px}.wide{width:100%;font-size:12px}.quick-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.quick-link{color:#3e7158;background:#f8fbf9;border:1px solid #e4ece6;justify-content:flex-start;padding:12px;font-size:11px}.quick-link:hover{background:#edf5ee}.department-grid{grid-template-columns:1fr 1fr;gap:5px 32px;display:grid}.department-grid .department{margin:0}.department-grid .cost-line{padding-bottom:0}.overview>.panel{margin-top:0}.login-screen{background:radial-gradient(at 100% 0,#ddece2,#0000 60%),#f4f7f5;place-items:center;min-height:100vh;margin:0;padding:30px;display:grid}.login-card{background:#fff;border:1px solid #dce8df;border-radius:22px;grid-template-columns:1fr 1fr;width:100%;max-width:960px;display:grid;overflow:hidden;box-shadow:0 16px 60px #1c4b3610}.login-brand{color:#fff;background:linear-gradient(150deg,#174936,#102f26);flex-direction:column;justify-content:center;align-items:flex-start;padding:48px 38px;display:flex}.login-brand h1{margin:24px 0 12px;font-size:32px;line-height:1.5}.login-brand p{color:#b5d2c0;font-size:13px}.login-brand small{color:#bdd7c6;margin-top:35px}.login-form{padding:44px 36px}.login-form h2{font-size:23px}.login-form .form{grid-template-columns:1fr;margin-top:28px}.login-form .muted{font-size:11px}@media (width<=1200px){main{padding:24px}.cards{gap:10px}.stat-card{padding:15px}.stat-card b{font-size:23px}.stat-top{font-size:11px}}@media (width<=950px){.sidebar{width:100%;height:auto;padding:12px 18px;position:sticky;top:0;overflow:visible;box-shadow:0 2px 10px #153b2112}.brand-row{border:0;padding:0}.brand-title{font-size:16px}.brand-symbol{width:36px;height:36px}.menu-toggle{color:#d3e4d9;background:#ffffff0c;border:1px solid #ffffff20;margin-right:auto;padding:8px;display:flex}.sidebar-content{display:none}.mobile-open .sidebar-content{max-height:calc(100dvh - 64px);padding:0 4px 16px;display:block;overflow:auto}.mobile-open nav{grid-template-columns:1fr 1fr;gap:13px;display:grid}.sidebar footer{display:block}.sidebar nav button{font-size:12px}main{margin:0;padding:20px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid{grid-template-columns:1fr 1fr}header{flex-direction:row;align-items:flex-start;gap:15px}header .actions{justify-content:flex-end}.welcome{padding:22px}.welcome h2{font-size:24px}.login-form{padding:32px 25px}.login-brand{padding:36px 30px}}@media (width<=650px){header{flex-direction:column;align-items:stretch;margin-bottom:18px;padding-bottom:18px}header .actions{justify-content:flex-start}header .actions button{padding:9px 12px;font-size:11px}main{padding:16px}h1{font-size:23px}.overview-grid{grid-template-columns:1fr;gap:0}.department-grid{grid-template-columns:1fr}.welcome{padding:20px}.welcome h2{font-size:22px}.welcome-mark{display:none}.welcome-date{margin-top:10px}.cards{gap:10px}.card{padding:14px}.card b{font-size:24px}.stat-card b{font-size:22px}.stat-top{font-size:11px}.stat-top i{width:27px;height:27px}.panel{padding:17px}.form{grid-template-columns:1fr}.filters>*{flex:135px}.filters input{width:100%}.filters>input{min-width:100%}.section-heading{align-items:flex-start;gap:10px}.section-heading h2{font-size:16px}.text-button{white-space:nowrap;font-size:10px}.dialog{max-height:94dvh;padding:20px}.dialog .actions button{flex:1}.pagination{justify-content:stretch;gap:8px}.task-row{gap:9px}.task-icon{width:33px;height:33px}.login-screen{padding:20px}.login-card{grid-template-columns:1fr;max-width:450px}.login-brand{padding:24px}.login-brand h1{margin:12px 0 0;font-size:23px}.login-brand p,.login-brand small{display:none}.login-form{padding:28px 24px}}.stat-card{display:block!important}.stat-card b{white-space:nowrap;overflow-wrap:normal;font-variant-numeric:tabular-nums}.stat-card .stat-top{min-height:33px}.stat-card small{display:block}.filters select{max-width:100%}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.modal{-webkit-backdrop-filter:none;backdrop-filter:none}}@media print{.sidebar,.sidebar footer,.owner-credit{display:none!important}.stat-card{display:block!important}.task-row{display:flex!important}.welcome{background:#fff}.welcome-mark{display:none}.overview-grid{display:block}.quick-grid{display:none}.section-heading .text-button{display:none!important}}
