:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4f6f8;color:#20242a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}h1,h2,p{margin:0}h1{font-size:1.35rem;line-height:1.2}h2{font-size:1rem;line-height:1.25}label{display:grid;gap:.4rem;color:#4f5865;font-size:.86rem;font-weight:650}input,select,textarea{width:100%;border:1px solid #cfd6df;border-radius:7px;background:#fff;color:#20242a;min-height:40px;padding:.55rem .65rem}textarea{resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid #2e7d6b;outline-offset:2px}.loading-screen,.auth-shell{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.loading-screen{gap:.75rem;color:#4f5865}.auth-panel{width:min(100%,420px);display:grid;gap:1.3rem;padding:1.25rem;border:1px solid #dbe1e8;border-radius:8px;background:#fff;box-shadow:0 20px 60px #20242a14}.brand{display:flex;align-items:center;gap:.75rem}.brand p,.topbar p,.section-header p,.muted{color:#657080;font-size:.9rem}.brand.compact{padding:.2rem .45rem 1.1rem}.brand-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:8px;background:#173c36;color:#fff}.brand-icon{display:block;border-radius:8px}.segmented{display:grid;grid-template-columns:repeat(2,1fr);gap:.25rem;padding:.25rem;border-radius:8px;background:#eef2f5}.segmented button,.sidebar nav button{border:0;background:transparent;color:#4f5865}.segmented button{min-height:38px;border-radius:7px;font-weight:700}.segmented button.active{background:#fff;color:#20242a;box-shadow:0 1px 4px #20242a1a}.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:1rem;border-right:1px solid #dbe1e8;background:#fff}.sidebar nav{display:grid;gap:.35rem}.sidebar nav button{min-height:42px;display:flex;align-items:center;gap:.7rem;padding:0 .75rem;border-radius:7px;font-weight:700;text-align:left}.sidebar nav button.active,.sidebar nav button:hover{background:#e7f2ef;color:#173c36}.content{min-width:0;padding:1.25rem}.topbar{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.user-area{position:relative;display:flex;align-items:center;color:#4f5865;font-weight:700}.user-menu-trigger{min-height:40px;display:inline-flex;align-items:center;gap:.45rem;border:1px solid #cfd6df;border-radius:7px;background:#fff;color:#39414c;padding:0 .75rem;font-weight:750}.user-menu-trigger:hover{background:#f7f9fa}.user-menu{position:absolute;z-index:10;top:calc(100% + .45rem);right:0;min-width:180px;display:grid;gap:.25rem;padding:.35rem;border:1px solid #dbe1e8;border-radius:8px;background:#fff;box-shadow:0 14px 40px #20242a24}.user-menu button{min-height:40px;display:flex;align-items:center;gap:.65rem;border:0;border-radius:7px;background:transparent;color:#39414c;padding:0 .7rem;font-weight:750;text-align:left}.user-menu button:hover{background:#e7f2ef;color:#173c36}.mobile-only{display:none}.page-grid{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:1rem;align-items:start}.wide{grid-column:span 2}.panel,.stat{border:1px solid #dbe1e8;border-radius:8px;background:#fff}.panel{display:grid;gap:1rem;padding:1rem}.section-header{display:flex;justify-content:space-between;gap:1rem;align-items:center}.stack{display:grid;gap:.9rem}.actions,.filters,.week-controls{display:flex;align-items:end;gap:.65rem;flex-wrap:wrap}.week-controls{align-items:center;flex-wrap:nowrap}.week-controls input{width:auto;min-width:0;flex:1 1 12rem}.row-actions{display:flex;align-items:center;gap:.45rem}.primary,.secondary,.icon-button{border:1px solid transparent;border-radius:7px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font-weight:750}.primary{background:#173c36;color:#fff;padding:0 .9rem}.secondary{background:#fff;color:#173c36;border-color:#b9c8c5;padding:0 .9rem}.icon-button{width:40px;padding:0;border-color:#cfd6df;background:#fff;color:#39414c;flex:0 0 auto}.icon-button:hover,.secondary:hover{background:#f7f9fa}.danger{color:#b42318}.error{color:#b42318;background:#fff1f0;border:1px solid #ffccc7;padding:.65rem;border-radius:7px;font-size:.9rem}.success{color:#173c36;background:#e7f2ef;border:1px solid #b9c8c5;padding:.65rem;border-radius:7px;font-size:.9rem}.timesheet-table{overflow-x:auto;display:grid;gap:.35rem;padding-bottom:.25rem}.timesheet-head,.timesheet-row{min-width:1120px;display:grid;grid-template-columns:160px 160px 220px repeat(7,82px) 44px;gap:.45rem;align-items:center}.timesheet-head{color:#657080;font-size:.78rem;font-weight:800;text-transform:uppercase}.timesheet-row{padding:.35rem;border:1px solid #edf0f3;border-radius:8px;background:#fbfcfd}.timesheet-row input,.timesheet-row select{min-height:38px}.activity-list,.table-list,.report-table{display:grid;gap:.55rem}.activity-item,.list-row,.report-row{display:flex;justify-content:space-between;gap:.8rem;align-items:center;padding:.75rem;border:1px solid #edf0f3;border-radius:8px;background:#fbfcfd}.activity-item{align-items:flex-start;flex-direction:column;gap:.25rem}.activity-item span,.list-row span,.report-row small{color:#657080;font-size:.86rem}.list-row>div,.report-row>span{min-width:0;display:grid;gap:.18rem}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.stat{padding:1rem;display:grid;gap:.35rem}.stat span{color:#657080;font-size:.86rem;font-weight:700}.stat strong{font-size:1.45rem}@media(max-width:900px){.app-shell{display:block}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid #dbe1e8}.content{padding:.9rem}.topbar{align-items:center}.page-grid,.stat-grid{grid-template-columns:1fr}.wide{grid-column:span 1}.user-menu-trigger span{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filters label,.filters .primary,.week-controls input{flex:1 1 140px}}@media(max-width:560px){.topbar{gap:.6rem}.topbar h1{font-size:1.05rem}.topbar p{display:none}.section-header,.activity-item,.list-row,.report-row{align-items:flex-start}.section-header,.list-row,.report-row{flex-direction:column}.panel{padding:.8rem}}
