@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700&display=swap";:root{color:#17251e;font-synthesis:none;text-rendering:optimizelegibility;--forest:#123b2a;--forest-light:#1b513b;--lime:#a7c957;--ink:#17251e;--muted:#68766e;--line:#dce3dd;--surface:#fff;--font-xs:13px;--font-sm:14px;--font-md:16px;--font-lg:20px;--font-xl:24px;--font-2xl:36px;--space-xs:8px;--space-sm:16px;--space-md:24px;--space-lg:32px;--space-xl:40px;--radius-md:12px;--radius-lg:16px;--sidebar-width:270px;--header-height:72px;--content-max-width:1460px;background:#f4f6f3;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#f4f6f3;min-width:320px;min-height:100%}body{min-width:320px;min-height:100dvh;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}.login-layout{grid-template-columns:minmax(360px,.9fr) minmax(520px,1.1fr);min-height:100dvh;display:grid}.login-intro{color:#f5faf5;background:var(--forest);flex-direction:column;justify-content:space-between;padding:48px clamp(40px,6vw,88px);display:flex;position:relative;overflow:hidden}.login-intro:before{content:"";border:1px solid #ffffff1f;border-radius:50%;width:420px;height:420px;position:absolute;bottom:7%;right:-220px;box-shadow:0 0 0 90px #ffffff06,0 0 0 180px #ffffff05}.brand-lockup,.mobile-brand{letter-spacing:-.02em;align-items:center;gap:13px;font:700 16px Manrope,sans-serif;display:flex;position:relative}.brand-mark{width:38px;height:38px;color:var(--forest);background:#f2f8f1;border-radius:11px;place-items:center;font:700 21px Manrope,sans-serif;display:grid;position:relative;overflow:hidden}.brand-mark i{background:var(--lime);border-radius:50%;width:10px;height:10px;position:absolute;top:4px;right:4px}.intro-copy{max-width:580px;margin:72px 0;position:relative}.eyebrow{color:#668072;letter-spacing:.17em;text-transform:uppercase;margin:0 0 18px;font-size:11px;font-weight:700}.login-intro .eyebrow{color:var(--lime)}.intro-copy h1{letter-spacing:-.055em;max-width:560px;margin:0;font:600 clamp(38px,4.1vw,66px)/1.08 Manrope,sans-serif}.intro-copy>p:last-child{color:#baccc1;max-width:440px;margin:28px 0 0;font-size:16px;line-height:1.7}.intro-footer{color:#7e9a8a;letter-spacing:.2em;margin:0;font-size:10px;font-weight:700;position:relative}.login-panel{background:#f8faf7;place-items:center;padding:48px clamp(28px,7vw,110px);display:grid}.login-card{width:min(100%,420px)}.mobile-brand{display:none}.form-heading{margin-bottom:38px}.form-heading h2{letter-spacing:-.045em;margin:0;font:700 clamp(30px,3vw,40px)/1.2 Manrope,sans-serif}.form-heading>p:last-child{color:var(--muted);margin:12px 0 0;line-height:1.6}.login-card label{color:#314139;gap:9px;margin-top:21px;font-size:13px;font-weight:600;display:grid}.login-card input{border:1px solid var(--line);width:100%;min-height:52px;color:var(--ink);background:var(--surface);border-radius:10px;outline:none;padding:0 16px;transition:border-color .18s,box-shadow .18s}.login-card input::placeholder{color:#9ba69f}.login-card input:focus{border-color:#3b7158;box-shadow:0 0 0 3px #1b513b1a}.error-message{color:#8a3028;background:#fff3f1;border:1px solid #efd2ce;border-radius:9px;margin-top:18px;padding:12px 14px;font-size:13px;line-height:1.45}.success-message{color:#275c2d;background:#f0f8ed;border:1px solid #cfe2c8;border-radius:9px;margin-top:18px;padding:12px 14px;font-size:13px;line-height:1.45}.primary-button,.secondary-button{border:0;border-radius:10px;min-height:50px;font-weight:700;transition:transform .15s,background .15s}.primary-button{color:#fff;background:var(--forest);width:100%;margin-top:26px;box-shadow:0 10px 22px #123b2a29}.primary-button:not(:disabled):hover{background:var(--forest-light);transform:translateY(-1px)}.auth-switch{color:#89958e;text-align:center;max-width:350px;margin:22px auto 0;font-size:13px;line-height:1.55}.auth-switch a{color:var(--forest-light);text-underline-offset:3px;font-weight:700}.auth-switch a:hover{color:var(--forest)}.signup-panel{overflow-y:auto}.signup-panel .login-card{padding:28px 0}.signup-heading{margin-bottom:26px}.signup-panel .login-card label{margin-top:15px}.loading-screen{background:var(--forest);color:#b8cabf;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;display:flex}.loading-screen .brand-mark{width:48px;height:48px}.loading-screen p{margin:18px 0 0;font-size:13px}.loading-bar{background:#ffffff1f;width:112px;height:2px;margin-top:30px;overflow:hidden}.loading-bar:after{content:"";background:var(--lime);width:45%;height:100%;animation:1.1s ease-in-out infinite alternate load;display:block}@keyframes load{0%{transform:translate(-100%)}to{transform:translate(225%)}}.app-shell{background:#f5f7f4;min-height:100dvh;display:flex}.app-sidebar{z-index:30;color:#d9e5de;background:var(--forest);flex-direction:column;width:250px;padding:26px 18px 22px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-brand{justify-content:space-between;align-items:center;padding:0 5px;display:flex}.sidebar-close{color:#fff!important;display:none!important}.sidebar-label{color:#789588;letter-spacing:.17em;text-transform:uppercase;margin:38px 13px 12px;font-size:10px;font-weight:700}.sidebar-nav{gap:4px;display:grid}.nav-item{color:#a9bdb2;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:12px;width:100%;min-height:43px;padding:0 13px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.nav-item.is-active{color:#fff;box-shadow:inset 3px 0 var(--lime);background:#a7c95724}.sidebar-bottom{gap:16px;margin-top:auto;display:grid}.sidebar-user{border-top:1px solid #ffffff1a;align-items:center;gap:11px;min-width:0;padding:17px 10px 0;display:flex}.sidebar-user div{gap:3px;min-width:0;display:grid}.sidebar-user strong,.sidebar-user span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-user strong{color:#f4f8f5;font-size:12px}.sidebar-user div span{color:#789588;font-size:10px}.avatar{width:34px;height:34px;color:var(--forest);background:var(--lime);border-radius:10px;flex:none;place-items:center;font-size:12px;font-weight:800;display:grid}.avatar.small{border-radius:9px;width:30px;height:30px}.sidebar-backdrop{display:none}.app-frame{width:calc(100% - 250px);min-width:0;margin-left:250px}.app-header{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffed;justify-content:space-between;align-items:center;height:72px;padding:0 clamp(20px,3vw,42px);display:flex;position:sticky;top:0}.header-title{align-items:center;gap:12px;display:flex}.header-title span{color:#8a978f;letter-spacing:.08em;text-transform:uppercase;font-size:10px}.header-title h1{color:var(--ink);margin:2px 0 0;font:700 17px Manrope,sans-serif}.header-actions{align-items:center;gap:8px;display:flex}.icon-button{color:#53655a;background:0 0;border:0;border-radius:9px;place-items:center;width:38px;height:38px;display:grid}.icon-button:hover{background:#eef2ef}.menu-button{display:none}.notification-button{position:relative}.notification-button>span{color:#fff;background:#a75042;border:2px solid #fff;border-radius:8px;place-items:center;min-width:16px;height:16px;font-size:8px;font-weight:700;display:grid;position:absolute;top:3px;right:1px}.header-date{color:#66766d;margin:0 10px;font-size:11px}.profile-menu{position:relative}.profile-menu summary{cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:4px;list-style:none;display:flex}.profile-menu summary::-webkit-details-marker{display:none}.profile-menu summary:hover{background:#f1f4f1}.profile-name{color:#314139;text-overflow:ellipsis;white-space:nowrap;max-width:110px;font-size:12px;font-weight:700;overflow:hidden}.profile-dropdown{border:1px solid var(--line);background:#fff;border-radius:12px;width:230px;padding:9px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 16px 40px #1b352721}.profile-details{border-bottom:1px solid #edf0ed;gap:4px;padding:10px 10px 13px;display:grid}.profile-details strong{font-size:12px}.profile-details span{overflow-wrap:anywhere;color:var(--muted);font-size:10px}.profile-dropdown button{color:#46584e;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;width:100%;padding:10px;font-size:12px;display:flex}.profile-dropdown button:hover{background:#f2f5f2}.dashboard-page{width:min(100%,1460px);margin:0 auto}.dashboard-hero{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.dashboard-hero p{color:#73837a;margin:0 0 3px;font-size:14px}.dashboard-hero h2{color:var(--forest);letter-spacing:-.045em;margin:0;font:700 clamp(30px,3.4vw,46px)/1.15 Manrope,sans-serif}.dashboard-hero>div>span{color:var(--muted);margin-top:10px;font-size:13px;display:block}.quick-actions{justify-items:end;gap:8px;display:grid}.quick-actions>span{color:#839087;letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:700}.quick-actions>div{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.quick-actions button{color:#355143;background:#fff;border:1px solid #d6ded8;border-radius:9px;align-items:center;gap:7px;min-height:37px;padding:0 12px;font-size:11px;font-weight:700;display:flex}.quick-actions button:first-child{border-color:var(--forest);color:#fff;background:var(--forest)}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.kpi-card,.section-card{background:#fff;border:1px solid #dfe5e0;border-radius:14px;box-shadow:0 3px 16px #19372709}.kpi-card{min-height:146px;padding:20px;position:relative}.kpi-icon{color:#557063;background:#edf2ee;border-radius:10px;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:18px;right:18px}.kpi-icon.warning{color:#8b6a2b;background:#faf3df}.kpi-icon.danger{color:#9b4c40;background:#faece9}.kpi-icon.positive{color:#417946;background:#eaf4e8}.kpi-label{color:#697970;font-size:11px;font-weight:600}.kpi-card>strong{color:var(--ink);letter-spacing:-.04em;margin-top:14px;font:700 32px Manrope,sans-serif;display:block}.kpi-card p{color:#7e8b83;margin:6px 0 0;font-size:10px}.kpi-card p.danger{color:#a0493d}.kpi-card p.warning{color:#8b6a2b}.kpi-card p.positive{color:#438049}.dashboard-grid{grid-template-columns:minmax(0,1.75fr) minmax(300px,.85fr);align-items:start;gap:20px;display:grid}.dashboard-primary,.dashboard-secondary{gap:20px;min-width:0;display:grid}.section-card{min-width:0;padding:22px}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:19px;display:flex}.section-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.section-kicker{color:#87948c;letter-spacing:.13em;text-transform:uppercase;margin-bottom:4px;font-size:9px;font-weight:700;display:block}.section-heading h2{color:#23352b;letter-spacing:-.02em;margin:0;font:700 16px Manrope,sans-serif}.count-badge{color:#7e3c33;background:#f8e9e6;border-radius:14px;place-items:center;min-width:27px;height:27px;font-size:11px;font-weight:700;display:grid}.text-button{color:#416b55;background:0 0;border:0;align-items:center;gap:6px;padding:5px;font-size:10px;font-weight:700;display:flex}.attention-list{display:grid}.attention-item{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-bottom:1px solid #edf0ed;grid-template-columns:5px minmax(0,1fr) auto 18px;align-items:center;gap:13px;padding:13px 5px;display:grid}.attention-item:last-child{border-bottom:0}.attention-item:hover{background:#fafcfa}.attention-marker{background:#bb6254;border-radius:4px;width:4px;height:35px}.attention-copy{gap:3px;min-width:0;display:grid}.attention-copy small{color:#7c8b82;text-transform:uppercase;font-size:9px}.attention-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.attention-copy span{color:#9a5b50;font-size:10px}.priority{color:#766034;text-transform:uppercase;background:#f7f0df;border-radius:7px;padding:4px 7px;font-size:8px;font-weight:800}.priority.low{color:#426f57;background:#eaf2ed}.mini-stats{background:#fafbfa;border:1px solid #e8ece9;border-radius:11px;grid-template-columns:repeat(4,1fr);padding:14px 0;display:grid}.mini-stats>div{border-right:1px solid #e2e7e3;gap:4px;padding:0 15px;display:grid}.mini-stats>div:last-child{border:0}.mini-stats strong{color:#294435;font:700 18px Manrope,sans-serif}.mini-stats span{color:#829087;font-size:9px}.table-scroll{margin-top:14px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:10px}th{color:#849188;letter-spacing:.08em;text-align:left;text-transform:uppercase;padding:10px;font-size:8px}td{color:#617168;white-space:nowrap;border-top:1px solid #edf0ed;padding:11px 10px}td strong{color:#33473c;font-weight:600}.status-pill{color:#45704f;background:#eaf3e9;border-radius:7px;padding:4px 7px;font-size:8px;font-weight:700;display:inline-block}.status-pill.expiring-soon,.status-pill.upcoming{color:#86662e;background:#faf2dc}.status-pill.expired{color:#934b40;background:#f9e9e6}.compliance-stats{margin-bottom:18px}.progress-heading{color:#64746b;justify-content:space-between;font-size:10px;display:flex}.progress-heading strong{color:var(--forest)}.progress-track{background:#e8ece9;border-radius:4px;height:6px;margin-top:8px;overflow:hidden}.progress-track span{border-radius:inherit;background:#66906f;height:100%;display:block}.obligation-list{margin-top:17px;display:grid}.obligation-list>div{border-top:1px solid #edf0ed;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 0;display:grid}.obligation-list strong{font-size:10px;font-weight:600}.status-dot-small{background:#779485;border-radius:50%;width:6px;height:6px}.status-dot-small.completed{background:#5c9861}.status-dot-small.overdue{background:#b5584a}.status-dot-small.upcoming{background:#b48b3e}.status-text{color:#78867e;font-size:8px}.status-text.overdue{color:#a34c40}.category-chips{gap:6px;padding-bottom:9px;display:flex;overflow-x:auto}.category-chips span{color:#718078;background:#fafbfa;border:1px solid #e0e6e1;border-radius:7px;flex:none;padding:5px 8px;font-size:8px}.monitoring-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.monitoring-grid article{color:#53705f;border:1px solid #e7ebe8;border-radius:10px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;padding:12px;display:grid}.monitoring-grid article>svg{box-sizing:content-box;background:#edf3ef;border-radius:8px;padding:7px}.monitoring-grid article div{gap:3px;display:grid}.monitoring-grid article div span{color:#859189;font-size:8px}.task-list{display:grid}.task-row{cursor:pointer;border-top:1px solid #edf0ed;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px 2px;display:grid;position:relative}.task-row:first-child{border-top:0}.task-row input{opacity:0;position:absolute}.custom-check{border:1px solid #b9c6be;border-radius:5px;width:17px;height:17px}.task-row input:focus-visible+.custom-check{outline:3px solid #1b513b26}.task-row input:checked+.custom-check{background:#568064;border-color:#568064;box-shadow:inset 0 0 0 4px #fff}.task-copy{gap:3px;min-width:0;display:grid}.task-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.task-copy span{color:#87938c;font-size:9px}.task-row.is-complete .task-copy{opacity:.52;text-decoration:line-through}.deadline-list{gap:0;margin:0;padding:0;list-style:none;display:grid;position:relative}.deadline-list:before{content:"";background:#e2e8e3;width:1px;position:absolute;top:20px;bottom:20px;left:21px}.deadline-list li{align-items:center;gap:13px;min-height:62px;display:flex;position:relative}.deadline-list time{z-index:1;background:#fff;border:1px solid #dde5df;border-radius:10px;align-content:center;place-items:center;width:43px;height:43px;display:grid}.deadline-list time span{color:#87948c;text-transform:uppercase;font-size:7px}.deadline-list time strong{color:#385443;font:700 14px Manrope,sans-serif}.deadline-list p{color:#42544a;margin:0;font-size:10px;font-weight:600}.project-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.project-list article{border:1px solid #e6ebe7;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:13px;display:grid}.project-list article>div:first-child{gap:4px;min-width:0;display:grid}.project-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.project-list article span{color:#819087;font-size:8px}.project-list b{color:#4a7059;font-size:10px}.project-list .progress-track{grid-column:1/-1;margin-top:0}.activity-list{display:grid}.activity-list>div{border-top:1px solid #edf0ed;gap:10px;padding:11px 0;display:flex}.activity-list>div:first-child{border-top:0}.activity-icon{color:#557461;background:#edf3ef;border-radius:8px;flex:none;place-items:center;width:29px;height:29px;display:grid}.activity-list p{gap:3px;margin:0;display:grid}.activity-list p span{color:#8b978f;font-size:8px}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c1f1685;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.action-modal{text-align:center;background:#fff;border-radius:16px;width:min(100%,380px);padding:30px;position:relative;box-shadow:0 25px 70px #0a1e1442}.modal-close{position:absolute;top:10px;right:10px}.modal-icon{width:46px;height:46px;color:var(--forest);background:#eaf2ec;border-radius:13px;place-items:center;margin:0 auto 16px;display:grid}.action-modal h2{margin:0;font:700 20px Manrope,sans-serif}.action-modal p{color:var(--muted);margin:12px 0 22px;font-size:12px;line-height:1.6}.modal-button{color:#fff;background:var(--forest);border:0;border-radius:9px;min-height:41px;padding:0 22px;font-weight:700}:focus-visible{outline-offset:2px;outline:3px solid #5480634d}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.module-page{width:min(100%,1460px);margin:0 auto}.module-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:26px;display:flex}.module-header h2{color:var(--forest);letter-spacing:-.045em;margin:0;font:700 clamp(28px,3vw,40px)/1.15 Manrope,sans-serif}.module-header p{max-width:680px;color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.6}.module-primary{color:#fff;background:var(--forest);white-space:nowrap;border:0;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:0 15px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.module-primary:hover{background:var(--forest-light)}.module-primary.inline{margin-top:18px}.module-toolbar{gap:9px;margin-bottom:15px;display:flex}.search-input{color:#7b8a81;background:#fff;border:1px solid #dbe2dc;border-radius:9px;flex:1;align-items:center;gap:8px;min-width:250px;min-height:41px;padding:0 12px;display:flex}.search-input input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:11px}.filter-select select{color:#53655a;background:#fff;border:1px solid #dbe2dc;border-radius:9px;min-height:41px;padding:0 32px 0 12px;font-size:10px}.module-table .table-scroll{margin:0}.module-table table{min-width:760px}.module-table a{color:inherit;text-decoration:none}.module-table td:first-child a:hover{color:#3f7658}.row-action{background:#edf2ee;border:0;border-radius:7px;place-items:center;min-width:29px;height:29px;padding:0 7px;font-size:9px;display:inline-grid;color:#587064!important}.empty-state{color:#829087;text-align:center;justify-items:center;gap:6px;padding:48px 20px;display:grid}.empty-state strong{color:#4b5e53;font-size:12px}.form-modal{text-align:left;max-height:min(760px,100dvh - 30px);overflow-y:auto}.form-modal>h2{margin-bottom:20px}.module-form{gap:13px;display:grid}.module-form label,.settings-card label{color:#56675d;gap:6px;font-size:10px;font-weight:600;display:grid}.module-form input,.module-form textarea,.settings-card input,.settings-card select{width:100%;min-height:40px;color:var(--ink);background:#fff;border:1px solid #dbe2dc;border-radius:8px;outline:0;padding:9px 11px;font-size:11px}.module-form textarea{resize:vertical;min-height:70px}.module-form .module-primary{margin-top:6px}.module-tabs{gap:5px;margin-bottom:14px;padding-bottom:4px;display:flex;overflow-x:auto}.module-tabs button{color:#68786f;background:#fff;border:1px solid #dce3dd;border-radius:8px;flex:none;min-height:34px;padding:0 10px;font-size:9px}.module-tabs button.active{border-color:var(--forest);color:#fff;background:var(--forest)}.task-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.task-groups .section-heading h2{margin:0;font:700 14px Manrope,sans-serif}.module-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.module-project{color:inherit;grid-template-columns:minmax(0,1fr) auto;gap:16px;text-decoration:none;display:grid}.module-project:hover{border-color:#b8c8bd;transform:translateY(-1px)}.module-project h3{margin:5px 0 10px;font:700 14px/1.35 Manrope,sans-serif}.module-project>strong{color:#4e745d;font-size:15px}.module-project .progress-track,.module-project small{grid-column:1/-1}.module-project small{color:#839087;font-size:9px}.document-name{align-items:center;gap:7px;display:inline-flex}.file-placeholder{color:#75857c;background:#f7f9f7;border:1px dashed #cbd7cf;border-radius:9px;align-items:center;gap:10px;margin-bottom:16px;padding:15px;font-size:10px;display:flex}.calendar-heading{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.calendar-heading h3{margin:0;font:700 15px Manrope,sans-serif}.calendar-heading button{color:#4f6558;background:#fff;border:1px solid #dde4de;border-radius:8px;width:32px;height:32px;font-size:20px}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-grid.weekdays span{color:#839087;text-align:center;padding:9px;font-size:9px;font-weight:700}.calendar-day{border-top:1px solid #e5eae6;border-right:1px solid #e5eae6;min-height:105px;padding:8px}.calendar-day:nth-child(7n){border-right:0}.calendar-day>span{color:#65766c;font-size:9px}.calendar-day button{color:#355b46;text-align:left;background:#e9f1eb;border:0;border-radius:6px;width:100%;margin-top:8px;padding:7px;font-size:8px}.calendar-day.muted{background:#fafbfa}.detail-card{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0;display:grid;overflow:hidden}.detail-card>div{border-bottom:1px solid #e7ebe8;border-right:1px solid #e7ebe8;gap:6px;min-height:92px;padding:20px;display:grid}.detail-card span{color:#839087;text-transform:capitalize;font-size:9px}.detail-list{display:grid}.detail-list>div{border-bottom:1px solid #edf0ed;justify-content:space-between;padding:12px 0;font-size:11px;display:flex}.detail-list span{color:#819087}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.settings-card h2{margin:0 0 18px;font:700 15px Manrope,sans-serif}.settings-card form,.settings-card{align-content:start;gap:15px;display:grid}.settings-card .module-primary{justify-self:start}.settings-success{color:#438049;margin:0;font-size:10px}.toggle-row{border-bottom:1px solid #edf0ed;justify-content:space-between;align-items:center;padding:10px 0;display:flex!important}.toggle-row input{width:35px;min-height:20px;accent-color:var(--forest)}.notification-wrap{position:relative}.notification-panel{z-index:60;border:1px solid var(--line);background:#fff;border-radius:12px;width:290px;padding:9px;position:absolute;top:calc(100% + 9px);right:0;box-shadow:0 16px 40px #1b352724}.notification-panel>div{border-bottom:1px solid #edf0ed;justify-content:space-between;align-items:center;padding:8px 8px 11px;font-size:11px;display:flex}.notification-panel>div button{background:0 0;border:0}.notification-panel>button{color:#3c4f44;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf0ed;grid-template-columns:4px 1fr;gap:10px;width:100%;padding:11px 8px;display:grid}.notification-panel>button:last-child{border:0}.notification-panel>button>span:last-child{gap:3px;font-size:10px;display:grid}.notification-panel small{color:#89968e;font-size:8px}.search-overlay{z-index:90;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0d1f167a;place-items:start center;padding:12vh 20px 20px;display:grid;position:fixed;inset:0}.global-search{background:#fff;border-radius:14px;width:min(100%,620px);overflow:hidden;box-shadow:0 25px 70px #081c1140}.global-search-input{color:#75857c;border-bottom:1px solid #e4e9e5;align-items:center;gap:10px;height:58px;padding:0 16px;display:flex}.global-search-input input{border:0;outline:0;flex:1;font-size:13px}.global-search-input button{background:0 0;border:0}.search-results{max-height:420px;padding:8px;display:grid;overflow-y:auto}.search-results button{color:#35483d;text-align:left;background:#fff;border:0;border-radius:8px;grid-template-columns:80px 1fr;gap:10px;padding:12px;display:grid}.search-results button:hover{background:#f1f5f2}.search-results span{color:#71877a;text-transform:uppercase;font-size:8px;font-weight:700}.search-results strong{font-size:11px}.search-results p{color:#819087;text-align:center;padding:24px;font-size:11px}@media (width<=800px){.login-layout{grid-template-columns:1fr}.login-intro{display:none}.login-panel{min-height:100dvh;padding:max(30px, env(safe-area-inset-top)) 24px max(30px, env(safe-area-inset-bottom));align-items:center}.mobile-brand{color:var(--forest);margin-bottom:64px;display:flex}.form-heading{margin-bottom:30px}.signup-panel{align-items:start}.signup-panel .login-card{padding:12px 0}.signup-panel .mobile-brand{margin-bottom:42px}}.module-form select,.settings-card select,.filter-select select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23646a70' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:44px}.permit-form .checkbox-field input{border-radius:5px;width:17px;height:17px}@media (width<=680px){.form-modal{padding:28px 20px}}.form-modal{border:1px solid #60656a24;border-radius:18px;width:min(100%,760px);padding:34px 36px}.form-modal>h2{letter-spacing:-.035em;margin-bottom:26px;font-size:28px}.module-form input:not([type=checkbox]):not([type=color]),.module-form textarea,.module-form select,.settings-card input,.settings-card select,.filter-select select{color:#303438;background-color:#f8f8f9;border:1px solid #d5d7da;border-radius:10px;outline:0;width:100%;min-height:52px;padding:0 15px;font-family:inherit;font-size:14px;font-weight:500;transition:border-color .15s,box-shadow .15s,background-color .15s;box-shadow:inset 0 1px #ffffffbf}.module-form select,.settings-card select,.filter-select select,.permit-form select,.monitoring-form select{appearance:none;color:#303438;cursor:pointer;background-color:#f8f8f9;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23646a70' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;border-radius:10px;min-height:52px;padding:0 44px 0 15px;font-size:14px;font-weight:600}.module-form input:not([type=checkbox]):focus,.module-form textarea:focus,.module-form select:focus,.settings-card input:focus,.settings-card select:focus,.filter-select select:focus{background-color:#fff;border-color:#777d82;box-shadow:0 0 0 4px #4a4f5417}.module-form textarea{min-height:112px;padding-block:14px;line-height:1.55}.permit-form .checkbox-field{color:#63696e;align-self:auto;min-height:26px;padding:0 2px;font-size:12px;font-weight:550}@media (width<=680px){.form-modal{padding:28px 20px}}@media (width<=1100px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.dashboard-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-secondary .activity-section{grid-column:1/-1}.module-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.app-sidebar{transition:transform .22s;transform:translate(-102%);box-shadow:15px 0 50px #0a1f1533}.app-sidebar.is-open{transform:translate(0)}.sidebar-close{display:grid!important}.sidebar-backdrop{z-index:29;visibility:hidden;opacity:0;background:#0c1e1566;transition:opacity .2s,visibility .2s;display:block;position:fixed;inset:0}.sidebar-backdrop.is-visible{visibility:visible;opacity:1}.app-frame{width:100%;margin-left:0}.menu-button{display:grid}}@media (width<=680px){.app-header{height:64px;padding:0 14px}.header-title span,.header-date,.profile-name,.search-button{display:none}.header-title h1{margin:0}.app-content{padding:24px 15px 42px}.dashboard-hero{flex-direction:column;align-items:stretch}.quick-actions{justify-items:start}.quick-actions>div{justify-content:flex-start}.quick-actions button{flex:calc(50% - 5px);justify-content:center}.kpi-grid{grid-template-columns:1fr 1fr;gap:10px}.kpi-card{min-height:133px;padding:16px}.kpi-icon{width:31px;height:31px;top:14px;right:14px}.kpi-card>strong{font-size:27px}.section-card{padding:18px 15px}.dashboard-secondary{grid-template-columns:1fr}.dashboard-secondary .activity-section{grid-column:auto}.mini-stats{grid-template-columns:repeat(2,1fr);row-gap:14px}.mini-stats>div:nth-child(2){border-right:0}.mini-stats>div:nth-child(n+3){border-top:1px solid #e2e7e3;padding-top:13px}.monitoring-grid,.project-list{grid-template-columns:1fr}.attention-item{grid-template-columns:5px minmax(0,1fr) auto}.attention-item>svg{display:none}.attention-item .priority{align-self:start}.section-heading .text-button{text-align:right;justify-content:flex-end;max-width:100px}.module-header{flex-direction:column;align-items:stretch}.module-header .module-primary{align-self:flex-start}.module-toolbar{flex-direction:column}.search-input{min-width:0}.filter-select select{width:100%}.task-groups,.module-project-grid,.settings-grid,.detail-card{grid-template-columns:1fr}.calendar-card{overflow-x:auto}.calendar-grid{min-width:640px}.notification-panel{width:auto;position:fixed;top:62px;left:10px;right:10px}}.sidebar-collapsed .app-sidebar{width:76px}.sidebar-collapsed .app-frame{width:calc(100% - 76px);margin-left:76px}.app-sidebar.is-collapsed .brand-lockup>span,.app-sidebar.is-collapsed .sidebar-label,.app-sidebar.is-collapsed .nav-item span,.app-sidebar.is-collapsed .sidebar-user div{display:none}.app-sidebar.is-collapsed .sidebar-brand,.app-sidebar.is-collapsed .nav-item{justify-content:center}.app-sidebar.is-collapsed .nav-item{padding:0}.app-sidebar.is-collapsed .sidebar-user{justify-content:center;padding-inline:0}@media (width>=901px){.app-sidebar.is-collapsed{transition:width .18s,box-shadow .18s}.app-sidebar.is-collapsed:hover,.app-sidebar.is-collapsed:focus-within{width:var(--sidebar-width);box-shadow:14px 0 30px #181b1d1a}.app-sidebar.is-collapsed:hover .brand-lockup>span,.app-sidebar.is-collapsed:hover .sidebar-label,.app-sidebar.is-collapsed:hover .nav-item span,.app-sidebar.is-collapsed:hover .sidebar-user div,.app-sidebar.is-collapsed:focus-within .brand-lockup>span,.app-sidebar.is-collapsed:focus-within .sidebar-label,.app-sidebar.is-collapsed:focus-within .nav-item span,.app-sidebar.is-collapsed:focus-within .sidebar-user div{display:initial}.app-sidebar.is-collapsed:hover .sidebar-brand,.app-sidebar.is-collapsed:hover .nav-item,.app-sidebar.is-collapsed:focus-within .sidebar-brand,.app-sidebar.is-collapsed:focus-within .nav-item{justify-content:flex-start}.app-sidebar.is-collapsed:hover .nav-item,.app-sidebar.is-collapsed:focus-within .nav-item{padding:0 13px}.app-sidebar.is-collapsed:hover .sidebar-user,.app-sidebar.is-collapsed:focus-within .sidebar-user{justify-content:flex-start;padding-inline:8px}}.table-sort-button{color:inherit;font:inherit;font-weight:inherit;white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.table-sort-button svg{color:var(--muted);opacity:.72}.item-actions,.row-actions{align-items:center;gap:5px;display:inline-flex}.item-actions button{color:#597066;background:#edf2ee;border:0;border-radius:7px;place-items:center;width:32px;height:32px;display:grid}.item-actions button.delete{color:#9a4d43;background:#faece9}.task-row{border-left:3px solid var(--task-color,#6f955d);grid-template-columns:20px minmax(0,1fr) auto auto;padding-left:10px}.task-check{display:grid}.module-form input[type=color]{cursor:pointer;width:64px;padding:4px}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#e9f0eb;--muted:#a7b4ac;--line:#34473d;--surface:#1b2a22}[data-theme=dark] .app-sidebar,[data-theme=dark] .app-header,[data-theme=dark] .section-card,[data-theme=dark] .kpi-grid,[data-theme=dark] .kpi-card,[data-theme=dark] .action-modal,[data-theme=dark] .profile-dropdown,[data-theme=dark] .notification-panel,[data-theme=dark] .global-search,[data-theme=dark] .quick-more summary,[data-theme=dark] .quick-more>div,[data-theme=dark] .quick-more>div button{color:#e5ece7;background:#1b2a22;border-color:#34473d}[data-theme=dark] .app-sidebar{background:#14241c}[data-theme=dark] .nav-item{color:#aab9b0}[data-theme=dark] .header-title h1,[data-theme=dark] .dashboard-hero h2,[data-theme=dark] .module-header h2,[data-theme=dark] .section-heading h2,[data-theme=dark] td strong,[data-theme=dark] .sidebar-brand .brand-lockup{color:#edf4ef}[data-theme=dark] .search-button,[data-theme=dark] .search-input,[data-theme=dark] select,[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] .calendar-day,[data-theme=dark] .mini-stats{color:#dce6df;background:#213129;border-color:#3a4d42}[data-theme=dark] td,[data-theme=dark] th,[data-theme=dark] .task-row,[data-theme=dark] .attention-item,[data-theme=dark] .activity-list>div{border-color:#31443a}@media (width<=900px){.sidebar-collapsed .app-frame{width:100%;margin-left:0}.app-sidebar.is-collapsed{width:244px}.app-sidebar.is-collapsed .brand-lockup>span,.app-sidebar.is-collapsed .sidebar-label,.app-sidebar.is-collapsed .nav-item span,.app-sidebar.is-collapsed .sidebar-user div{display:initial}.app-sidebar.is-collapsed .nav-item{justify-content:flex-start;padding:0 13px}.collapse-control{display:none}}:root{--ink:#202327;--muted:#6f747b;--line:#dedfe2;--surface:#fff;--forest:#30363a;--forest-light:#454c51;--lime:#93a187}body,.app-shell{color:#24272b;background:#f1f2f3}.app-sidebar{color:#d7dadd;background:#25292d;border-right-color:#353a3f}.sidebar-brand .brand-lockup{color:#f5f6f7}.sidebar-brand .brand-mark i{background:#9eaa94}.sidebar-label{color:#858b91}.nav-item{color:#aeb3b8}.nav-item.is-active{color:#fff;background:#3a4044;box-shadow:inset 3px 0 #a4ae9b}.sidebar-user{border-top-color:#3a3f44}.avatar{color:#262a2e;background:#b7beb1}.app-header{background:#fafafaf5;border-bottom-color:#dedfe2}.header-title h1,.dashboard-hero h2,.module-header h2{color:#25282c}.search-button{background:#f4f4f5;border-color:#dedfe2}.search-button:after{color:#757a80}.section-card,.kpi-grid,.kpi-card,.action-modal,.profile-dropdown,.notification-panel,.global-search,.quick-more summary,.quick-more>div,.quick-more>div button{background:#fafafa;border-color:#dedfe2;box-shadow:0 8px 28px #23262a0e}.kpi-card{box-shadow:none}.kpi-card:not(:last-child){border-right-color:#e2e3e5}.kpi-icon,.activity-icon,.monitoring-grid article>svg,.row-action,.item-actions button{color:#555c61;background:#eceeef}.quick-primary,.module-primary,.modal-button{background:#34393d;border-color:#34393d}.quick-primary:hover,.module-primary:hover,.modal-button:hover{background:#484e53}.quick-more summary,.filter-select select,.search-input,.module-form input,.module-form textarea,.settings-card input,.settings-card select{color:#3e4348;background:#f7f7f8;border-color:#d9dade}.attention-item:hover,.profile-dropdown button:hover,.quick-more>div button:hover,.search-results button:hover{background:#f0f1f2}.attention-marker{background:#8f7772}.priority.high{color:#7a4540;background:#eee4e2}.priority.medium{color:#6f6045;background:#eeeae0}.status-pill,.priority.low{color:#4f5d52;background:#e5e9e5}.progress-track{background:#e0e2e3}.progress-track span{background:#727d74}.category-chips span,.monitoring-grid article,.project-list article{background:#f6f6f7;border-color:#dedfe2}.task-row{border-left-color:var(--task-color,#7f8981)}.table-scroll th{color:#696e74;background:#f2f3f4}.table-scroll td{border-color:#e2e3e5}.theme-control,.collapse-control{color:#b9bec2}[data-theme=dark]{--ink:#eceeef;--muted:#a6abb0;--line:#3d4146;--surface:#25292d;--forest:#d8dcdf;--forest-light:#f1f2f3}[data-theme=dark] .app-sidebar{background:#111315;border-right-color:#2c3034}[data-theme=dark] .nav-item:hover,[data-theme=dark] .nav-item.is-active{background:#2c3034}.permit-form{grid-template-columns:repeat(2,minmax(0,1fr))}.permit-form .form-wide{grid-column:1/-1}.permit-form .checkbox-field{flex-direction:row;align-self:end;align-items:center;gap:10px;min-height:46px;padding:0 4px;display:flex}.permit-form .checkbox-field input{accent-color:#50555a;width:18px;min-height:18px;margin:0}.permit-form .checkbox-field span{margin:0}.permit-form small{color:var(--muted);font-size:12px;line-height:1.45}.permit-form input:disabled{cursor:not-allowed;opacity:.58}.monitoring-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.monitoring-form select{width:100%;min-height:46px;color:var(--ink);background:var(--surface);font:inherit;border:1px solid #d9dade;border-radius:9px;padding:0 14px}.view-tabs{margin-bottom:14px}.view-tabs button{align-items:center;gap:7px;display:inline-flex}.category-tabs{margin-bottom:18px}.coordinate-link{color:var(--muted);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.database-note{color:var(--ink);flex-direction:column;gap:4px;margin-bottom:18px;display:flex}.database-note span{color:var(--muted);font-size:13px}.monitoring-map{grid-template-columns:280px minmax(0,1fr);gap:18px;min-height:520px;display:grid}.map-sidebar{flex-direction:column;gap:8px;max-height:520px;display:flex;overflow-y:auto}.map-sidebar button{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--surface);text-align:left;cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:13px;display:flex}.map-sidebar button.active{background:#e8e9eb;border-color:#73777b}.map-sidebar span{flex-direction:column;gap:3px;display:flex}.map-sidebar small{color:var(--muted)}.map-frame{border:1px solid var(--line);border-radius:12px;min-height:480px;position:relative;overflow:hidden}.map-frame iframe{border:0;width:100%;height:100%;min-height:480px}.map-frame a{color:#fff;background:#34383b;border-radius:8px;align-items:center;gap:6px;padding:9px 12px;font-size:12px;text-decoration:none;display:inline-flex;position:absolute;bottom:12px;right:12px}@media (width<=760px){.monitoring-form,.monitoring-map{grid-template-columns:1fr}.map-sidebar{max-height:210px}}.database-toolbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.sync-message{margin-bottom:16px}.monitoring-map-workspace{grid-template-columns:290px minmax(0,1fr);gap:16px;min-height:620px;display:grid}.map-layer-panel,.leaflet-map-shell{border:1px solid var(--line);background:var(--surface);border-radius:13px;overflow:hidden}.map-layer-panel{padding:18px}.map-panel-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.map-add-data,.polygon-tools>button{border:1px solid var(--line);color:var(--ink);background:var(--surface);border-radius:8px;padding:8px 10px;font-size:12px}.map-layer-panel>p{color:var(--muted);margin:8px 0 16px;font-size:12px}.layer-checks{flex-direction:column;gap:9px;display:flex}.layer-checks label,.saved-polygon{color:var(--ink);align-items:center;gap:8px;font-size:13px;display:flex}.layer-checks i,.saved-polygon i{border-radius:50%;width:10px;height:10px}.polygon-tools{border-top:1px solid var(--line);flex-direction:column;gap:9px;margin-top:24px;padding-top:18px;display:flex}.saved-polygon span{flex:1}.saved-polygon button{color:#a34d46;background:0 0;border:0;font-size:20px}.leaflet-monitoring-map{background:#e7e8e9;width:100%;height:620px}.leaflet-map-shell.is-drawing .leaflet-container{cursor:crosshair}@media (width<=800px){.monitoring-map-workspace{grid-template-columns:1fr}.leaflet-monitoring-map{height:480px}.database-toolbar{flex-direction:column}}.permit-form select{width:100%;min-height:46px;color:inherit;font:inherit;background:#f7f7f8;border:1px solid #d9dade;border-radius:8px;padding:0 13px}.back-link{color:#596068;align-items:center;gap:7px;margin-bottom:20px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.back-link:hover{color:#25282c}.document-link{color:#4d6260;align-items:center;gap:7px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.document-link:hover{text-decoration:underline}[data-theme=dark] .permit-form select{color:#dce1e4;background:#303438;border-color:#494e53}[data-theme=dark] .back-link,[data-theme=dark] .document-link{color:#c0c6c9}@media (width<=680px){.permit-form{grid-template-columns:1fr}.permit-form .form-wide{grid-column:auto}}[data-theme=dark] .search-button,[data-theme=dark] .search-input,[data-theme=dark] select,[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] .calendar-day,[data-theme=dark] .mini-stats,[data-theme=dark] .monitoring-grid article,[data-theme=dark] .project-list article{color:#dde0e2;background:#202428;border-color:#3b4045}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{color:#17251f;font-size:var(--font-md);background:#f7f9f7;line-height:1.5}.app-sidebar{width:var(--sidebar-width);padding:30px 20px 24px}.sidebar-brand .brand-lockup{gap:14px;font-size:18px}.sidebar-brand .brand-mark{width:40px;height:40px;font-size:21px}.sidebar-label{font-size:var(--font-xs);margin:40px 14px 14px}.nav-item{border-radius:var(--radius-md);gap:14px;min-height:50px;padding:0 15px;font-size:15px}.sidebar-user{gap:13px;padding:20px 10px 0}.sidebar-user strong{font-size:var(--font-sm)}.sidebar-user div span{font-size:var(--font-xs)}.avatar{width:40px;height:40px;font-size:var(--font-sm)}.app-header{height:var(--header-height);padding:0 clamp(24px,3vw,40px)}.header-title span{font-size:var(--font-xs)}.header-title h1{font-size:19px}.icon-button{width:44px;height:44px}.icon-button svg{width:21px;height:21px}.header-date,.profile-name{font-size:var(--font-sm)}.avatar.small{width:36px;height:36px}.search-button{background:#f8faf8;border:1px solid #e0e6e1;justify-content:flex-start;gap:10px;width:190px;padding:0 14px;display:flex}.search-button:after{content:"Search workspace";color:#738078;font-size:var(--font-sm)}.profile-dropdown{width:270px;padding:12px}.profile-details strong,.profile-dropdown button{font-size:var(--font-sm)}.profile-details span{font-size:var(--font-xs)}.dashboard-page,.module-page{width:min(100%, var(--content-max-width))}.dashboard-hero{gap:var(--space-lg);margin-bottom:var(--space-lg)}.dashboard-hero p{font-size:var(--font-md);margin-bottom:4px}.dashboard-hero h2{font-size:clamp(40px,4vw,48px);line-height:1.12}.dashboard-hero>div>span{font-size:var(--font-md);margin-top:12px}.quick-actions{gap:10px}.quick-actions>span{font-size:var(--font-xs)}.quick-actions button,.module-primary{min-height:44px;font-size:var(--font-sm);border-radius:10px;padding:0 16px}.kpi-grid{gap:var(--space-md);margin-bottom:var(--space-lg)}.kpi-card,.section-card{border-radius:var(--radius-lg);border-color:#dfe6e1;box-shadow:0 4px 18px #1937270a}.kpi-card{min-height:160px;padding:var(--space-md)}.kpi-card p{font-size:var(--font-sm);margin-top:8px}.dashboard-work-grid{gap:var(--space-lg);grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;display:grid}.dashboard-work-grid .attention-section,.dashboard-work-grid .tasks-section,.dashboard-work-grid .projects-section{grid-column:span 2}.section-card{padding:26px}.section-kicker{font-size:var(--font-xs);letter-spacing:.08em;margin-bottom:6px}.text-button{min-height:44px;font-size:var(--font-sm);gap:8px;padding:0 8px;text-decoration:none}.attention-item{gap:16px;min-height:78px;padding:14px 8px;text-decoration:none}.attention-copy{gap:4px}.priority,.status-pill{font-size:var(--font-xs);border-radius:8px;padding:5px 10px}.mini-stats>div{gap:6px;padding:0 18px}.table-scroll{margin-top:20px}th{letter-spacing:.03em;text-transform:none;height:52px;padding:14px 16px;font-size:14px}td{min-height:56px;padding:17px 16px;font-size:15px}.progress-heading{font-size:var(--font-sm)}.progress-track{height:8px;margin-top:10px}.obligation-list{margin-top:22px}.obligation-list>div{grid-template-columns:9px minmax(0,1fr) auto;gap:12px;min-height:60px;padding:13px 0}.status-dot-small{width:8px;height:8px}.category-chips{gap:8px;padding-bottom:14px}.category-chips span{font-size:var(--font-xs);padding:7px 11px}.monitoring-grid{gap:12px}.monitoring-grid article{grid-template-columns:42px minmax(0,1fr) auto;gap:12px;min-height:76px;padding:15px}.monitoring-grid article div{gap:5px}.task-row{grid-template-columns:22px minmax(0,1fr) auto;gap:14px;min-height:70px;padding:14px 4px}.task-copy{gap:5px}.deadline-list time{border-radius:var(--radius-md);width:54px;height:54px}.deadline-list p{font-size:15px;line-height:1.4}.project-list{gap:14px}.project-list article{border-radius:var(--radius-md);gap:13px;padding:18px}.project-list article>div:first-child{gap:6px}.activity-list>div{gap:14px;min-height:70px;padding:15px 0}.activity-list p{gap:5px}.module-header{gap:var(--space-lg);margin-bottom:var(--space-lg)}.module-header h2{font-size:clamp(34px,3vw,40px)}.module-header p{max-width:780px;font-size:var(--font-md);margin-top:10px}.module-toolbar{gap:12px;margin-bottom:20px}.search-input,.filter-select select{min-height:46px;font-size:15px}.search-input{min-width:290px;padding:0 15px}.search-input input{font-size:15px}.filter-select select{padding:0 38px 0 15px}.module-table{padding:10px 16px}.module-table td,.module-table th{padding:17px 18px}.row-action{min-width:44px;height:44px;font-size:var(--font-xs)}.empty-state{gap:8px;padding:64px 24px}.empty-state strong{font-size:var(--font-md)}.empty-state span{font-size:var(--font-sm)}.action-modal{width:min(100%,680px);padding:32px}.action-modal h2{font-size:26px}.action-modal p{font-size:var(--font-md)}.module-form label,.settings-card label{font-size:var(--font-sm);gap:8px}.module-form input,.module-form textarea,.settings-card input,.settings-card select{min-height:46px;padding:11px 13px;font-size:15px}.module-form textarea{min-height:96px}.module-tabs{gap:8px;margin-bottom:20px}.module-tabs button{min-height:44px;font-size:var(--font-sm);padding:0 14px}.task-groups{gap:var(--space-md)}.task-groups .section-heading h2{font-size:var(--font-lg)}.module-project-grid{gap:var(--space-md)}.module-project{gap:20px}.module-project h3,.module-project>strong{font-size:18px}.module-project small{font-size:var(--font-sm)}.document-name{gap:9px}.file-placeholder{font-size:var(--font-sm);gap:12px;padding:18px}.calendar-card{padding:26px}.calendar-heading{margin-bottom:20px}.calendar-heading h3{font-size:var(--font-lg)}.calendar-heading button{width:44px;height:44px}.calendar-grid.weekdays span{font-size:var(--font-sm);padding:12px}.calendar-day{min-height:120px;padding:12px}.calendar-day>span{font-size:var(--font-sm)}.calendar-day button{font-size:var(--font-xs);margin-top:10px;padding:9px}.detail-card>div{min-height:108px;padding:24px}.detail-card span{font-size:var(--font-sm)}.detail-card strong{font-size:var(--font-md)}.detail-list>div{font-size:var(--font-sm);padding:15px 0}.settings-grid{gap:var(--space-md)}.settings-card h2{font-size:var(--font-lg);margin-bottom:20px}.settings-card form,.settings-card{gap:18px}.settings-success{font-size:var(--font-sm)}.toggle-row{min-height:56px;padding:13px 0}.notification-panel{width:340px}.notification-panel>div,.notification-panel>button>span:last-child{font-size:var(--font-sm)}.notification-panel small{font-size:var(--font-xs)}.global-search{width:min(100%,680px)}.global-search-input{height:66px}.global-search-input input{font-size:var(--font-md)}.search-results button{grid-template-columns:90px 1fr;padding:15px}.search-results span{font-size:var(--font-xs)}.search-results strong,.search-results p{font-size:var(--font-sm)}@media (width<=1180px){.dashboard-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-work-grid .attention-section,.dashboard-work-grid .tasks-section,.dashboard-work-grid .projects-section,.dashboard-work-grid .permit-overview,.dashboard-work-grid .compliance-overview{grid-column:1/-1}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.app-frame{width:100%;margin-left:0}.app-content{padding:28px 24px 56px}}@media (width<=680px){.app-content{padding:24px 16px 48px}.dashboard-hero h2{font-size:32px}.dashboard-hero>div>span{font-size:15px}.dashboard-work-grid{gap:var(--space-md);grid-template-columns:1fr}.dashboard-work-grid>*{grid-column:1!important}.kpi-grid{gap:var(--space-sm);grid-template-columns:1fr}.kpi-card{min-height:150px;padding:22px}.quick-actions button{min-width:0;min-height:46px}.section-card{padding:22px 18px}.section-heading h2{font-size:var(--font-lg)}.module-header h2{font-size:30px}.module-header p{font-size:15px}.module-header .module-primary{width:100%}.module-primary{min-height:46px}.module-toolbar{gap:10px}.search-input,.filter-select select{width:100%;min-height:48px}.action-modal{padding:28px 20px}.action-modal h2{font-size:24px}.attention-copy strong,.task-copy strong{white-space:normal}.search-button{display:none}}:root{--sidebar-width:244px;--content-max-width:1380px}body{background:#f8faf9}.app-sidebar{width:var(--sidebar-width);color:#4f6057;box-shadow:none;background:#fff;border-right:1px solid #e3e8e4;padding:24px 16px 20px}.sidebar-brand .brand-lockup{color:#18372a;font-size:17px}.sidebar-brand .brand-mark{color:#fff;background:var(--forest)}.sidebar-label{color:#91a098;margin:34px 13px 10px;font-size:11px}.sidebar-nav{gap:3px}.nav-item{color:#68776f;gap:12px;min-height:44px;padding:0 13px;font-size:14px}.nav-item svg{width:18px;height:18px}.nav-item:hover{color:var(--forest);background:#f1f5f2}.nav-item.is-active{color:#173c2c;background:#e9f1eb;font-weight:700;box-shadow:inset 3px 0 #7fa553}.sidebar-user{border-top-color:#e5eae6;padding-top:16px}.sidebar-user strong{color:#233a2e}.sidebar-user div span{color:#839188}.avatar{color:#fff;background:#6f955d;width:36px;height:36px}.sidebar-close{color:#52645a!important}.app-frame{width:calc(100% - var(--sidebar-width));margin-left:var(--sidebar-width)}.app-header{background:#fffffff5}.app-content{padding:28px clamp(24px,3vw,36px) 64px}.dashboard-hero{align-items:center;margin-bottom:24px}.dashboard-hero p{font-size:14px}.dashboard-hero h2{font-size:clamp(34px,3.5vw,42px)}.dashboard-hero>div>span{margin-top:7px;font-size:14px}.quick-actions{flex-direction:row;align-items:center;gap:8px;display:flex;position:relative}.quick-actions>button,.quick-more summary{cursor:pointer;border-radius:9px;align-items:center;gap:8px;min-height:42px;padding:0 15px;font-size:13px;font-weight:700;display:flex}.quick-primary{border:1px solid var(--forest);color:#fff;background:var(--forest)}.quick-more{position:relative}.quick-more summary{color:#45594e;background:#fff;border:1px solid #d9e1db;list-style:none}.quick-more summary::-webkit-details-marker{display:none}.quick-more>div{z-index:10;background:#fff;border:1px solid #dfe5e0;border-radius:10px;width:210px;padding:7px;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 14px 34px #142d1f1f}.quick-more>div button{color:#41564a;text-align:left;background:#fff;border:0;border-radius:7px;align-items:center;gap:9px;width:100%;min-height:40px;padding:0 11px;font-size:13px;display:flex}.quick-more>div button:hover{background:#f1f5f2}.kpi-grid{background:#fff;border:1px solid #dfe5e0;border-radius:14px;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-bottom:24px;display:grid;overflow:hidden;box-shadow:0 3px 14px #19372708}.kpi-card{min-height:104px;box-shadow:none;border:0;border-right:1px solid #e5eae6;border-radius:0;padding:17px 18px}.kpi-card:last-child{border-right:0}.kpi-icon{border-radius:9px;width:36px;height:36px;top:17px;right:17px}.kpi-icon svg{width:18px;height:18px}.kpi-label{font-size:13px}.kpi-card>strong{margin-top:8px;font-size:27px}.kpi-card p{margin-top:2px;font-size:12px}.dashboard-work-grid{grid-template-columns:minmax(0,1.65fr) minmax(320px,1fr);gap:20px}.dashboard-work-grid>*{grid-column:auto!important}.dashboard-work-grid .permit-overview,.dashboard-work-grid .compliance-overview{grid-column:1/-1!important}.section-card{border-radius:13px;padding:20px;box-shadow:0 3px 14px #19372708}.section-heading{margin-bottom:16px}.section-kicker{font-size:11px}.section-heading h2{font-size:18px}.count-badge{min-width:28px;height:28px;font-size:12px}.text-button{min-height:36px;font-size:12px}.attention-item{gap:13px;min-height:64px;padding:10px 5px}.attention-marker{height:36px}.attention-copy small{font-size:11px}.attention-copy strong{font-size:14px}.attention-copy span{font-size:12px}.priority,.status-pill{padding:4px 8px;font-size:11px}.task-row{grid-template-columns:20px minmax(0,1fr) auto;min-height:60px;padding:10px 3px}.custom-check{width:19px;height:19px}.task-copy strong{font-size:14px}.task-copy span{font-size:12px}.deadline-list:before{top:21px;bottom:21px;left:23px}.deadline-list li{gap:13px;min-height:62px}.deadline-list time{width:46px;height:46px}.deadline-list time span{font-size:10px}.deadline-list time strong{font-size:16px}.deadline-list p{font-size:13px}.monitoring-grid{grid-template-columns:1fr;gap:7px}.monitoring-grid article{grid-template-columns:38px minmax(0,1fr) auto;min-height:61px;padding:10px 12px}.monitoring-grid article>svg{padding:8px}.monitoring-grid strong{font-size:13px}.monitoring-grid article div span{font-size:11px}.mini-stats{padding:14px 0}.mini-stats strong{font-size:20px}.mini-stats span{font-size:12px}table{font-size:13px}th{height:44px;padding:11px 13px;font-size:12px}td{padding:13px;font-size:13px}td strong{font-size:13px}.obligation-list>div{min-height:51px;padding:10px 0}.obligation-list strong{font-size:13px}.status-text{font-size:11px}.project-list article{padding:14px}.project-list strong{font-size:13px}.project-list article span,.project-list b{font-size:12px}.activity-list>div{min-height:58px;padding:10px 0}.activity-icon{width:34px;height:34px}.activity-list strong{font-size:13px}.activity-list p span{font-size:12px}@media (width<=1080px){.dashboard-work-grid{grid-template-columns:1fr}.dashboard-work-grid>*{grid-column:1!important}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-card:nth-child(2){border-right:0}.kpi-card:nth-child(-n+2){border-bottom:1px solid #e5eae6}}@media (width<=900px){.app-frame{width:100%;margin-left:0}.app-sidebar{box-shadow:14px 0 38px #112a1c24}}@media (width<=680px){.dashboard-hero{align-items:stretch}.quick-actions{width:100%}.quick-actions>button,.quick-more{flex:1}.quick-more summary{justify-content:center}.quick-primary{justify-content:center;width:100%}.kpi-grid{grid-template-columns:1fr 1fr}.kpi-card{min-height:106px;padding:15px}.kpi-icon{display:none}.kpi-card>strong{font-size:25px}.section-card{padding:17px}.section-heading h2{font-size:17px}}.form-modal{border-radius:18px;width:min(100%,760px);padding:34px 36px}.form-modal>h2{margin-bottom:26px;font-size:28px}.module-form{gap:20px 22px}.module-form label,.settings-card label{color:#50565b;gap:8px;font-size:13px;font-weight:650}.module-form input:not([type=checkbox]):not([type=color]),.module-form textarea,.module-form select,.settings-card input,.settings-card select,.filter-select select{color:#303438;background-color:#f8f8f9;border:1px solid #d5d7da;border-radius:10px;width:100%;min-height:52px;padding:0 15px;font-size:14px}.module-form select,.settings-card select,.filter-select select,.permit-form select,.monitoring-form select{appearance:none;color:#303438;cursor:pointer;background-color:#f8f8f9;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23646a70' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;border:1px solid #d5d7da;border-radius:10px;min-height:52px;padding:0 44px 0 15px;font-size:14px;font-weight:600}.module-form input:not([type=checkbox]):focus,.module-form textarea:focus,.module-form select:focus,.settings-card input:focus,.settings-card select:focus,.filter-select select:focus{background-color:#fff;border-color:#777d82;outline:0;box-shadow:0 0 0 4px #4a4f5417}.module-form select:hover,.settings-card select:hover,.filter-select select:hover{background-color:#fff;border-color:#aeb2b6}.module-form textarea{min-height:112px;padding-block:14px}.permit-form .expiry-field{gap:11px;display:grid}.permit-form .checkbox-field{color:#63696e;align-self:auto;min-height:26px;padding:0 2px;font-size:12px}.permit-form .checkbox-field input{width:17px;height:17px;min-height:17px}.module-form small{color:#7a7f84;font-size:11px;font-weight:450}[data-theme=dark] .module-form input:not([type=checkbox]),[data-theme=dark] .module-form textarea,[data-theme=dark] .module-form select,[data-theme=dark] .settings-card input,[data-theme=dark] .settings-card select,[data-theme=dark] .filter-select select{color:#eceeef;box-shadow:none;background-color:#2d3135;border-color:#44494e}[data-theme=dark] .module-form select,[data-theme=dark] .settings-card select,[data-theme=dark] .filter-select select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23c4c8cb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E")}@media (width<=680px){.form-modal{padding:28px 20px}}.sidebar-brand .brand-mark{color:#fff;background:#30353a;flex:none}.sidebar-brand .brand-mark span{color:#fff;display:block}.sidebar-user div{min-width:0}.sidebar-user strong{color:#29322d;text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}[data-theme=dark]{--ink:#f1f3f4;--muted:#b9bec3;--line:#42474c;--surface:#24282c}[data-theme=dark] body,[data-theme=dark] .app-shell{color:#e9ecee;background:#171a1d}[data-theme=dark] .app-sidebar{color:#d5dadd;background:#111416;border-right-color:#34383c}[data-theme=dark] .app-header,[data-theme=dark] .section-card,[data-theme=dark] .kpi-grid,[data-theme=dark] .kpi-card,[data-theme=dark] .action-modal,[data-theme=dark] .profile-dropdown,[data-theme=dark] .notification-panel,[data-theme=dark] .global-search,[data-theme=dark] .quick-more summary,[data-theme=dark] .quick-more>div,[data-theme=dark] .quick-more>div button{color:#edf0f2;background:#24282c;border-color:#42474c}[data-theme=dark] .sidebar-brand .brand-mark{color:#fff;background:#353a3f}[data-theme=dark] .sidebar-brand .brand-mark span{color:#fff;display:block}[data-theme=dark] .sidebar-brand .brand-lockup,[data-theme=dark] .sidebar-user strong,[data-theme=dark] .header-title h1,[data-theme=dark] .dashboard-hero h2,[data-theme=dark] .module-header h2,[data-theme=dark] .section-heading h2,[data-theme=dark] td strong{color:#f4f6f7}[data-theme=dark] .nav-item,[data-theme=dark] .theme-control,[data-theme=dark] .sidebar-label{color:#b8c0c4}[data-theme=dark] .nav-item:hover,[data-theme=dark] .nav-item.is-active{color:#fff;background:#30353a}[data-theme=dark] .dashboard-hero>div>span,[data-theme=dark] .dashboard-hero p,[data-theme=dark] .module-header p,[data-theme=dark] .section-kicker,[data-theme=dark] .kpi-label,[data-theme=dark] .kpi-card p,[data-theme=dark] .attention-copy small,[data-theme=dark] .attention-copy span,[data-theme=dark] .deadline-list p,[data-theme=dark] .monitoring-grid article div span,[data-theme=dark] .activity-list p span,[data-theme=dark] .database-note span,[data-theme=dark] .map-layer-panel>p{color:#b9c0c4}[data-theme=dark] .attention-copy strong,[data-theme=dark] .deadline-list p,[data-theme=dark] .monitoring-grid strong,[data-theme=dark] .obligation-list strong,[data-theme=dark] .project-list strong,[data-theme=dark] .activity-list strong,[data-theme=dark] td,[data-theme=dark] .table-sort-button{color:#e5e8ea}[data-theme=dark] .table-scroll th{color:#c5cacf;background:#2c3034}[data-theme=dark] .search-button,[data-theme=dark] .search-input,[data-theme=dark] .calendar-day,[data-theme=dark] .mini-stats,[data-theme=dark] .monitoring-grid article,[data-theme=dark] .project-list article{color:#e5e8ea;background:#292d31;border-color:#44494e}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder,[data-theme=dark] .search-input input::placeholder{color:#92999f;opacity:1}[data-theme=dark] .text-button,[data-theme=dark] .coordinate-link,[data-theme=dark] .document-link,[data-theme=dark] .back-link{color:#d7dcdf}[data-theme=dark] .map-layer-panel,[data-theme=dark] .leaflet-map-shell,[data-theme=dark] .map-sidebar button{color:#e8ebed;background:#24282c;border-color:#42474c}:root{--secondary-accent:#7fa553;--secondary-soft:#e7efe1}.app-sidebar.is-collapsed .sidebar-brand{margin-bottom:24px}@media (width>=901px){.app-sidebar.is-collapsed:hover .sidebar-brand,.app-sidebar.is-collapsed:focus-within .sidebar-brand{margin-bottom:0}}.secondary-button,.dashboard-secondary,.quick-more summary{border-color:#aeb7aa}.text-button,.coordinate-link,.document-link{color:#526d45}[data-theme=dark]{--secondary-accent:#b6d67a;--secondary-soft:#34412d}[data-theme=dark] .header-title>div>span,[data-theme=dark] .header-date,[data-theme=dark] .profile-name,[data-theme=dark] .notification-button,[data-theme=dark] .search-button{color:#c4cacf}[data-theme=dark] .profile-name{font-weight:700}[data-theme=dark] .dashboard-hero>div>span,[data-theme=dark] .section-kicker{color:#b6d67a;font-weight:700}[data-theme=dark] .dashboard-hero p,[data-theme=dark] .kpi-label,[data-theme=dark] .kpi-card p,[data-theme=dark] .attention-copy small,[data-theme=dark] .attention-copy span,[data-theme=dark] .deadline-list time span,[data-theme=dark] .monitoring-grid article div span,[data-theme=dark] .activity-list p span{color:#c2c7cb}[data-theme=dark] .kpi-card p.warning{color:#e5bf68}[data-theme=dark] .kpi-card p.danger{color:#ee8d83}[data-theme=dark] .kpi-card p.positive{color:#8dd49a}[data-theme=dark] .nav-item.is-active{color:#f5f8f2;background:#35412f;box-shadow:inset 3px 0 #b6d67a}[data-theme=dark] .nav-item.is-active svg{color:#c8e493}[data-theme=dark] .text-button,[data-theme=dark] .coordinate-link,[data-theme=dark] .document-link,[data-theme=dark] .back-link{color:#c6e093;font-weight:700}[data-theme=dark] .quick-primary,[data-theme=dark] .module-primary{color:#171b14;background:#b6d67a}[data-theme=dark] .quick-primary:hover,[data-theme=dark] .module-primary:hover{background:#c5e58a}[data-theme=dark] .quick-more summary,[data-theme=dark] .secondary-button{color:#eef1f2;background:#292e32;border-color:#596067}[data-theme=dark] .status-pill{color:#dfe6da;background:#3b4538}[data-theme=dark] .priority.high{color:#ffc2bb;background:#553b3a}[data-theme=dark] .priority.medium{color:#f1d99c;background:#514936}[data-theme=dark] .deadline-list time{color:#d9eac9;background:#303a2d;border-color:#53634b}[data-theme=dark] .attention-marker{background:#c18c83}.table-action-button{color:#35423a;background:#f4f6f4;border:1px solid #cfd3d0;border-radius:8px;min-height:34px;padding:0 13px;font-size:12px;font-weight:700}.table-action-button:hover{background:#e9efe6;border-color:#8fa086}.document-link.compact{font-size:12px}.document-state{white-space:nowrap;border-radius:7px;align-items:center;min-height:27px;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.document-state.missing{color:#8a5d26;background:#fbf0dc}.monitoring-history{border-top:1px solid var(--line);margin-top:30px;padding-top:26px}.schedule-update-form{grid-template-columns:repeat(2,minmax(0,1fr))}.status-pill.done,.status-pill.completed,.status-pill.active,.status-pill.current{color:#17683a;background:#dff4e7;border:1px solid #b9e7ca}.status-pill.cancelled,.status-pill.canceled,.status-pill.expired,.status-pill.overdue{color:#a12c2c;background:#fde5e5;border:1px solid #f6c2c2}.status-pill.scheduled,.status-pill.upcoming,.status-pill.expiring-soon{color:#8a5c08;background:#fff0c8;border:1px solid #f2d88e}.status-pill.in-progress,.status-pill.in-process,.status-pill.rescheduled{color:#185ca8;background:#e1efff;border:1px solid #b9d8fb}.table-action-button{color:#fff;background:#2878d0;border-color:#2878d0;box-shadow:0 3px 9px #2878d02e}.table-action-button:hover{color:#fff;background:#1766bd;border-color:#1766bd}.document-link.compact{color:#1766bd;background:#e5f0fd;border-radius:7px;padding:5px 9px}@media (width<=680px){.schedule-update-form{grid-template-columns:1fr}}
