:root{--bg:#0f1115;--panel:#171a21;--border:#262b36;--text:#e7eaf0;--muted:#9aa3b2;--accent:#3d7eff;--danger:#ff6b6b}*{box-sizing:border-box}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}main{max-width:880px;margin:0 auto;padding:2.5rem 1.25rem}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.75rem;max-width:420px;margin:3rem auto}h1{font-size:1.4rem;margin:0 0 .25rem}.muted,label{color:var(--muted)}label{display:block;font-size:.85rem;margin:.9rem 0 .3rem}input{padding:.6rem .7rem;background:#0d0f13;border:1px solid var(--border);border-radius:8px;color:var(--text)}button,input{width:100%;font-size:.95rem}button{margin-top:1.25rem;padding:.65rem;background:var(--accent);color:#fff;border:0;border-radius:8px;cursor:pointer}button:hover{filter:brightness(1.08)}.error{color:var(--danger);font-size:.85rem;margin-top:.75rem}a{color:var(--accent)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:1rem;gap:1rem;margin-top:1.5rem}.stat{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:1.1rem}.stat .n{font-size:1.6rem;font-weight:600}.stat .l{color:var(--muted);font-size:.82rem}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.nav{background:var(--panel);border-right:1px solid var(--border);padding:1.25rem 1rem;display:flex;flex-direction:column}.nav .brand{font-weight:700;margin-bottom:1.5rem}.nav nav{display:flex;flex-direction:column;gap:.25rem}.nav nav a{color:var(--text);text-decoration:none;padding:.5rem .65rem;border-radius:7px;font-size:.92rem}.nav nav a:hover{background:#1e2330}.nav .signout{margin-top:auto;display:flex;flex-direction:column;gap:.4rem}.content{padding:2rem 2.25rem;max-width:1000px}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.page-head h1{font-size:1.3rem}a.btn,button.btn,button.ghost{display:inline-block;width:auto;margin:0;padding:.5rem .9rem;background:var(--accent);color:#fff;border:0;border-radius:8px;font-size:.9rem;text-decoration:none;cursor:pointer}a.btn.secondary,button.btn.secondary,button.ghost{background:transparent;border:1px solid var(--border);color:var(--text)}a.btn.danger,button.btn.danger{background:transparent;border:1px solid var(--danger);color:var(--danger)}table.grid{width:100%;border-collapse:collapse;font-size:.9rem}table.grid th{text-align:left;color:var(--muted);font-weight:500;font-size:.78rem;text-transform:uppercase;padding:.6rem .5rem}table.grid td,table.grid th{border-bottom:1px solid var(--border)}table.grid td{padding:.7rem .5rem}table.grid td.num{text-align:right}table.grid tr:hover td{background:#1a1f2b}.empty{color:var(--muted);padding:2rem 0}.form-wide{max-width:560px}.form-wide .row2{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem}.form-wide button{width:auto}textarea{font-family:inherit;min-height:70px}select,textarea{width:100%;padding:.6rem .7rem;background:#0d0f13;border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.95rem}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.72rem;text-transform:uppercase;background:#262b36;color:#cbd5e1}.badge.accepted{background:#14361f;color:#86efac}.badge.rejected{background:#3a1a1a;color:#fca5a5}.badge.sent{background:#172a4d;color:#93c5fd}.badge.draft{background:#262b36;color:#cbd5e1}.line-row{display:grid;grid-template-columns:2fr .7fr .9fr .7fr .6fr auto;grid-gap:.5rem;gap:.5rem;align-items:center;margin-bottom:.5rem}.line-row input,.line-row select{padding:.45rem}.totebox{margin-top:1rem;margin-left:auto;width:280px}.totebox .row{display:flex;justify-content:space-between;padding:.25rem 0}.totebox .grand{font-weight:700;border-top:1px solid var(--border);margin-top:.4rem;padding-top:.5rem}.flash{padding:.6rem .8rem;border-radius:8px;background:#14361f;color:#86efac;margin-bottom:1rem;font-size:.88rem}.licence-editor{display:grid;grid-template-columns:105px 100px 82px 68px 140px auto;grid-gap:.35rem;gap:.35rem;align-items:center;min-width:620px}.licence-editor input,.licence-editor select{padding:.35rem .45rem;font-size:.78rem}.organization-choice{width:100%;margin:0;display:flex;justify-content:space-between;gap:1rem;align-items:center;text-align:left;background:var(--panel);border:1px solid var(--border)}.organization-choice span{display:grid;grid-gap:.2rem;gap:.2rem}.organization-choice small{color:var(--muted);font-weight:400}.organization-choice:disabled{cursor:not-allowed;opacity:.55}.timesheet-entry-form{display:grid;grid-template-columns:145px minmax(220px,1fr) 80px 110px 80px auto;grid-gap:.5rem;gap:.5rem;align-items:end}.timesheet-entry-form label{margin-top:0}.timesheet-entry-form button{margin-bottom:1px}.demo-banner{margin-bottom:1rem;padding:.65rem .85rem;border:1px solid #7c5b16;border-radius:8px;background:#33270f;color:#fcd34d;font-size:.82rem}.demo-login{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.demo-login p{margin:0 0 .75rem;font-size:.85rem}.landing{max-width:920px;margin:0 auto;padding:4rem 1.5rem 2rem;display:flex;flex-direction:column;min-height:100vh}.landing-inner{flex:1 1}.landing-badge{display:inline-block;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border:1px solid var(--border);border-radius:999px;padding:.25rem .8rem;margin-bottom:1.5rem}.landing h1{font-size:2.4rem;line-height:1.15;margin:0 0 1rem}.landing .lead{color:var(--muted);font-size:1.05rem;max-width:620px;line-height:1.55}.landing-cta{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.75rem 0 2.5rem}.landing-cta form{margin:0}.landing-cta .btn{padding:.7rem 1.4rem;font-size:.95rem}.landing-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1rem;gap:1rem}.landing-features .feat{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.1rem 1.2rem}.landing-features .t{font-weight:600;margin-bottom:.35rem}.landing-features .d{color:var(--muted);font-size:.86rem;line-height:1.5}.landing-foot{color:var(--muted);font-size:.78rem;padding-top:2.5rem}@media (max-width:560px){.landing h1{font-size:1.8rem}}@media (max-width:760px){.shell{grid-template-columns:1fr}.nav{border-right:0;border-bottom:1px solid var(--border)}.nav nav{flex-direction:row;flex-wrap:wrap}.nav .signout{margin-top:1rem}.content{padding:1.25rem;max-width:100%;overflow-x:auto}.form-wide .row2,.timesheet-entry-form{grid-template-columns:1fr}table.grid{display:block;overflow-x:auto;white-space:nowrap}}