:root{--green:#075741;--deep:#043c31;--forest:#064c3c;--emerald:#008b5b;--mint:#eaf6f0;--gold:#efb81d;--ink:#173345;--secondary:#677e86;--border:#e1ebe6;--paper:#fff;--bg:#f4f8f6;--shadow:0 8px 26px rgba(14,57,41,.055);font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-size:14px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);line-height:1.52}h1,h2,h3,p{margin-top:0}a{text-decoration:none;color:inherit}button,input,select,textarea{font-family:inherit;font-size:14px}button,a,summary{touch-action:manipulation}button{cursor:pointer}input,select,textarea{width:100%;border:1px solid #cedbd4;border-radius:10px;background:#fff;color:#213a42;padding:12px 13px;outline:0;transition:all .15s}input:focus,select:focus,textarea:focus{border-color:#149d73;box-shadow:0 0 0 3px rgba(21,157,115,.1)}input:disabled{background:#edf4f0;color:#6b7975}textarea{resize:vertical;min-height:88px}label{display:flex;flex-direction:column;gap:7px;font-weight:700;font-size:13px;color:#284a48}label small{color:var(--secondary);font-weight:400}.muted,.hint{color:var(--secondary)}.hint{font-size:12px}.top-stripe{height:5px;background:linear-gradient(90deg,var(--gold) 0 17%,#0e895e 17% 100%)}
.app-header{background:linear-gradient(115deg,#064c3a,#075741 56%,#014732);box-shadow:0 8px 24px #064a3825;position:relative;z-index:5}.header-top,.topnav,.page-content{max-width:1460px;margin:auto}.header-top{min-height:100px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 30px}.brand,.auth-brand{display:flex;gap:15px;align-items:center;color:white}.brand-mark{width:58px;height:58px;border-radius:17px;border:2px solid #facb33;display:grid;place-items:center;background:radial-gradient(circle at 40% 35%,#198f69,#064432);font-size:33px;color:var(--gold);box-shadow:inset 0 0 0 4px #ffffff14;flex:0 0 auto}.brand-text{display:flex;flex-direction:column;gap:4px}.brand-text strong{font-size:22px;letter-spacing:.2px}.brand-text small{color:#d4ebdf;font-size:12px}.header-actions{display:flex;align-items:center;gap:20px}.notif-button{display:flex;align-items:center;gap:8px;font-size:19px;color:#fff}.notif-count{display:grid;place-items:center;background:#edbd31;color:#174933;font-weight:800;border-radius:20px;min-width:20px;height:20px;padding:1px 4px;font-size:11px}.user-chip{display:flex;align-items:center;gap:10px;color:#fff}.avatar{width:36px;height:36px;background:#f1bf27;border-radius:50%;color:#064c3c;font-size:18px;font-weight:800;display:grid;place-items:center}.user-chip>span:last-child{display:flex;flex-direction:column;gap:1px}.user-chip b{font-size:13px}.user-chip small{color:#cee4da;font-size:11px}.btn-logout{background:#ffffff11;color:white;border:1px solid #ffffff40;padding:9px 13px;border-radius:8px}.btn-logout:hover{background:#ffffff2b}.topnav{padding:0 30px;display:flex;gap:1px;align-items:center;flex-wrap:wrap;min-height:49px;border-top:1px solid #ffffff22}.topnav>a,.topnav details>summary{color:#dfefe8;padding:13px 15px;display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;border-bottom:3px solid transparent;white-space:nowrap;cursor:pointer}.topnav>a.active,.topnav>a:hover,.topnav details>summary:hover{border-bottom-color:var(--gold);background:#ffffff11;color:#fff}.topnav details{position:relative}.topnav details summary{list-style:none}.topnav details summary::-webkit-details-marker{display:none}.dropdown-menu{position:absolute;z-index:11;top:100%;min-width:240px;left:0;background:white;border:1px solid var(--border);border-radius:0 0 12px 12px;padding:8px;box-shadow:0 20px 45px #0d3c3130}.dropdown-menu a{display:flex;align-items:center;gap:12px;padding:11px 12px;color:#24483b;font-weight:700;font-size:13px;border-radius:8px}.dropdown-menu a:hover{background:var(--mint);color:var(--green)}.dropdown-menu a span{font-size:19px}
.page-content{padding:30px 30px 16px;min-height:75vh}.app-footer{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--border);margin-top:32px;padding:23px 0;color:#82958c;font-size:12px}.dashboard-hero{background:linear-gradient(110deg,#055440 0%,#087250 64%,#139c6b 100%);border-radius:17px;display:flex;justify-content:space-between;gap:24px;min-height:238px;padding:34px 43px;overflow:hidden;color:white;position:relative;box-shadow:0 14px 30px #034e3a24}.dashboard-hero:after{content:"";position:absolute;top:-70px;right:-120px;width:390px;height:390px;border:1px solid #ffffff35;border-radius:50%}.hero-copy{z-index:1;max-width:780px}.hero-tag,.overline{font-size:11px;font-weight:900;letter-spacing:1.75px}.hero-tag{color:#ffdf79}.hero-copy h1{font-size:30px;line-height:1.25;margin:13px 0}.hero-copy p{font-size:14px;max-width:690px;color:#d9eee4}.hero-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:19px}.hero-pills span{background:#ffffff19;border:1px solid #ffffff28;padding:7px 12px;border-radius:30px;font-weight:700;font-size:11px}.hero-art{width:220px;height:170px;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;flex:none}.art-ring{height:160px;width:160px;border:8px solid #b9e4b044;box-shadow:0 0 0 15px #ffffff15,inset 0 0 0 15px #ffffff19;border-radius:50%;position:absolute}.art-icon{font-size:72px;color:#eac131;z-index:1}.hero-art small{z-index:1;color:#e6f2e9;font-weight:800}.section-mini{display:flex;align-items:center;justify-content:space-between;margin:24px 0 15px}.section-mini h2,.panel h2{font-size:18px;color:#103e35;margin:0}.section-mini span{font-size:12px;color:var(--secondary)}.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.stat-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px;box-shadow:var(--shadow);transition:transform .15s,border-color .15s}.stat-card:hover{transform:translateY(-3px);border-color:#a1d3bd}.stat-icon{font-size:26px;width:46px;height:46px;display:grid;place-items:center;background:#eaf5ee;border-radius:13px;margin-bottom:15px}.stat-title{font-size:12px;color:#678179;font-weight:700}.stat-value{font-size:32px;font-weight:900;color:#103f34;margin:3px 0}.stat-action{color:#07845c;font-size:11px;font-weight:800}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.panel{background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:23px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:17px}.overline{color:#0b956f;margin-bottom:8px}.indicator-list{margin-bottom:18px}.indicator{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px dashed #e1ebe4;color:#5c746c}.indicator b{color:#095742;font-size:18px}.subtle-link{color:#0b8560;font-size:12px;font-weight:800}.subtle-link:hover{text-decoration:underline}.quick-links{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick-links a{display:flex;gap:10px;align-items:center;border:1px solid #e4efe7;border-radius:9px;padding:11px;color:#345449;font-size:12px;font-weight:700}.quick-links a:hover{border-color:#42b28e;background:#f5fbf7}.quick-links a span{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#e7f6ee;color:#08875f;font-weight:900}.quick-links a b{margin-left:auto;font-size:19px;color:#82a99c}.full-panel{margin-top:20px}.section-heading{margin-bottom:22px}.section-heading h1{font-size:28px;color:#113a32;margin:0 0 7px}.section-heading p{margin:0;color:#75867e;font-size:13px}.with-action{display:flex;align-items:center;justify-content:space-between;gap:20px}.action-group,.export-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:40px;border-radius:9px;border:1px solid transparent;padding:10px 16px;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer;transition:all .17s}.btn-primary{background:#087b57;color:#fff}.btn-primary:hover{background:#056f4d}.btn-outline{border-color:#c8e0d3;color:#11674c;background:#fff}.btn-outline:hover{background:#eaf7ef}.btn-danger{border-color:#ffced0;color:#b73339;background:#fff4f4}.btn-danger:hover{background:#ffe4e5}.btn.large{width:100%;padding:14px;font-size:14px}.filter-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:20px}.filter-form>input{max-width:400px}.filter-form>label{min-width:170px}.table-scroll{overflow-x:auto;width:100%}.data-table{width:100%;border-collapse:collapse;min-width:680px;font-size:12px}.data-table thead{background:#edf7f1}.data-table th{text-align:left;color:#205447;padding:12px 13px;font-weight:900;white-space:nowrap}.data-table td{padding:12px 13px;border-bottom:1px solid #ebf1ee;vertical-align:middle;max-width:310px}.data-table tr:hover td{background:#fbfdfc}.actions-cell{white-space:nowrap}.table-link{color:#087750;font-weight:800;margin-right:12px}.table-link:hover{text-decoration:underline}.empty-table{text-align:center;padding:40px!important;color:#84958e}.pagination{display:flex;align-items:center;justify-content:space-between;padding-top:20px;color:#809189;font-size:12px}.pagination a{padding:8px 12px;border:1px solid var(--border);border-radius:7px;color:#077a56;margin-left:6px}.status{font-size:11px;font-weight:800;color:#087753;background:#e8f7ed;border:1px solid #d7efdf;padding:5px 9px;border-radius:22px;white-space:nowrap}.status.red{background:#fff0ec;color:#b83a31;border-color:#ffd8d1}.status.amber{background:#fff7e4;color:#a97709;border-color:#ffe6a4}.progress-bar{height:6px;min-width:65px;border-radius:8px;background:#e8eee8;overflow:hidden;margin-bottom:4px}.progress-bar span{display:block;height:100%;background:#10a66e}.form-panel{max-width:1120px;padding:30px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}.span-2{grid-column:span 2}.required{color:#d94839;font-style:normal}.form-actions{display:flex;gap:9px;align-items:center;margin-top:28px;border-top:1px solid #edf2ee;padding-top:22px}.checkbox-inline{display:flex;align-items:center;gap:10px;height:44px}.checkbox-inline input{width:19px;height:19px;accent-color:#078758}.detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:18px;align-items:start}.detail-list{margin-top:18px}.detail-item{display:grid;grid-template-columns:190px minmax(0,1fr);padding:12px 0;border-bottom:1px solid #eef3ef;gap:20px;font-size:13px}.detail-item>span{color:#7e9187;font-weight:800}.detail-item>div{overflow-wrap:anywhere;color:#21483c}.detail-item p{margin:6px 0}.detail-side{display:flex;flex-direction:column;gap:17px}.detail-side .panel h2{margin-bottom:10px}.detail-side form{display:flex;flex-direction:column;gap:12px;margin-top:15px}.file-item{display:flex;gap:9px;border-bottom:1px solid #edf3ef;padding:11px 0}.file-item>span{font-size:23px}.file-item a{color:#087550;font-weight:800;overflow-wrap:anywhere}.file-item small{display:block;color:#899c94}.upload-form input[type=file]{font-size:12px;padding:9px}.empty{color:#9aaa9f;font-size:12px}.approval-item{display:flex;flex-direction:column;gap:3px;padding:9px 0;border-bottom:1px solid #edf4ee;font-size:12px}.approval-item span{color:#728b7e}.delete-form{margin-top:24px}.alert{border-radius:10px;padding:14px 16px;margin-bottom:18px;font-size:13px;font-weight:700}.alert.success{background:#e7f6ec;border:1px solid #b8e6c9;color:#0a7449}.alert.danger{background:#ffeded;border:1px solid #ffc6c6;color:#a62831}.import-form{display:flex;flex-direction:column;gap:16px;margin-top:25px;max-width:500px}.import-form label{width:100%}.import-form button{align-self:start}.checkbox-line{flex-direction:row;align-items:center;gap:9px!important;margin-top:20px}.checkbox-line input{width:18px;accent-color:#078758}.form-hint{font-size:11px;color:#718c80;margin-top:20px}.right-form{display:flex;justify-content:flex-end}.notice-row{display:flex;gap:12px;padding:15px 12px;border-bottom:1px solid #edf2ee}.notice-row.unread{background:#f3fbf5}.notice-dot{width:9px;height:9px;margin-top:7px;background:#d4dfd6;border-radius:50%;flex:none}.unread .notice-dot{background:#16a56b}.notice-row b{color:#245b48}.notice-row p{margin:4px 0;color:#647b70}.notice-row small{color:#9aac9f}.report-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:16px}.report-stats>div{display:flex;flex-direction:column;gap:8px;padding:16px;background:#f0f9f4;border:1px solid #e1f0e6;border-radius:10px}.report-stats strong{font-size:29px;color:#075a3f}.report-stats span{font-size:12px;color:#5f826d;font-weight:800}.report-section{margin-top:16px}.export-actions{margin-top:17px}.signature-block{width:310px;margin:40px 0 10px auto;text-align:center}.signature-space{height:95px}.signature-block p{margin:8px 0}.guide-panel{display:grid;grid-template-columns:minmax(350px,1.1fr) minmax(280px,.9fr);gap:26px;align-items:start}.guide-image{width:100%;height:auto;border-radius:8px;border:1px solid var(--border)}.guide-description{font-size:14px;line-height:1.85}.guide-description h2{margin-bottom:14px}.forbidden{text-align:center;padding:60px;margin:auto;max-width:620px}.forbidden h1{color:#0c6344}
.auth-body{background:#eef6f0;min-height:100vh}.auth-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-illustration{background:linear-gradient(155deg,#064a37,#05704d 65%,#024d39);display:flex;flex-direction:column;justify-content:space-between;padding:55px 8%;color:white;position:relative;overflow:hidden}.auth-illustration:after{content:"";height:600px;width:600px;border:2px solid #ffffff19;box-shadow:0 0 0 80px #ffffff09,0 0 0 160px #ffffff07;position:absolute;right:-280px;top:180px;border-radius:50%}.auth-brand{font-size:16px;position:relative;z-index:1}.auth-brand b{font-size:22px}.auth-brand small{display:block;font-size:12px;color:#cce7d9}.auth-copy{z-index:1;max-width:580px}.auth-copy h1{font-size:clamp(36px,4.1vw,60px);line-height:1.16;margin:17px 0 23px;color:#fff}.auth-copy p{line-height:1.8;color:#d6eadf;max-width:510px}.auth-bottom{z-index:1;color:#d3e6d7;font-size:12px}.auth-form-area{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:45px;padding:35px}.auth-login-card{width:min(440px,100%)}.auth-login-card h1{font-size:30px;margin:5px 0 10px;color:#164539}.auth-login-card>p{color:#82928c;line-height:1.8;margin-bottom:30px}.auth-login-card form{display:flex;flex-direction:column;gap:21px}.auth-login-card form button{margin-top:12px}.login-footnote{border-top:1px solid #d5e5dc;margin-top:26px;padding-top:22px;text-align:center;font-size:12px;color:#84988a}.auth-footer{color:#859a8f;font-size:12px;text-align:center}.installer-wrap{max-width:850px;margin:0 auto;padding:36px 20px}.installer-wrap .auth-brand{background:#075b43;padding:18px 23px;border-radius:15px;margin-bottom:20px}.auth-card{background:white;border:1px solid #dfeee3;border-radius:16px;padding:30px 37px;box-shadow:var(--shadow)}.auth-card h1{color:#0a5841;font-size:28px}.auth-card p{color:#667b70}.auth-card h3{margin:25px 0 15px;color:#105a42}.auth-card .form-grid{margin-bottom:18px}.success-icon{display:grid;place-items:center;color:#fff;background:#0a965e;width:60px;height:60px;border-radius:50%;font-size:34px;margin-bottom:20px}.auth-card .btn{margin-top:18px}.installer-wrap .auth-footer{margin-top:20px}
.print-report{background:#fff;color:#111}.report-paper{max-width:1060px;padding:35px;margin:auto}.report-paper>header{text-align:center;border-bottom:3px double #222;margin-bottom:20px;padding-bottom:20px}.report-paper header strong{font-size:22px}.report-paper header p{margin:4px}.report-paper header h1{font-size:25px;margin:14px}.report-paper .panel{box-shadow:none}.print-button{display:block;margin:20px auto}.print-report .report-stats>div{border:1px solid #ccc;background:#fff}
@media(max-width:1180px){.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.topnav{gap:0}.report-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.header-top{padding:15px 18px;min-height:auto;flex-wrap:wrap}.brand-text strong{font-size:17px}.brand-mark{height:48px;width:48px}.header-actions{gap:11px}.user-chip>span:last-child{display:none}.topnav{padding:0 10px}.topnav>a,.topnav details>summary{padding:12px 10px;font-size:12px}.page-content{padding:20px 14px}.dashboard-hero{padding:25px}.hero-art{display:none}.hero-copy h1{font-size:25px}.stats-grid{gap:10px}.stat-card{padding:14px}.stat-value{font-size:26px}.dashboard-grid,.detail-grid,.guide-panel{grid-template-columns:1fr}.detail-list .detail-item{grid-template-columns:140px 1fr}.auth-layout{grid-template-columns:1fr}.auth-illustration{min-height:310px;padding:30px}.auth-copy h1{font-size:32px}.auth-copy p{display:none}.auth-bottom{display:none}.auth-form-area{padding:55px 30px}.with-action{align-items:flex-start;flex-direction:column}.app-footer{flex-direction:column}.quick-links{grid-template-columns:1fr 1fr}}@media(max-width:540px){.stats-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.form-panel,.panel{padding:17px}.section-heading h1{font-size:23px}.detail-item{display:block!important}.detail-item>span{display:block;margin-bottom:6px}.quick-links{grid-template-columns:1fr}.report-stats{grid-template-columns:repeat(2,1fr)}.header-actions{margin-left:auto}.btn-logout{padding:8px}.brand-text small{font-size:10px}.brand-text strong{font-size:14px}}
@media print{.app-header,.app-footer,.top-stripe,.export-actions,.filter-form,.print-button,.page-content>.section-heading{display:none!important}.page-content{padding:0!important}.panel{border:none!important;box-shadow:none!important;break-inside:avoid}.data-table th,.data-table td{border:1px solid #bbb;padding:6px;font-size:9px}.report-stats{grid-template-columns:repeat(6,1fr)}.report-stats>div{border:1px solid #aaa!important;background:#fff!important;padding:8px}.report-stats strong{font-size:16px}.print-report .report-paper{padding:0;margin:0;max-width:100%}.report-section{margin-top:8px}.report-section.panel{padding:12px 0}}
