@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_6a0e6105-module__QVq-Ba__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_6a0e6105-module__QVq-Ba__variable{--font-geist:"Geist", "Geist Fallback"}
:root{--bg:#f5f7f5;--surface:#fff;--surface-muted:#f0f3f1;--ink:#17241f;--ink-soft:#53615b;--line:#dde4e0;--green:#176f50;--green-dark:#0e563d;--green-soft:#e7f3ed;--amber:#ad6a17;--amber-soft:#fbf0dc;--blue:#356c9e;--blue-soft:#e7f0f8;--violet:#715b9a;--violet-soft:#eeeaf5;--danger:#b64242;--danger-soft:#faeaea;--shadow:0 1px 2px #12261e0a, 0 12px 32px #12261e0d;--ease-out:cubic-bezier(.23, 1, .32, 1)}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink)}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.04em;margin-bottom:10px;font-size:clamp(29px,4vw,42px);line-height:1.08}h2{letter-spacing:-.02em;margin-bottom:8px;font-size:19px;line-height:1.25}small,.muted{color:var(--ink-soft)}.eyebrow{color:var(--green);letter-spacing:.11em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:750}.brand-mark{background:var(--green);color:#fff;border-radius:11px;flex:none;place-items:center;width:36px;height:36px;display:grid;box-shadow:inset 0 0 0 1px #ffffff24}.brand-mark span{font-family:Georgia,serif;font-size:22px;font-style:italic;font-weight:700;transform:translate(-1px)}.brand-mark-large span{font-size:32px}.button{cursor:pointer;white-space:nowrap;min-height:40px;transition:transform .14s var(--ease-out), background-color .16s ease, border-color .16s ease;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 15px;font-weight:680;display:inline-flex}.button:disabled{cursor:not-allowed;opacity:.55}.button-primary{background:var(--green);color:#fff;box-shadow:0 1px 1px #00000014}.button-secondary{border-color:var(--line);background:#fff}.button-ghost{color:var(--ink-soft);background:0 0}.button-danger{background:var(--danger);color:#fff}.button-wide{width:100%}.icon-button{width:38px;height:38px;color:var(--ink-soft);cursor:pointer;transition:transform .14s var(--ease-out), background-color .16s ease;background:0 0;border:0;border-radius:10px;place-items:center;padding:0;display:inline-grid}.text-button{color:var(--green);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:4px 0;font-weight:700;display:inline-flex}.spin{animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}label{color:var(--ink);gap:7px;font-weight:650;display:grid}label em{color:#87928d;font-size:11px;font-style:normal;font-weight:500}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #d6ded9;border-radius:10px;outline:none}input,select{height:43px;padding:0 12px}textarea{resize:vertical;padding:11px 12px}input[type=range]{accent-color:var(--green);box-shadow:none;border:0;padding:0}.password-input,.input-prefix,.input-suffix{background:#fff;border:1px solid #d6ded9;border-radius:10px;align-items:center;display:flex;overflow:hidden}.password-input input,.input-prefix input,.input-suffix input{box-shadow:none;border:0}.password-input button{width:42px;height:42px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0}.input-prefix>span,.input-suffix>span{color:var(--ink-soft);white-space:nowrap;padding:0 0 0 12px;font-weight:600}.input-suffix>span{padding:0 12px 0 0}.form-error{color:var(--danger);background:var(--danger-soft);border-radius:9px;padding:10px 12px;font-size:13px}.login-page{background:#eff4f1;grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);min-height:100dvh;display:grid}.login-brand{color:#fff;background:radial-gradient(circle at 75% 15%,#78be9e4d,#0000 31%),linear-gradient(145deg,#0d4b37 0%,#176f50 55%,#1a7a57 100%);flex-direction:column;justify-content:center;gap:44px;min-height:100dvh;padding:64px clamp(48px,8vw,120px);display:flex;position:relative;overflow:hidden}.login-brand:after{content:"";border:1px solid #ffffff21;border-radius:50%;width:520px;height:520px;position:absolute;bottom:-250px;right:-210px;box-shadow:0 0 0 70px #ffffff06,0 0 0 140px #ffffff05}.login-brand .eyebrow{color:#b9decf}.login-brand h1{letter-spacing:-.055em;max-width:650px;font-size:clamp(42px,5.5vw,72px)}.login-copy{color:#ffffffb8;max-width:510px;font-size:17px;line-height:1.65}.login-panel{background:#fbfcfb;flex-direction:column;justify-content:center;padding:48px max(48px,10vw);display:flex}.login-form{gap:20px;width:100%;max-width:420px;margin:auto;display:grid}.login-form h2{margin:0;font-size:30px}.login-form .muted{margin:-12px 0 8px}.login-support{color:#87928d;text-align:center;margin:42px auto 0;font-size:12px}.sidebar{z-index:30;border-right:1px solid var(--line);background:#fbfcfb;flex-direction:column;width:248px;height:100dvh;padding:20px 14px 16px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-brand{align-items:center;gap:11px;padding:0 8px 27px;display:flex}.sidebar-brand>div:nth-child(2){line-height:1.2;display:grid}.sidebar-brand strong{font-size:15px}.sidebar-brand small{font-size:11px}.sidebar-close{margin-left:auto;display:none}.sidebar nav{gap:3px;display:grid}.sidebar nav button{color:#5c6963;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;height:43px;padding:0 12px;font-weight:590;display:flex}.sidebar nav button.active{color:var(--green-dark);background:var(--green-soft);font-weight:720}.sidebar nav button b{color:#fff;background:var(--green);border-radius:7px;place-items:center;min-width:20px;height:20px;margin-left:auto;font-size:11px;display:grid}.sidebar-user{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:auto;padding:14px 7px 0;display:flex}.sidebar-user>div{flex:1;min-width:0;display:grid}.sidebar-user strong,.sidebar-user small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-user strong{font-size:13px}.sidebar-user small{font-size:11px}.avatar{width:32px;height:32px;color:var(--green-dark);background:#dcebe4;border-radius:10px;flex:none;place-items:center;font-size:10px;font-weight:800;display:inline-grid}.topbar{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f5f7f5e0;border-bottom:1px solid #dde4e0cc;justify-content:flex-end;align-items:center;height:68px;padding:0 clamp(20px,4vw,56px);display:flex;position:sticky;top:0}.topbar-actions{align-items:center;gap:12px;display:flex}.notification-trigger{border:1px solid var(--line);background:#fff;position:relative}.notification-trigger>i{box-sizing:content-box;background:#df6d4e;border:2px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:8px}.notification-panel{z-index:50;border:1px solid var(--line);transform-origin:100% 0;width:min(390px,100vw - 24px);max-height:490px;transition:opacity .16s var(--ease-out), transform .16s var(--ease-out);background:#fff;border-radius:14px;position:absolute;top:60px;right:clamp(20px,4vw,56px);overflow-y:auto;box-shadow:0 20px 60px #16292129}@starting-style{.notification-panel{opacity:0;transform:scale(.97)}}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;padding:17px 18px;display:flex}.panel-heading span{color:var(--ink-soft);font-size:12px}.notification-panel>button{cursor:pointer;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf0ee;gap:11px;width:100%;padding:14px 18px;display:flex}.notification-panel>button div{gap:3px;display:grid}.notification-panel p{color:var(--ink-soft);margin:0;font-size:12px}.notification-panel small{font-size:10px}.unread-dot{background:var(--green);border-radius:50%;flex:none;width:7px;height:7px;margin-top:5px}.panel-empty{color:var(--ink-soft);text-align:center;padding:24px}.mobile-menu,.mobile-logo,.mobile-tabs{display:none}.page{max-width:1500px;margin:auto;padding:36px clamp(20px,4vw,56px) 70px}.page-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.page-header h1{margin-bottom:8px}.page-header>div:first-child>p:last-child{max-width:650px;color:var(--ink-soft);margin:0}.card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:15px}.card-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;display:flex}.card-heading h2,.card-heading p{margin-bottom:0}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.metric-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;min-height:164px;padding:20px;display:flex;box-shadow:0 1px 2px #10241c08}.metric-card>strong{letter-spacing:-.035em;margin:auto 0 4px;font-size:27px}.metric-card>small{font-size:11px}.metric-feature{color:#fff;background:linear-gradient(145deg,#145d44,#197857);border:0}.metric-icon{width:36px;height:36px;color:var(--green);background:var(--green-soft);border-radius:10px;place-items:center;display:grid}.metric-icon.amber{color:var(--amber);background:var(--amber-soft)}.metric-icon.blue{color:var(--blue);background:var(--blue-soft)}.metric-icon.violet{color:var(--violet);background:var(--violet-soft)}.progress{background:#e8eeeb;border-radius:999px;height:6px;margin:8px 0;overflow:hidden}.progress i{border-radius:inherit;background:var(--green);height:100%;display:block}.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px;display:grid}.activity-list{padding:4px 22px 12px}.activity-row{border-bottom:1px solid #edf0ee;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;min-height:66px;display:grid}.activity-row:last-child{border-bottom:0}.activity-row p{color:var(--ink-soft);margin:2px 0 0;font-size:12px}.activity-row>span:last-child{font-weight:750}.project-dot{background:var(--green);width:9px;height:9px;box-shadow:0 0 0 4px var(--green-soft);border-radius:3px}.deadline-list{padding:8px 10px 12px}.deadline-list>button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;padding:10px;display:grid}.deadline-list>button>div{gap:2px;display:grid}.date-tile{width:42px;height:46px;color:var(--green-dark);background:var(--green-soft);text-align:center;border-radius:10px;place-content:center;line-height:1.05;display:grid}.date-tile b{font-size:17px}.date-tile small{color:inherit;text-transform:uppercase;font-size:9px}.date-tile.late{color:var(--danger);background:var(--danger-soft)}.empty-state{min-height:190px;color:var(--ink-soft);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:28px;display:flex}.empty-state>span{width:48px;height:48px;color:var(--green);background:var(--green-soft);border-radius:14px;place-items:center;margin-bottom:12px;display:grid}.empty-state strong{color:var(--ink)}.empty-state p{max-width:310px;margin:5px 0 0;font-size:12px}.status{color:#526059;white-space:nowrap;background:#eef1ef;border-radius:999px;align-items:center;gap:6px;width:fit-content;padding:5px 8px;font-size:10px;font-weight:750;display:inline-flex}.status i{background:#82908a;border-radius:50%;width:6px;height:6px}.status-approved,.status-accepted,.status-done,.status-paid{color:var(--green-dark);background:var(--green-soft)}.status-approved i,.status-accepted i,.status-done i,.status-paid i{background:var(--green)}.expense-table .status-approved{color:var(--violet);background:var(--violet-soft)}.expense-table .status-approved i{background:var(--violet)}.status-submitted,.status-in-progress{color:#285d87;background:var(--blue-soft)}.status-submitted i,.status-in-progress i{background:var(--blue)}.status-returned,.status-proposed,.status-planned,.status-pending,.status-pending-exception{color:#8b5714;background:var(--amber-soft)}.status-returned i,.status-proposed i,.status-planned i,.status-pending i,.status-pending-exception i{background:var(--amber)}.status-rejected,.status-blocked,.status-cancelled{color:var(--danger);background:var(--danger-soft)}.status-rejected i,.status-blocked i,.status-cancelled i{background:var(--danger)}.danger-text{color:var(--danger)!important}.success-text{color:var(--green)!important}.review-strip{margin-bottom:16px;padding:16px 20px}.review-strip>div{align-items:center;gap:13px;display:flex}.review-strip p{color:var(--ink-soft);margin:2px 0 0;font-size:12px}.data-filters{margin-bottom:18px;overflow:hidden;box-shadow:0 1px 2px #10241c06}.filter-panel-header{border-bottom:1px solid var(--line);background:#fbfcfb;justify-content:space-between;align-items:center;gap:14px;min-height:58px;padding:11px 16px;display:flex}.filter-panel-title{align-items:center;gap:10px;display:flex}.filter-panel-title>div{gap:1px;display:grid}.filter-panel-title strong{font-size:13px}.filter-panel-title small{color:var(--ink-soft);font-size:10px}.filter-icon{width:32px;height:32px;color:var(--green);background:var(--green-soft);border-radius:9px;place-items:center;display:grid}.filter-reset{border:1px solid var(--line);min-height:32px;color:var(--ink-soft);cursor:pointer;transition:transform .14s var(--ease-out), border-color .16s ease, color .16s ease;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:0 9px;font-size:11px;font-weight:680;display:inline-flex}.filter-reset:active{transform:scale(.97)}.filter-reset span{min-width:17px;height:17px;color:var(--green-dark);background:var(--green-soft);border-radius:999px;place-items:center;padding:0 4px;font-size:9px;display:grid}.filter-grid{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px;padding:15px 16px 17px;display:grid}.filter-field{gap:6px;min-width:0}.filter-field>span{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;font-size:10px}.filter-field input,.filter-field select{border-radius:9px;height:39px;font-size:12px}.filter-context{color:var(--ink-soft);margin:-7px 0 18px;font-size:11px}.table-card{margin-bottom:18px;overflow:hidden}.table-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:84px;padding:18px 22px;display:flex}.table-toolbar h2,.table-toolbar p{margin:0}.toolbar-actions,.row-actions{align-items:center;gap:8px;display:flex}.responsive-table{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%}th{color:#7a8781;letter-spacing:.06em;text-align:left;text-transform:uppercase;white-space:nowrap;background:#fafbfa;padding:11px 15px;font-size:10px}td{color:#45534d;vertical-align:middle;border-top:1px solid #edf0ee;padding:14px 15px;font-size:12px}td strong{color:var(--ink)}td small{margin-top:2px;font-size:10px;display:block}.person-cell{color:var(--ink);white-space:nowrap;align-items:center;gap:8px;font-weight:650;display:flex}.person-cell .avatar{border-radius:9px;width:28px;height:28px}.description-cell{min-width:210px;max-width:360px}.warning-note{color:var(--amber);align-items:center;gap:4px;margin-top:4px;font-size:10px;display:flex}.review-list>div{border-top:1px solid #edf0ee;align-items:center;gap:12px;min-height:70px;padding:12px 20px;display:flex}.review-list>div>div:nth-child(2){flex:1;display:grid}.review-list small{font-size:11px}.segmented-control{border:1px solid var(--line);background:var(--surface-muted);border-radius:10px;align-items:center;gap:2px;padding:3px;display:inline-flex}.segmented-control button{min-height:31px;color:var(--ink-soft);cursor:pointer;transition:transform .14s var(--ease-out), background-color .16s ease, color .16s ease;background:0 0;border:0;border-radius:7px;padding:0 11px;font-size:11px;font-weight:700}.segmented-control button:active{transform:scale(.97)}.segmented-control button.active{color:var(--ink);background:#fff;box-shadow:0 1px 3px #12261e14}.admin-operations-grid{grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:18px;display:grid}.team-overview{overflow:hidden}.team-list{display:grid}.team-row{border-top:1px solid #edf0ee;grid-template-columns:auto minmax(180px,1fr) 100px 72px auto;align-items:center;gap:12px;min-height:72px;padding:12px 18px;display:grid}.team-row:first-child{border-top:0}.team-person{min-width:0;display:grid}.team-person strong,.team-person small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.team-hours,.team-pending{display:grid}.team-hours small,.team-pending small{text-transform:uppercase;letter-spacing:.04em;font-size:9px}.attention-card{overflow:hidden}.attention-card>button{cursor:pointer;background:#fff;border:0;border-top:1px solid #edf0ee;justify-content:space-between;align-items:center;width:100%;min-height:52px;padding:0 18px;transition:background-color .16s;display:flex}.attention-card>button span{color:var(--ink-soft);align-items:center;gap:9px;font-size:12px;display:inline-flex}.attention-card>button b{background:var(--surface-muted);border-radius:8px;place-items:center;min-width:25px;height:25px;font-size:11px;display:grid}.attention-card .attention-link{color:var(--green);justify-content:center;gap:5px;font-weight:700}.hours-toolbar{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.hours-toolbar>strong{color:var(--ink-soft);font-size:11px}.approval-groups,.daily-groups{gap:15px;display:grid}.approval-group,.day-card,.review-section{overflow:hidden}.approval-group-header,.day-card-header{border-bottom:1px solid var(--line);align-items:center;gap:11px;min-height:76px;padding:16px 18px;display:flex}.approval-group-header>div:nth-child(2){flex:1;min-width:0;display:grid}.approval-group-header h2,.approval-group-header small,.day-card-header h2,.day-card-header p{margin:0}.day-card-header{justify-content:space-between}.day-group+.day-group{border-top:1px solid var(--line)}.day-group-heading{min-height:42px;color:var(--ink-soft);text-transform:capitalize;background:#fafbfa;justify-content:space-between;align-items:center;padding:0 18px;font-size:11px;display:flex}.entry-list{display:grid}.entry-row{border-top:1px solid #edf0ee;grid-template-columns:125px minmax(210px,1fr) 135px auto minmax(120px,auto);align-items:center;gap:13px;min-height:67px;padding:11px 18px;display:grid}.entry-list .entry-row:first-child{border-top:0}.entry-project,.entry-description,.entry-time{gap:2px;min-width:0;display:grid}.entry-project small,.entry-description small,.entry-time span{font-size:10px}.entry-description>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.entry-time{color:var(--ink-soft)}.entry-time strong{color:var(--ink);font-size:11px}.entry-actions{justify-content:flex-end}.entry-actions .button{min-height:32px;padding-inline:10px;font-size:10px}.pagination{color:var(--ink-soft);justify-content:center;align-items:center;gap:13px;margin-top:16px;font-size:11px;display:flex}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.search-box{border:1px solid var(--line);max-width:520px;height:44px;color:var(--ink-soft);background:#fff;border-radius:11px;align-items:center;gap:8px;margin-bottom:18px;padding:0 13px;display:flex}.search-box:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #176f5014}.search-box input{height:100%;box-shadow:none;border:0;padding:0}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.project-card{padding:0;transition:border-color .16s,box-shadow .16s;overflow:hidden}.project-card-expanded{border-color:#cbdad2;grid-column:1/-1;box-shadow:0 18px 42px #12261e17}.project-card-trigger{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:20px;transition:transform .14s cubic-bezier(.23,1,.32,1),background-color .16s}.project-card-trigger:active{transform:scale(.995)}.project-card-trigger:focus-visible{outline-offset:-3px;outline:3px solid #176f502e}.project-card-top{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.lk-code{width:fit-content;color:var(--green-dark);background:var(--green-soft);border-radius:7px;padding:5px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:750}.project-card h2{min-height:48px;margin-bottom:4px}.project-card-summary>p{color:var(--ink-soft);font-size:12px}.project-coordinator{color:var(--green-dark);margin-top:7px;font-weight:700;display:block}.project-progress{margin:22px 0 16px}.project-progress>div:first-child{justify-content:space-between;font-size:11px;display:flex}.project-progress strong small{color:var(--ink-soft);font-weight:500}.budget-mini-list{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.budget-mini-list span{color:var(--ink-soft);background:var(--surface-muted);border-radius:7px;gap:5px;padding:4px 7px;font-size:10px;display:inline-flex}.budget-mini-list b{color:var(--ink)}.project-visibility-note{background:var(--surface-muted);border-radius:9px;min-height:42px;margin:20px 0 14px;padding:10px}.project-expand-hint{color:var(--green-dark);border-top:1px solid #edf0ee;justify-content:space-between;align-items:center;margin-top:13px;padding-top:12px;font-size:11px;font-weight:720;display:flex}.project-expand-hint svg{transition:transform .18s cubic-bezier(.23,1,.32,1)}.project-card-trigger[aria-expanded=true] .project-expand-hint svg{transform:rotate(180deg)}.project-admin-actions{justify-content:space-between;margin-top:0;padding:0 20px 18px}.category-chips{flex-wrap:wrap;align-content:flex-start;gap:6px;min-height:50px;display:flex}.category-chips span,.count-chip{color:var(--ink-soft);background:var(--surface-muted);border-radius:7px;padding:5px 8px;font-size:10px}.project-details{border-top:1px solid var(--line);opacity:1;padding:22px 20px 20px;transition:opacity .18s,transform .18s cubic-bezier(.23,1,.32,1);transform:translateY(0)}.project-details-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.project-details-heading h3,.project-details-heading p{margin:0}.project-details-heading h3{margin-top:3px;font-size:17px}.utilization-pill{color:var(--green-dark);background:var(--green-soft);white-space:nowrap;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:750}.utilization-pill.warning{color:#8b5b06;background:#fff2cf}.utilization-pill.critical{color:#a9322c;background:#fde8e6}.project-detail-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.project-detail-metrics>div{background:#fbfcfb;border:1px solid #e3e9e5;border-radius:11px;gap:4px;padding:13px 14px;display:grid}.project-detail-metrics span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:10px}.project-detail-metrics strong{font-size:16px}.budget-detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.budget-detail-row{background:#fff;border:1px solid #e3e9e5;border-radius:11px;padding:14px}.budget-detail-title,.budget-detail-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.budget-detail-title>span{gap:2px;display:grid}.budget-detail-title b{font-size:12px}.budget-detail-title small,.budget-detail-footer{color:var(--ink-soft);font-size:10px}.budget-detail-title>strong{white-space:nowrap;font-size:12px}.budget-detail-title>strong small{color:var(--ink-soft);font-weight:500}.budget-detail-progress{background:#e8eeea;border-radius:999px;height:8px;margin:13px 0 9px;position:relative}.budget-detail-progress>i{z-index:1;border-radius:inherit;background:var(--green);position:absolute;inset:0 auto 0 0}.budget-detail-progress.attention>i{background:#c88a18}.budget-detail-progress.warning>i{background:#df7a1f}.budget-detail-progress.critical>i{background:#c9423a}.budget-detail-progress>span{z-index:2;background:#ffffffe6;width:1px;position:absolute;top:-2px;bottom:-2px;box-shadow:0 0 0 1px #223b301f}.project-detail-context{border-top:1px solid #e7ece9;grid-template-columns:1.4fr 1fr;gap:20px;margin-top:18px;padding-top:17px;display:grid}.project-detail-context-single{grid-template-columns:1fr}.project-detail-context>div>span{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:700;display:block}.project-detail-context p{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.55}.project-detail-context .category-chips{min-height:0}@starting-style{.project-details{opacity:0;transform:translateY(-5px)}}@media (hover:hover) and (pointer:fine){.project-card:has(.project-card-trigger:hover){border-color:#cbdad2;box-shadow:0 12px 30px #12261e12}.project-card-trigger:hover{background:#fcfdfc}}.kanban{grid-template-columns:repeat(4,minmax(250px,1fr));gap:13px;padding-bottom:10px;display:grid;overflow-x:auto}.kanban-column{background:#eef2ef;border:1px solid #e1e7e3;border-radius:14px;min-height:500px;padding:10px}.kanban-heading{justify-content:space-between;align-items:center;height:38px;padding:0 5px 9px;font-size:12px;font-weight:740;display:flex}.kanban-heading b{width:22px;height:22px;color:var(--ink-soft);background:#fff;border-radius:7px;place-items:center;font-size:10px;display:grid}.kanban-list{gap:9px;display:grid}.task-card{background:#fff;border:1px solid #dfe6e2;border-radius:11px;padding:14px;box-shadow:0 1px 2px #12261e08}.task-title:disabled{opacity:1;cursor:default}.milestone-strip{border:1px solid var(--line);background:#fff;border-radius:13px;gap:9px;margin-bottom:14px;padding:12px;display:flex;overflow-x:auto}.milestone-strip>div{min-width:210px;color:var(--green);background:var(--green-soft);border-radius:10px;align-items:center;gap:9px;padding:10px;display:flex}.milestone-strip>div>span{color:var(--ink);display:grid}.milestone-strip .milestone-actions{grid-auto-flow:column;gap:4px;margin-left:auto;display:flex}.milestone-actions button{width:26px;height:26px;color:var(--green);cursor:pointer;background:#fff;border:0;border-radius:7px;place-items:center;display:grid}.milestone-strip small{font-size:10px}.milestone-strip>p{color:var(--ink-soft);margin:3px;font-size:12px}.task-meta{justify-content:space-between;margin-bottom:11px;display:flex}.task-title{text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:750}.task-card>p{min-height:34px;color:var(--ink-soft);margin:7px 0 16px;font-size:11px}.task-progress{color:var(--ink-soft);grid-template-columns:1fr auto;align-items:center;gap:8px;font-size:10px;display:grid}.task-footer{color:var(--ink-soft);border-top:1px solid #edf0ee;justify-content:space-between;margin-top:13px;padding-top:11px;font-size:10px;display:flex}.task-footer>span{align-items:center;gap:5px;display:flex}.task-footer .avatar{border-radius:6px;width:20px;height:20px;font-size:7px}.proposal-actions{justify-content:flex-end;gap:6px;margin-top:12px;display:flex}.proposal-actions .button{min-height:32px;padding:0 10px;font-size:11px}.assignee-stack{align-items:center;gap:4px;min-width:0;display:inline-flex!important}.assignee-stack .avatar{border:2px solid #fff;border-radius:8px;width:23px;height:23px;margin-left:-8px;font-size:7px}.assignee-stack .avatar:first-child{margin-left:0}.reports-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)}.finance-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)}.finance-payment-list{padding:4px 18px 14px}.finance-payment-list>div{border-bottom:1px solid #edf0ee;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;min-height:74px;padding:12px 4px;display:grid}.finance-payment-list>div:last-child{border-bottom:0}.finance-payment-list>div>div{gap:2px;min-width:0;display:grid}.finance-payment-list small,.finance-payment-list p{color:var(--ink-soft);font-size:10px}.finance-payment-list p{text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;overflow:hidden}.finance-payment-list .button{min-height:34px;padding-inline:12px}.finance-shortcuts{overflow:hidden}.finance-shortcuts>button{width:100%;min-height:56px;color:var(--ink);cursor:pointer;transition:background-color .16s var(--ease-out), transform .12s var(--ease-out);background:#fff;border:0;border-top:1px solid #edf0ee;justify-content:space-between;align-items:center;padding:0 18px;display:flex}.finance-shortcuts>button:active{transform:scale(.985)}.finance-shortcuts>button span{align-items:center;gap:10px;font-size:12px;font-weight:650;display:inline-flex}.bar-chart{gap:16px;padding:16px 22px 22px;display:grid}.bar-chart>div>div{justify-content:space-between;margin-bottom:6px;font-size:11px;display:flex}.bar-chart>div>i{background:var(--surface-muted);border-radius:999px;height:8px;display:block;overflow:hidden}.bar-chart b{border-radius:inherit;background:linear-gradient(90deg, var(--green), #52a47f);height:100%;display:block}.report-list{margin:0;padding:9px 22px 18px}.report-list>div{border-bottom:1px solid #edf0ee;justify-content:space-between;padding:14px 0;display:flex}.report-list>div:last-child{border:0}.report-list dt{color:var(--ink-soft)}.report-list dd{margin:0;font-weight:750}.admin-grid{grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:18px;display:grid}.settings-card{gap:17px;padding-bottom:22px;display:grid}.settings-card>:not(.card-heading){margin-inline:22px}.user-list{padding:6px 18px}.user-list>div{border-bottom:1px solid #edf0ee;align-items:center;gap:10px;padding:10px 4px;display:flex}.user-list>div>div{flex:1;display:grid}.user-list small{font-size:10px}.user-inactive{opacity:.58}.helper-text{color:var(--ink-soft);background:var(--surface-muted);border-radius:9px;margin:12px 22px 20px;padding:12px;font-size:11px}.dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:opacity .18s var(--ease-out);background:#0a1a147a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog{transform-origin:50%;width:min(760px,100%);max-height:calc(100dvh - 40px);transition:opacity .19s var(--ease-out), transform .19s var(--ease-out);background:#fff;border:1px solid #ffffff80;border-radius:17px;padding:27px;position:relative;overflow-y:auto;box-shadow:0 24px 80px #0a1a143d}@starting-style{.dialog-backdrop{opacity:0}.dialog{opacity:0;transform:scale(.97)translateY(5px)}}.dialog-close{background:var(--surface-muted);position:absolute;top:17px;right:17px}.dialog h2{margin-bottom:22px;font-size:24px}.dialog-form{gap:17px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.draft-note{color:var(--ink-soft);align-items:center;gap:5px;margin:-5px 0;font-size:10px;display:flex}.file-input input{display:none}.file-input>div{min-height:50px;color:var(--ink-soft);cursor:pointer;border:1px dashed #bdc9c2;border-radius:10px;align-items:center;gap:9px;padding:0 13px;display:flex}fieldset{border:1px solid var(--line);border-radius:11px;gap:8px;padding:13px;display:grid}legend{padding:0 5px;font-weight:650}.category-row{grid-template-columns:1fr 130px auto;align-items:center;gap:8px;display:grid}.category-row-description{grid-template-columns:minmax(150px,.7fr) minmax(220px,1.3fr) auto}.budget-grid{grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;display:grid}.budget-grid label{border:1px solid var(--line);background:#fbfcfb;border-radius:10px;padding:10px}.budget-grid label>span{color:var(--green-dark);font-size:11px;font-weight:800}.selection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:230px;display:grid;overflow-y:auto}.check-option{border:1px solid var(--line);cursor:pointer;background:#fbfcfb;border-radius:9px;align-items:center;gap:9px;min-height:48px;padding:8px 10px;display:flex}.check-option input{width:17px;height:17px;accent-color:var(--green);flex:none}.check-option>span{font-size:11px;display:grid}.check-option small{font-size:9px}.switch-row{border:1px solid var(--line);background:#fbfcfb;border-radius:10px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.switch-row>span{display:grid}.switch-row input{width:19px;height:19px;accent-color:var(--green)}.category-badge{color:var(--green-dark);background:var(--green-soft);border-radius:7px;padding:4px 7px;font-size:10px;font-weight:800}.review-note{color:var(--amber);margin-top:5px;display:block}.exception-card{border-color:#ead4b3;margin-bottom:16px}.task-context{background:var(--surface-muted);border-radius:10px;padding:12px}.task-context p{margin:7px 0 0;font-weight:700}.budget-matrix{gap:7px;display:grid}.budget-matrix-head,.budget-matrix-row{grid-template-columns:80px repeat(2,minmax(130px,1fr));align-items:center;gap:10px;display:grid}.budget-matrix-head{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;padding:0 10px;font-size:10px;font-weight:750}.budget-matrix-row{border:1px solid var(--line);background:#fbfcfb;border-radius:10px;padding:9px 10px}.budget-matrix-row>strong{color:var(--green-dark);font-size:11px}.mega-hours-heading{align-items:center;gap:4px;min-width:0;display:flex;position:relative}.mega-hours-help-trigger{width:32px;height:32px;color:var(--green-dark);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.mega-hours-help-trigger[aria-expanded=true]{background:var(--green-soft)}.mega-hours-help-trigger:focus-visible{outline:2px solid var(--green);outline-offset:2px}.mega-hours-help-trigger:active{transform:scale(.97)}.mega-hours-help-content{z-index:10;border:1px solid var(--line);background:var(--surface);width:min(320px,100vw - 96px);box-shadow:var(--shadow);color:var(--ink-soft);text-transform:none;letter-spacing:normal;border-radius:10px;margin:0;padding:14px;font-size:12px;font-weight:400;line-height:1.6;position:absolute;top:calc(100% + 6px);right:0}@media (hover:hover) and (pointer:fine){.mega-hours-help-trigger:hover{background:var(--green-soft)}}@media (pointer:coarse){.mega-hours-help-trigger{width:40px;height:40px}}.cutoff-field{margin-top:8px}.gdv-input-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.gdv-project-summary{margin-top:24px}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.person-card{padding:21px}.person-heading{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;display:grid}.person-heading h2{margin:0 0 3px;font-size:16px}.person-heading p{color:var(--ink-soft);margin:0;font-size:10px}.contract-pill{background:var(--surface-muted);color:var(--ink-soft);border-radius:999px;padding:5px 8px;font-size:9px;font-weight:750}.contract-active{color:var(--green-dark);background:var(--green-soft)}.contract-future{color:#285d87;background:var(--blue-soft)}.contract-ended{color:var(--danger);background:var(--danger-soft)}.person-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:19px 0 14px;display:grid}.person-summary div{gap:3px;display:grid}.person-summary dt{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:9px}.person-summary dd{margin:0;font-size:12px;font-weight:700}.salary-history{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:10px 0 16px}.salary-history summary{cursor:pointer;padding:11px 0;font-size:11px;font-weight:750}.salary-history>div{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:9px 0;font-size:11px;display:flex}.salary-history>div>span{display:grid}.salary-history small{color:var(--ink-soft);font-size:9px}.salary-preview{color:#fff;background:var(--green-dark);border-radius:11px;gap:3px;padding:15px;display:grid}.salary-preview span,.salary-preview small{color:#ffffffbf}.salary-preview strong{font-size:21px}.report-scope-filters{gap:12px;margin:-8px 0 18px;display:flex}.report-scope-filters label{min-width:220px}.report-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.report-metrics .metric-card{min-height:125px}.report-table-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.report-loading{min-height:130px;color:var(--ink-soft);place-content:center;align-items:center;gap:10px;display:flex}.banner{border-radius:10px;align-items:center;gap:9px;max-width:1420px;margin:12px auto 0;padding:11px 15px;font-size:12px;display:flex}.page>.banner{margin:-10px 0 18px}.banner-error{color:var(--danger);background:var(--danger-soft)}.banner button{cursor:pointer;background:0 0;border:0;margin-left:auto;display:grid}.toast{z-index:120;color:#fff;max-width:420px;transition:opacity .18s var(--ease-out), transform .18s var(--ease-out);background:#143c2e;border-radius:11px;align-items:center;gap:9px;padding:12px 15px;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 14px 40px #0e281e33}@starting-style{.toast{opacity:0;transform:translateY(12px)}}.loading-page,.center-page{background:var(--bg);text-align:center;place-content:center;justify-items:center;gap:13px;min-height:100dvh;display:grid}.loading-page p{color:var(--ink-soft)}.center-page .card{width:min(460px,100vw - 32px);padding:28px}@media (hover:hover) and (pointer:fine){.button-primary:hover{background:var(--green-dark)}.button-secondary:hover,.icon-button:hover{background:var(--surface-muted)}.sidebar nav button:hover:not(.active){color:var(--ink);background:#f1f4f2}.deadline-list>button:hover{background:var(--surface-muted)}.notification-panel>button:hover{background:#f8faf9}.task-title:hover{color:var(--green)}.attention-card>button:hover,.finance-shortcuts>button:hover{background:#f8faf9}}@media (max-width:1100px){.metric-grid,.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kanban{grid-template-columns:repeat(4,280px)}.admin-operations-grid{grid-template-columns:1fr}.entry-row{grid-template-columns:105px minmax(180px,1fr) auto auto}.report-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.entry-time{display:none}}@media (max-width:780px){body{font-size:13px}.login-page{grid-template-columns:1fr}.login-brand{min-height:310px;padding:30px 26px}.login-brand h1{margin-top:30px;font-size:38px}.login-copy{display:none}.login-panel{min-height:calc(100dvh - 310px);padding:38px 24px}.sidebar{width:min(300px,86vw);transition:transform .22s var(--ease-out);transform:translate(-102%);box-shadow:20px 0 50px #12261e24}.sidebar-open{transform:translate(0)}.sidebar-close{display:grid}.mobile-scrim{z-index:25;background:#0b1c1559;border:0;display:block;position:fixed;inset:0}.main-content{margin-left:0;padding-bottom:70px}.topbar{justify-content:space-between;height:58px;padding:0 15px}.mobile-menu{display:grid}.mobile-logo{font-weight:750;display:block}.topbar-actions .avatar{display:none}.mobile-tabs{height:65px;padding:5px max(8px, env(safe-area-inset-left)) calc(5px + env(safe-area-inset-bottom));z-index:22;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-tabs button{color:#7c8983;background:0 0;border:0;flex:1;place-content:center;justify-items:center;gap:3px;min-width:58px;font-size:9px;display:grid}.mobile-tabs button.active{color:var(--green);font-weight:750}.page{padding:25px 15px 40px}.page-header{flex-direction:column;align-items:flex-start;margin-bottom:21px}.page-header .button{width:100%}.page-header h1{font-size:31px}.metric-grid,.metric-grid-3{scroll-snap-type:x mandatory;margin-inline:-15px;padding:0 15px 6px;display:flex;overflow-x:auto}.metric-card{scroll-snap-align:start;min-width:78vw}.dashboard-grid,.reports-grid,.admin-grid,.finance-grid,.people-grid,.report-table-grid,.project-grid{grid-template-columns:1fr}.project-card h2{min-height:0}.project-detail-metrics,.budget-detail-list,.project-detail-context{grid-template-columns:1fr}.project-details-heading,.table-toolbar{flex-direction:column;align-items:flex-start}.toolbar-actions{justify-content:space-between;width:100%}.filter-panel-header{align-items:flex-start}.filter-reset{flex:none}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 9px}.filter-user,.filter-project,.filter-status{grid-column:1/-1}.review-list>div{flex-wrap:wrap;align-items:flex-start}.review-list .row-actions{justify-content:flex-end;width:100%}.team-row{grid-template-columns:auto minmax(130px,1fr) auto}.team-hours{display:none}.team-pending{justify-items:end}.team-row .row-actions,.team-row>.status{grid-column:2/-1;justify-self:end}.approval-group-header{flex-wrap:wrap;align-items:flex-start}.approval-group-header .row-actions{justify-content:flex-end;width:100%}.entry-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:13px 15px}.entry-description{grid-area:2/1/auto/-1}.entry-time{grid-area:3/1;display:grid}.entry-row>.status{grid-area:1/2}.entry-actions{flex-wrap:wrap;grid-area:3/2}.day-card-header{align-items:flex-start}.kanban{margin-inline:-15px;padding-inline:15px}.form-grid,.form-grid-3{grid-template-columns:1fr}.dialog-backdrop{place-items:end center;padding:0}.dialog{width:100%;max-height:92vh;padding:24px 19px calc(24px + env(safe-area-inset-bottom));transform-origin:bottom;border-radius:18px 18px 0 0}@starting-style{.dialog{opacity:0;transform:translateY(100%)}}.category-row{grid-template-columns:1fr 100px auto}.category-row-description{grid-template-columns:1fr auto}.category-row-description input:nth-child(2){grid-area:2/1/auto/-1}.budget-grid,.selection-grid{grid-template-columns:1fr 1fr}.budget-matrix-head,.budget-matrix-row{grid-template-columns:55px repeat(2,minmax(100px,1fr))}.gdv-input-grid{grid-template-columns:1fr}.person-heading{grid-template-columns:auto minmax(0,1fr)}.person-heading .contract-pill{grid-column:2;justify-self:start}.person-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.report-scope-filters{flex-direction:column}.report-scope-filters label{min-width:0}.finance-payment-list>div{grid-template-columns:minmax(0,1fr) auto}.finance-payment-list .button{grid-column:1/-1;justify-self:stretch}.toast{bottom:78px;left:12px;right:12px}.notification-panel{top:54px;right:12px}}.daily-summary{justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;padding:24px;display:flex}.section-tabs{max-width:100%;margin-bottom:22px;overflow-x:auto}.project-picker{min-width:0;position:relative}.project-picker>label{margin-bottom:7px;font-size:12px;font-weight:600;display:block}.project-picker-trigger{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);text-align:left;font:inherit;cursor:pointer;background:#fff;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;font-size:13px;font-weight:600;display:flex}.project-picker-trigger>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-picker-trigger>svg{flex-shrink:0}.project-picker-trigger:focus-visible{outline:2px solid var(--green);outline-offset:2px}.project-picker-popup{z-index:20;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:10px;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow:hidden}.project-picker-search{border-bottom:1px solid var(--line);color:var(--ink-soft);align-items:center;gap:9px;padding:10px;display:flex}.project-picker-search input{flex:1;min-width:0}.project-picker-list{overscroll-behavior:contain;max-height:min(260px,35dvh);overflow-y:auto}.project-picker-option{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:11px 14px;display:flex}.project-picker-option>span{min-width:0}.project-picker-option strong{font-size:12px;display:block}.project-picker-option small{color:var(--ink-soft);overflow-wrap:anywhere;margin-top:4px;font-size:12px;line-height:1.45;display:block}.project-picker-option.highlighted{background:var(--green-soft)}.project-picker-option>svg{color:var(--green);flex-shrink:0}.project-picker-empty{color:var(--ink-soft);padding:16px;font-size:13px}.assignee-picker{min-width:0}.assignee-picker-trigger{border:1px solid var(--line);width:100%;min-width:0;min-height:52px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:8px 11px;display:flex}.assignee-picker-trigger>span{gap:4px;min-width:0;display:grid}.assignee-picker-trigger strong{font-size:12px}.assignee-picker-trigger small{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft);font-size:12px;overflow:hidden}.assignee-picker-trigger>svg{flex-shrink:0}.assignee-picker-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.assignee-picker-trigger:focus-visible,.assignee-picker-toolbar button:focus-visible{outline:2px solid var(--green);outline-offset:2px}.assignee-picker-trigger:active,.assignee-picker-toolbar button:active{transform:scale(.98)}.assignee-picker-panel{min-width:0}.assignee-picker-search{color:var(--ink-soft);align-items:center;gap:8px;display:flex}.assignee-picker-search input{width:100%;min-width:0;font-size:16px}.assignee-picker-search svg{flex-shrink:0}.assignee-picker-toolbar{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:8px;padding:6px 0;font-size:11px;display:flex}.assignee-picker-toolbar button{border:1px solid var(--line);min-height:44px;color:var(--ink);cursor:pointer;background:#fff;border-radius:7px;padding:0 8px;font-size:11px}.assignee-picker-toolbar button[aria-pressed=true]{background:var(--green-soft);color:var(--green);border-color:var(--green)}.assignee-picker-list{overscroll-behavior:contain;scrollbar-gutter:stable;border-top:1px solid var(--line);max-height:min(184px,28dvh);overflow-y:auto}.assignee-picker-option{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:10px;min-height:46px;padding:8px;display:flex}.assignee-picker-option input{width:18px;height:18px;accent-color:var(--green);flex:none}.assignee-picker-option>span{overflow-wrap:anywhere;flex:1;min-width:0;font-size:12px}.assignee-picker-option small{color:var(--ink-soft);font-size:11px}.assignee-picker-option>span small{margin-top:3px;display:block}.assignee-picker-option:has(input:checked){background:var(--green-soft)}.assignee-picker-option:focus-within{outline:2px solid var(--green);outline-offset:-2px}.assignee-picker-empty{color:var(--ink-soft);padding:14px 8px;font-size:12px}@media (hover:hover) and (pointer:fine){.project-picker-option:hover{background:var(--green-soft)}}.context-help{vertical-align:middle;display:inline-flex}.context-help .mega-hours-help-content{left:0;right:auto}.card-heading .context-help .mega-hours-help-content{left:auto;right:0}.export-actions{justify-content:flex-end;gap:10px;margin-bottom:18px;display:flex}.financial-workspace>.card,.financial-workspace>.report-table-grid{margin-top:20px}.payment-amount{font-variant-numeric:tabular-nums;margin:14px 0;font-size:28px;display:block}.payment-description{color:#52675e;overflow-wrap:anywhere;margin-bottom:20px}.payment-dialog .dialog-actions{justify-content:flex-end}.payment-details{white-space:normal;min-width:130px;max-width:300px}.payment-details p{overflow-wrap:anywhere;margin-top:8px;font-size:12px}.inline-checkbox{align-items:center;gap:8px;display:flex!important}.inline-checkbox input{width:18px;height:18px;min-height:0}.expense-table .row-actions{flex-wrap:wrap}.financial-metrics{margin-top:20px}.daily-summary h2,.daily-selected h2{margin-bottom:8px;font-size:18px}.daily-summary p,.daily-summary-action span,.daily-notice,.daily-totals,.daily-selected p{color:#52675e;font-size:13px;line-height:1.6}.daily-summary-action{flex-wrap:wrap;align-items:center;gap:12px;max-width:390px;display:flex}.daily-summary-action>strong{font-variant-numeric:tabular-nums;font-size:32px}.daily-summary-action>span{flex:1;min-width:140px}.daily-coverage{min-width:0;margin-bottom:24px;padding:24px}.daily-notice{max-width:100ch;margin-bottom:18px}.daily-filters{flex-wrap:wrap;align-items:end;gap:16px;margin-bottom:18px;display:flex}.daily-filters label{gap:7px;min-width:165px;font-size:12px;font-weight:600;display:grid}.daily-filters input,.daily-filters select{color:#213c30;background:#fff;border:1px solid #d6dfda;border-radius:8px;min-width:0;min-height:42px;padding:9px 11px}.daily-filters .daily-checkbox{align-items:center;gap:9px;min-height:42px;display:flex}.daily-checkbox input{accent-color:#176f50;width:18px;height:18px;min-height:0}.daily-totals{margin-bottom:14px}.daily-table{font-variant-numeric:tabular-nums;min-width:820px}.daily-table td{white-space:normal}.daily-table td small{margin-top:5px;display:block}.daily-table td:nth-last-child(2){max-width:290px}.daily-overdue{background:#fff7ed}.daily-status{font-size:12px;font-weight:600;line-height:1.5}.daily-status-missing,.daily-status-correction,.daily-status-incomplete{color:#974414}.daily-status-sent,.daily-status-sent_with_pending{color:#176f50}.daily-selected{margin-bottom:18px;padding:22px;scroll-margin-top:20px}.daily-selected .row-actions{flex-wrap:wrap;margin-top:12px}@media (max-width:640px){.daily-summary{flex-direction:column;align-items:stretch;padding:18px}.daily-coverage{padding:16px}.daily-filters{flex-direction:column;align-items:stretch}.daily-filters label{min-width:0}.daily-summary-action{max-width:none}.daily-summary-action .button{width:100%}.daily-table{min-width:0;display:block}.daily-table thead{display:none}.daily-table tbody{gap:12px;display:grid}.daily-table tr{border:1px solid #e3e8e5;border-radius:10px;grid-template-columns:1fr 1fr;padding:8px;display:grid}.daily-table td{border:0;padding:8px;max-width:none!important}.daily-table td:before{content:attr(data-label);color:#52675e;margin-bottom:5px;font-size:10px;display:block}.daily-table td[data-label=Colaborador],.daily-table td[data-label=Situação],.daily-table td[data-label=Ação]{grid-column:1/-1}.daily-table td[data-label=Ação]:before{display:none}.daily-table td[data-label=Ação] .button{border:1px solid #d6dfda;width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.button:active,.icon-button:active,.project-card-trigger:active{transform:none}}:root{--bg:#eef2ef;--surface:#fbfcfb;--surface-raised:#f7f9f7;--surface-muted:#e9eeeb;--ink:#18231e;--ink-soft:#5d6a64;--ink-faint:#66726c;--line:#d7dfda;--line-strong:#c5d0c9;--green:#1b7655;--green-dark:#11563d;--green-soft:#dcece4;--green-quiet:#edf5f1;--amber:#98621c;--amber-soft:#f5ead7;--blue:#36677e;--blue-soft:#e1ecef;--violet:#5e675d;--violet-soft:#e8ece8;--danger:#a6403b;--danger-soft:#f5e5e3;--sidebar:#12221b;--sidebar-raised:#1b3027;--sidebar-line:#edf5f11c;--shadow:0 18px 50px #1f332a14;--shadow-soft:0 1px 2px #1f332a0a, 0 8px 24px #1f332a0b;--ease-out:cubic-bezier(.16, 1, .3, 1)}html{background:var(--bg);scroll-behavior:smooth}body{min-width:320px;color:var(--ink);background:var(--bg);font-family:var(--font-geist), ui-sans-serif, system-ui, sans-serif;text-rendering:optimizelegibility;font-size:14px;line-height:1.5}::selection{color:#eef6f2;background:var(--green-dark)}h1,h2,h3{text-wrap:balance}h1{letter-spacing:-.045em;font-size:clamp(31px,3.5vw,46px);font-weight:620;line-height:1.04}h2{letter-spacing:-.025em;font-size:20px;font-weight:640}small{color:var(--ink-soft)}button,a,input,select,textarea{transition-duration:.18s;transition-timing-function:var(--ease-out)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}.brand-mark{background:var(--green);width:38px;height:38px;box-shadow:none;border-radius:10px;place-items:center;display:grid;overflow:hidden}.brand-mark img{width:100%;height:100%;display:block}.brand-mark-large{border-radius:13px;width:54px;height:54px}.brand-mark span{display:none}.brand-logo{object-fit:contain;object-position:left center;width:auto;height:32px;display:block}.button{letter-spacing:-.01em;border-radius:8px;min-height:42px;padding-inline:16px;font-weight:650;transition-property:transform,background-color,border-color,color,box-shadow}.button:active{transform:translateY(1px)scale(.985)}.button-primary{color:#f2f8f5;background:var(--green-dark);box-shadow:inset 0 1px #ffffff29}.button-secondary{color:var(--ink);background:var(--surface);border-color:var(--line-strong);box-shadow:0 1px 1px #14281f08}.button-ghost{color:var(--ink-soft);background:0 0;border-color:#0000}.button-danger{color:#fbf2f1;background:var(--danger)}.text-button{color:var(--green-dark);font-weight:650}.icon-button{border-radius:8px;transition-property:transform,background-color,color}.icon-button:active{transform:translateY(1px)scale(.98)}label{gap:8px;font-weight:610}label>span,legend{font-size:12px}input,select,textarea{border-color:var(--line-strong);color:var(--ink);background:var(--surface);border-radius:8px;box-shadow:inset 0 1px 1px #18231e05}input,select{height:44px;padding-inline:13px}textarea{padding:12px 13px}input::placeholder,textarea::placeholder{color:#69756f;opacity:1}input:hover,select:hover,textarea:hover{border-color:#aebcb4}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #1b76551f}.password-input,.input-prefix,.input-suffix{border-color:var(--line-strong);background:var(--surface);border-radius:8px}.password-input:focus-within,.input-prefix:focus-within,.input-suffix:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #1b76551f}.login-page{background:#f3f5f3;grid-template-columns:minmax(520px,1.05fr) minmax(460px,.95fr);min-height:100dvh}.login-brand{isolation:isolate;color:#eef5f1;background:var(--sidebar);justify-content:space-between;gap:32px;min-height:100dvh;padding:clamp(34px,5vw,72px)}.login-brand:after{display:none}.login-brand-image{z-index:-3;object-fit:cover;object-position:center;filter:saturate(.72)contrast(1.04)}.login-brand-shade{z-index:-2;background:linear-gradient(#0b181294 0%,#0b181247 38%,#0b1812d6 100%),linear-gradient(90deg,#0b18126b,#0000 72%);position:absolute;inset:0}.login-brand-top{align-items:center;display:flex}.login-brand-logo{width:min(320px,72%);height:auto}.login-brand-top>div{line-height:1.12;display:grid}.login-brand-top strong{color:#f4f8f6;letter-spacing:.02em;font-size:15px}.login-brand-top small{color:#eef5f1ab;font-size:11px}.login-brand-content{max-width:630px;margin-top:auto;padding-bottom:clamp(22px,7vh,76px)}.login-brand .eyebrow{color:#afd5c2;letter-spacing:.13em;margin-bottom:18px;font-size:11px}.login-brand h1{color:#f4f8f6;letter-spacing:-.065em;max-width:650px;margin-bottom:24px;font-size:clamp(50px,6.2vw,86px);font-weight:570;line-height:.92}.login-copy{color:#eef5f1c2;max-width:500px;margin:0;font-size:17px;line-height:1.55}.login-brand-footer{color:#eef5f196;letter-spacing:.02em;margin:0;font-size:11px}.login-panel{background:#f3f5f3;min-height:100dvh;padding:56px clamp(44px,9vw,132px)}.login-panel-inner{width:100%;max-width:440px;margin:auto}.login-mobile-brand{display:none}.login-mobile-brand .brand-logo{width:176px;height:auto}.login-form{gap:21px;max-width:none}.login-form-heading{margin-bottom:10px}.login-form-heading>span{color:var(--green-dark);letter-spacing:.08em;text-transform:uppercase;margin-bottom:13px;font-size:11px;font-weight:680;display:block}.login-form-heading h2{letter-spacing:-.045em;margin:0 0 10px;font-size:clamp(30px,3.1vw,40px);font-weight:620;line-height:1.04}.login-form-heading p{color:var(--ink-soft);margin:0;font-size:14px}.login-form label>span{color:#34423b}.login-form input{background:var(--surface);height:48px}.login-form .password-input input{height:46px}.login-form .button-primary{min-height:48px;margin-top:3px}.login-form .text-button{justify-self:start}.login-support{color:var(--ink-faint);text-align:left;margin:44px 0 0}.form-error{border:1px solid #e7c8c5;border-radius:8px;padding:12px 13px}.portal{background:var(--bg);min-height:100dvh}.sidebar{color:#e6efea;background:var(--sidebar);border-right:0;width:272px;height:100dvh;padding:22px 16px 18px}.sidebar:after{content:"";pointer-events:none;background:linear-gradient(#0000,#dfeee621 16% 84%,#0000);width:1px;position:absolute;inset:0 0 0 auto}.sidebar-brand{border-bottom:1px solid var(--sidebar-line);margin:0 2px 23px;padding:0 6px 22px}.sidebar-brand-logo{width:178px;height:auto}.sidebar-brand strong{color:#f0f5f2;font-size:15px;font-weight:650}.sidebar-brand small{color:#e6efea8c;letter-spacing:.04em;font-size:10px}.sidebar nav{gap:4px}.sidebar nav button{color:#e6efeaa6;height:45px;transition:transform .14s var(--ease-out), background-color .18s var(--ease-out), color .18s var(--ease-out);border-radius:8px;padding-inline:13px;font-weight:520}.sidebar nav button svg{opacity:.86}.sidebar nav button.active{color:#f2f7f4;background:var(--sidebar-raised);font-weight:620;box-shadow:inset 2px 0 #52a982}.sidebar nav button.active svg{color:#83c7a7;opacity:1}.sidebar nav button b{color:#ebf5f0;background:var(--green);border-radius:6px}.sidebar-user{border-color:var(--sidebar-line);margin-inline:2px;padding:16px 6px 0}.sidebar-user strong{color:#eef5f1;font-weight:620}.sidebar-user small{color:#e6efea85}.sidebar-user .avatar{color:#dff0e8;background:#29483a}.sidebar-user .icon-button,.sidebar-close{color:#e6efeaa8}.main-content{min-height:100dvh;margin-left:272px}.topbar{-webkit-backdrop-filter:blur(18px)saturate(130%);backdrop-filter:blur(18px)saturate(130%);background:#f7f9f7e6;border-color:#c7d2cbbf;justify-content:space-between;height:74px;padding-inline:clamp(24px,3.8vw,60px)}.topbar-context{gap:1px;line-height:1.1;display:grid}.topbar-context span{color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:620}.topbar-context strong{font-size:14px;font-weight:640}.topbar-actions{gap:10px}.notification-trigger{border-color:var(--line);background:var(--surface)}.notification-trigger>i{background:var(--green)}.notification-panel{border-color:var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:12px;top:64px}.notification-panel>button{background:var(--surface)}.page{max-width:1600px;padding:42px clamp(24px,3.8vw,60px) 80px}.page-header{align-items:center;min-height:92px;margin-bottom:30px}.page-header>div:first-child{gap:7px;display:grid}.page-header h1{margin:0}.page-header>div:first-child>p:last-child{max-width:680px;color:var(--ink-soft);margin:1px 0 0;font-size:14px}.page-kicker{color:var(--green-dark);letter-spacing:.02em;font-size:11px;font-weight:650}.card{border-color:var(--line);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:12px}.card-heading{border-color:#dfe5e1;min-height:68px;padding:19px 21px}.card-heading h2{font-size:18px}.metric-grid{gap:12px;margin-bottom:20px}.dashboard-page>.metric-grid:not(.report-metrics){grid-template-columns:1.28fr repeat(3,minmax(0,1fr))}.metric-card{border-color:var(--line);background:var(--surface);min-height:158px;box-shadow:none;border-radius:12px;padding:19px}.metric-card>span{color:var(--ink-soft);margin-bottom:12px;font-size:11px;font-weight:620}.metric-card>strong{color:var(--ink);font-variant-numeric:tabular-nums;margin-top:auto;font-size:29px;font-weight:630}.metric-card>small{color:var(--ink-faint)}.metric-feature{color:#eef6f2;background:linear-gradient(150deg,#143e2f,#176449);border-color:#1a6148;box-shadow:inset 0 1px #ffffff17}.metric-feature>strong{color:#f0f7f3}.metric-feature>span,.metric-feature>small{color:#eef6f2b3}.metric-icon,.metric-icon.amber,.metric-icon.blue,.metric-icon.violet{color:var(--green-dark);background:var(--green-soft);border-radius:8px}.metric-feature .metric-icon{color:#dff2e9;background:#e4f4ec1c}.progress{background:#dfe6e2;height:5px}.metric-feature .progress{background:#eef6f224}.metric-feature .progress i{background:#78bd9c}.dashboard-grid,.admin-operations-grid{gap:16px}.status{border-radius:6px;font-size:10px}.status i{width:5px;height:5px}.lk-code,.category-chips span,.count-chip,.budget-mini-list span{border-radius:6px}.lk-code{color:var(--green-dark);background:var(--green-quiet)}.avatar{color:var(--green-dark);background:var(--green-soft);border-radius:8px}.empty-state>span{border-radius:10px}.data-filters{box-shadow:none;margin-bottom:20px}.filter-panel-header{background:var(--surface-raised);min-height:60px;padding-inline:18px}.filter-icon{border-radius:8px}.filter-reset{background:var(--surface);border-radius:7px}.filter-field>span{color:var(--ink-soft);letter-spacing:.02em}.filter-grid{padding:17px 18px 19px}.filter-field input,.filter-field select{border-radius:8px;height:41px}.search-box{background:var(--surface);max-width:620px;height:46px;box-shadow:var(--shadow-soft);border-radius:8px}.table-card{box-shadow:none}.responsive-table{scrollbar-color:#a8b6ae transparent}table{font-variant-numeric:tabular-nums}th{color:#647069;letter-spacing:.045em;background:#f0f3f1;padding:12px 16px;font-size:10px}td{color:#46534d;border-color:#e3e8e5;padding:15px 16px}.table-toolbar{min-height:82px;padding-inline:21px}.activity-list,.finance-payment-list{padding-inline:21px}.activity-row{border-color:#e3e8e5;grid-template-columns:10px minmax(0,1fr) auto}.project-dot{width:7px;height:7px;box-shadow:0 0 0 3px var(--green-soft);border-radius:2px}.deadline-list>button,.date-tile{border-radius:8px}.segmented-control{background:var(--surface-muted);border-radius:8px}.segmented-control button{border-radius:6px}.segmented-control button.active{box-shadow:0 1px 2px #162b2114}.team-row,.entry-row,.review-list>div{border-color:#e3e8e5}.attention-card>button,.finance-shortcuts>button{background:var(--surface);border-color:#e3e8e5}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.project-card{box-shadow:none}.project-card-trigger{padding:21px}.project-card h2{min-height:auto;font-size:19px}.project-expand-hint{border-color:#e3e8e5}.project-details{padding:23px 21px 21px}.project-detail-metrics>div,.budget-detail-row{border-color:var(--line);background:var(--surface-raised);border-radius:8px}.utilization-pill,.contract-pill{border-radius:6px}.budget-detail-progress{border-radius:3px}.project-detail-context{border-color:var(--line)}.kanban{gap:12px}.kanban-column{border-color:var(--line);background:#e8edea;border-radius:10px}.kanban-heading b{background:var(--surface);border-radius:6px}.task-card{border-color:var(--line);background:var(--surface);box-shadow:none;border-radius:8px}.milestone-strip{background:var(--surface);border-radius:10px}.milestone-strip>div{border-radius:8px}.people-grid{gap:14px}.person-card{box-shadow:none}.salary-preview{background:#183d2f;border-radius:8px}.settings-card{box-shadow:none}.helper-text{background:var(--surface-muted);border-radius:8px}.dialog-backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#09161094}.dialog{background:var(--surface);border-color:#e9f1edb3;border-radius:14px;box-shadow:0 28px 90px #07171047}.dialog-close{background:var(--surface-muted)}.dialog h2{font-weight:620}.dialog-form{gap:18px}fieldset{border-color:var(--line);background:var(--surface-raised);border-radius:9px}.file-input>div,.switch-row,.budget-matrix-row,.check-option,.project-picker-trigger,.project-picker-popup,.assignee-picker-trigger{border-radius:8px}.project-picker-popup{box-shadow:var(--shadow)}.mega-hours-help-content{box-shadow:var(--shadow);border-radius:8px}.banner{border-radius:8px}.banner-error{border:1px solid #e7c8c5}.banner-info{color:#2d5a69;background:var(--blue-soft)}.toast{background:#163a2d;border-radius:9px}.center-page,.loading-page{min-height:100dvh}.reset-page{background:radial-gradient(circle at 12% 10%, #1b765514, transparent 30%), var(--bg);place-items:center;min-height:100dvh;padding:24px;display:grid}.reset-shell{border:1px solid var(--line);background:var(--surface);width:min(460px,100%);box-shadow:var(--shadow);border-radius:12px;gap:22px;padding:clamp(28px,5vw,46px);display:grid}.reset-brand{align-items:center;gap:11px;display:flex}.reset-brand .brand-logo{width:190px;height:auto}.reset-brand strong{font-size:14px}.reset-heading>span{color:var(--green-dark);letter-spacing:.07em;text-transform:uppercase;margin-bottom:12px;font-size:11px;font-weight:680;display:block}.reset-heading h1{margin-bottom:10px;font-size:35px}.reset-heading p{color:var(--ink-soft);margin:0}.reset-feedback{border-radius:8px;margin:-4px 0 0;padding:11px 12px;font-size:12px}.reset-feedback-error{color:var(--danger);background:var(--danger-soft)}.reset-feedback-success{color:var(--green-dark);background:var(--green-soft)}.reset-back{color:var(--green-dark);justify-self:center;font-size:12px;font-weight:650}.reset-shell-loading{color:var(--ink-soft);justify-items:center}.portal-loading{grid-template-columns:272px 1fr;display:grid}.loading-sidebar{background:var(--sidebar);min-height:100dvh;padding:22px}.loading-sidebar .brand-mark{margin-bottom:42px}.loading-brand-logo{width:178px;height:auto;margin-bottom:42px}.loading-nav{gap:10px;display:grid}.loading-nav span{background:#e8f3ed12;border-radius:7px;height:38px}.loading-workspace{min-width:0}.loading-topbar{border-bottom:1px solid var(--line);background:var(--surface-raised);height:74px}.loading-content{max-width:1500px;padding:46px 4vw}.skeleton-line,.skeleton-card{background:#dfe5e1;position:relative;overflow:hidden}.skeleton-line:after,.skeleton-card:after{content:"";background:linear-gradient(90deg,#0000,#fafcfab8,#0000);animation:1.4s ease-in-out infinite skeleton-sweep;position:absolute;inset:0;transform:translate(-100%)}.skeleton-line{border-radius:7px;width:min(340px,58%);height:34px;margin-bottom:34px}.loading-metrics{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.skeleton-card{border-radius:12px;height:156px}@keyframes skeleton-sweep{to{transform:translate(100%)}}@media (hover:hover) and (pointer:fine){.button-primary:hover{background:#0d4d36;box-shadow:0 6px 16px #11563d24}.button-secondary:hover{background:#f7f9f7;border-color:#aebbb4}.button-ghost:hover,.icon-button:hover{color:var(--ink);background:var(--surface-muted)}.sidebar nav button:hover:not(.active){color:#edf4f0;background:#e8f3ed0f}.sidebar-user .icon-button:hover,.sidebar-close:hover{color:#f2f7f4;background:#e8f3ed14}.metric-card:not(.metric-feature):hover{border-color:var(--line-strong);box-shadow:var(--shadow-soft);transform:translateY(-2px)}tbody tr:hover td{background:#f7f9f7}.project-card:has(.project-card-trigger:hover){border-color:var(--line-strong);box-shadow:var(--shadow-soft)}.project-card-trigger:hover,.notification-panel>button:hover,.deadline-list>button:hover,.attention-card>button:hover,.finance-shortcuts>button:hover{background:#f4f7f5}}@media (prefers-reduced-motion:no-preference){.page>*{animation:content-enter .46s var(--ease-out) both}.page>:nth-child(2){animation-delay:45ms}.page>:nth-child(3){animation-delay:90ms}.page>:nth-child(4){animation-delay:.135s}@keyframes content-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}@media (max-width:1180px){.dashboard-page>.metric-grid:not(.report-metrics),.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:780px){.login-page{grid-template-columns:1fr;min-height:100dvh}.login-brand{min-height:224px;padding:22px 22px 20px}.login-brand-top{margin-top:auto}.login-brand-content{display:none}.login-brand-footer{max-width:280px}.login-brand-image{object-position:center 48%}.login-panel{min-height:calc(100dvh - 224px);padding:38px 22px 42px}.login-panel-inner{max-width:480px}.login-form-heading h2{font-size:31px}.login-support{margin-top:36px}.sidebar{width:min(310px,88vw);box-shadow:24px 0 70px #08171047}.main-content{margin-left:0;padding-bottom:72px}.topbar{height:62px;padding-inline:14px}.topbar-context{display:none}.mobile-logo .brand-logo{width:142px;height:auto}.mobile-tabs{border-color:var(--line);background:#f7f9f7f5;height:68px}.mobile-tabs button{color:#68756e}.mobile-tabs button.active{color:var(--green-dark)}.page{width:100%;padding:28px 15px 48px}.page-header{min-height:0;margin-bottom:24px}.page-header h1{font-size:34px}.dashboard-page>.metric-grid:not(.report-metrics),.metric-grid,.metric-grid-3{display:flex}.metric-card{min-width:min(82vw,350px)}.project-grid,.people-grid,.report-table-grid{grid-template-columns:1fr}.dialog{border-radius:14px 14px 0 0}.portal-loading{grid-template-columns:1fr}.loading-sidebar{display:none}.loading-metrics{gap:12px;display:flex;overflow:hidden}.skeleton-card{min-width:76vw}}@media (max-width:430px){.login-brand{min-height:196px}.login-panel{min-height:calc(100dvh - 196px);padding-top:32px}.login-brand-footer{font-size:10px}.login-form-heading p{font-size:13px}.filter-grid{grid-template-columns:1fr}.filter-from,.filter-to{grid-column:1}}@media (prefers-reduced-motion:reduce){.skeleton-line:after,.skeleton-card:after{animation:none}}
