*{box-sizing:border-box}body,html{margin:0;padding:0}:root{--bg:#edf3f8;--bg-deep:#e4edf4;--card:rgba(255,255,255,0.97);--text:#0d1b2f;--muted:#607187;--line:#d8e2ea;--primary:#0c5fb8;--primary-dark:#083d7d;--secondary:#2f6b2c;--accent:#f28b00;--shadow:0 20px 48px rgba(8,61,125,0.09)}body{font-family:Arial,Helvetica,sans-serif;background:radial-gradient(circle at top left,rgba(12,95,184,.11),transparent 30%),radial-gradient(circle at top right,rgba(47,107,44,.1),transparent 28%),linear-gradient(180deg,#f9fcfe 0,var(--bg) 100%);color:var(--text)}a{color:inherit}.wrap{max-width:1140px;margin:0 auto;padding:28px 24px}.topbar{background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:-webkit-sticky;position:sticky;top:0;z-index:20}.topbar-inner{justify-content:space-between;gap:16px}.brand,.topbar-inner{display:flex;align-items:center}.brand{gap:14px;text-decoration:none}.brand-logo{width:64px;height:64px;object-fit:contain}.brand-text{display:flex;flex-direction:column}.brand-title{font-weight:800;font-size:1.15rem}.brand-subtitle{font-size:.85rem;color:var(--muted)}.nav{display:flex;gap:18px;align-items:center}.nav a{text-decoration:none;color:var(--primary-dark);font-weight:600}.card{background:var(--card);border:1px solid rgba(255,255,255,.82);border-radius:24px;padding:24px;box-shadow:var(--shadow)}.grid{display:grid;grid-gap:16px;gap:16px}button,input,select,textarea{padding:10px 12px;border-radius:12px;border:1px solid #c9d7e2;font:inherit;background:white}button{cursor:pointer;background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);color:white;border:none;font-weight:700;box-shadow:0 10px 20px rgba(12,95,184,.18)}button.secondary{background:linear-gradient(135deg,#5e6d7f,#475569)}button:disabled{opacity:.65;cursor:not-allowed}label{display:block;margin-bottom:8px;font-weight:700}form.inline{display:inline-block;margin-right:8px}.row,form.stack{display:grid;grid-gap:12px;gap:12px}.row{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:800px){.row{grid-template-columns:1fr}}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:10px;border-bottom:1px solid var(--line);vertical-align:top}.small{color:var(--muted);font-size:14px}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.timesheet-grid-wrap{overflow-x:auto}.timesheet-grid-table input,.timesheet-grid-table select{width:100%;min-width:96px}.timesheet-grid-table td,.timesheet-grid-table th{vertical-align:middle}.inline-form{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.projects-form input:not([type]),.projects-form input[type=number],.projects-form input[type=text]{min-width:120px}.add-project-grid{display:grid;grid-template-columns:2fr 1fr 120px 150px;grid-gap:12px;gap:12px}.checkbox-inline{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.hero-card{display:flex;align-items:center;justify-content:space-between;gap:20px}.hero-logo{width:160px;max-width:35%;height:auto;object-fit:contain}.lock-banner{margin-top:12px;padding:12px 14px;border-radius:14px;background:rgba(13,79,159,.08);color:var(--primary-dark);font-weight:700}.empty-state{color:var(--muted);padding:12px 0}@media (max-width:900px){.section-head{flex-direction:column;align-items:flex-start}.add-project-grid{grid-template-columns:1fr}.hero-card,.topbar-inner{flex-direction:column;align-items:flex-start}.brand-logo{width:56px;height:56px}.hero-logo{width:120px;max-width:50%}}.eyebrow{margin:0 0 6px;color:var(--secondary);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.hero-panel{padding:28px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.94))}.compact-hero{padding:22px 24px}.hero-copy{max-width:560px}.hero-text{max-width:520px}.login-form{max-width:420px}.table-shell{overflow:hidden;border-radius:18px}.notice{margin-top:14px;padding:12px 14px;border-radius:14px;border:1px solid transparent;font-weight:600}.notice.success{background:rgba(47,107,44,.1);border-color:rgba(47,107,44,.18);color:#275625}.notice.error{background:rgba(176,47,47,.08);border-color:rgba(176,47,47,.16);color:#8d2121}.notice.info{background:rgba(12,95,184,.08);border-color:rgba(12,95,184,.15);color:var(--primary-dark)}.detail-header-card{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,251,254,.98))}.detail-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:16px}.stat-box{border:1px solid var(--line);border-radius:16px;padding:14px;background:rgba(255,255,255,.85)}.stat-box strong{display:block;margin-top:6px;font-size:1rem}.stat-label{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.totals-line{margin-top:14px;display:flex;flex-wrap:wrap;gap:18px;color:var(--muted);font-size:14px}@media (max-width:900px){.stats-grid{grid-template-columns:1fr 1fr}.detail-header-top{flex-direction:column}}.nav-auth{display:flex;align-items:center;gap:12px}.nav-user{font-size:12px;color:#4b5563}.auth-card{max-width:680px;margin:40px auto}.auth-stack{gap:14px}.muted{opacity:.8}.button-link{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:12px;background:#111827;color:white;text-decoration:none;font-weight:600}.button-link:hover{opacity:.95}