:root{color:#17212b;background:#eef2f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{background:#17324d;color:#fff;padding:28px 22px;display:flex;flex-direction:column;justify-content:space-between;gap:40px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;margin-bottom:18px;border-radius:12px;background:#e9b44c;color:#17324d;font-weight:900}.sidebar h1{margin:4px 0 30px;font-family:Georgia,serif;font-size:30px}.sidebar nav{display:grid;gap:9px}.sidebar nav a{padding:12px 14px;border-radius:10px;color:#dce8f2;text-decoration:none}.sidebar nav .active{background:#28577d;color:#fff;font-weight:700}.identity{display:grid;gap:4px;font-size:13px;color:#c5d5e3;overflow-wrap:anywhere}.identity strong{color:#fff;font-size:15px}.role{width:fit-content;margin-top:8px;padding:3px 8px;border:1px solid #7895ad;border-radius:999px;text-transform:uppercase;font-size:10px;letter-spacing:.12em}.switch-user{margin-top:12px;border:0;background:transparent;color:#e9b44c;padding:0;text-align:left}.workspace{padding:34px;overflow:hidden}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:22px}.page-heading h2{margin:2px 0 6px;font-family:Georgia,serif;font-size:36px;color:#17324d}.page-heading p{margin:0;color:#617080}.eyebrow{margin:0;color:#8a6827!important;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.total-card{min-width:180px;padding:14px 18px;background:#17324d;color:#fff;border-radius:14px;box-shadow:0 12px 25px #17324d22}.total-card span{display:block;color:#c5d5e3;font-size:12px}.total-card strong{display:block;margin-top:3px;font-family:Georgia,serif;font-size:28px}.date-strip{display:flex;align-items:end;gap:10px;margin-bottom:20px}.date-strip label{max-width:190px;margin:0}.date-strip button{width:43px;height:43px;border:1px solid #c9d3dc;border-radius:10px;background:#fff;color:#17324d;font-size:20px}.timesheet-grid{display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:20px;align-items:start}.panel{background:#fff;border:1px solid #dbe2e8;border-radius:16px;box-shadow:0 10px 25px #17324d0d}.form-panel{padding:22px}.list-panel{padding:22px 0 0;overflow:hidden}.list-panel .panel-heading{padding:0 22px}.panel-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-heading h3{margin:3px 0 0;color:#17324d;font-size:20px}.count{padding:5px 9px;background:#edf3f7;color:#496278;border-radius:999px;font-size:12px}form{display:grid;gap:13px}.selector{display:grid;grid-template-columns:1fr 1fr;gap:9px}label{display:grid;gap:6px;color:#536576;font-size:12px;font-weight:700}input,select,textarea{width:100%;border:1px solid #cbd5dd;border-radius:9px;background:#fbfcfd;color:#17212b;padding:10px 11px;outline:none}input:focus,select:focus,textarea:focus{border-color:#3e749f;box-shadow:0 0 0 3px #3e749f20}textarea{min-height:84px;resize:vertical}.primary,.quiet,.danger{border:1px solid transparent;border-radius:9px;padding:9px 12px;font-weight:700}.primary{background:#b77b16;color:#fff}.primary:hover{background:#94620f}.full{width:100%;margin-top:3px}.quiet{border-color:#cbd5dd;background:#fff;color:#31536f}.danger{border-color:#e4b2ac;background:#fff7f6;color:#a4382d}.actions{display:flex;gap:6px}.message{margin:0 0 16px;padding:11px 13px;border-radius:9px;font-size:13px}.message.error{border:1px solid #e3aaa4;background:#fff6f5;color:#97352c}.message.success{border:1px solid #a9d1bd;background:#f3fbf6;color:#246343}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:13px 14px;border-top:1px solid #e5eaee;text-align:left;vertical-align:top;font-size:13px}th{color:#657687;background:#f7f9fa;font-size:11px;text-transform:uppercase;letter-spacing:.07em}td strong,td span{display:block}td span{margin-top:3px;color:#71808e;font-size:11px}.hours{font-weight:800;color:#17324d}.comments{min-width:160px;white-space:normal;color:#526372}.empty{padding:32px 22px;color:#71808e;text-align:center}.batch-panel{margin-top:20px;padding:22px}.panel-note{margin:-8px 0 16px;color:#617080;font-size:13px}.batch-controls{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:10px;align-items:end}.batch-preview{margin-top:18px}.batch-preview p{color:#536576}.report-grid{display:grid;grid-template-columns:minmax(260px,330px) minmax(0,1fr);gap:20px;align-items:start}.report-filters{padding:22px;display:grid;gap:13px}.report-filters h3{margin:0 0 5px;color:#17324d}.report-preview{padding:22px 0 0;overflow:hidden}.report-preview .panel-heading{padding:0 22px}.admin-tabs{display:flex;gap:8px;margin-bottom:20px;overflow-x:auto}.admin-tabs button{border:1px solid #c9d3dc;border-radius:9px;background:#fff;color:#31536f;padding:9px 14px;font-weight:700;white-space:nowrap}.admin-tabs button.active{border-color:#17324d;background:#17324d;color:#fff}.admin-grid{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:20px;align-items:start}.admin-form{padding:22px}.admin-form h3{margin:4px 0 18px;color:#17324d;font-size:21px}.admin-list{padding:22px 0 0;overflow:hidden}.admin-list .panel-heading{padding:0 22px;align-items:end}.admin-list .panel-heading label{width:min(240px,45%)}.checkbox{display:flex;align-items:center;gap:8px}.checkbox input{width:auto}.status-pill{display:inline-block;padding:4px 8px;border:1px solid;border-radius:999px;font-size:11px;font-weight:700}.status-active{border-color:#a9d1bd;background:#f3fbf6;color:#246343}.status-inactive{border-color:#e3aaa4;background:#fff6f5;color:#97352c}.center-state{min-height:100vh;display:grid;place-items:center;padding:24px;background:#17324d}.access-card{width:min(460px,100%);padding:30px;border-radius:18px;background:#fff;box-shadow:0 20px 60px #07152255}.access-card h1{margin:7px 0;color:#17324d;font-family:Georgia,serif}.access-card p{color:#536576;line-height:1.55}.access-card small{display:block;margin-top:18px;color:#71808e;line-height:1.5}@media(max-width:1050px){.timesheet-grid,.admin-grid,.report-grid{grid-template-columns:1fr}}@media(max-width:760px){.app-shell{display:block}.sidebar{padding:18px;gap:18px}.sidebar nav{display:flex}.identity{display:none}.workspace{padding:20px 14px}.page-heading{align-items:stretch;flex-direction:column}.total-card{width:100%}.selector,.batch-controls{grid-template-columns:1fr}}
