:root{--bg: #f4fafc;--surface: #ffffff;--surface-2: #e6f3f8;--text: #00355c;--muted: #4a6a7d;--border: #bfdde8;--danger: #a3231b;--sky: #90e0e8;--radius: 10px;--shadow: 0 1px 2px rgba(0, 53, 92, .06), 0 4px 12px rgba(0, 53, 92, .05);--accent: #0a728f;--accent-hover: #085d75;--accent-soft: #ddf0f7;--accent-text: #ffffff;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #081923;--surface: #102734;--surface-2: #183442;--text: #e4f3f9;--muted: #96b7c6;--border: #24414f;--danger: #f2b8b5;--sky: #90e0e8;--shadow: 0 1px 2px rgba(0, 0, 0, .45);--accent: #5cc8e4;--accent-hover: #7ad6ec;--accent-soft: #13303f;--accent-text: #042330;color-scheme:dark}}:root[data-theme=dark]{--bg: #081923;--surface: #102734;--surface-2: #183442;--text: #e4f3f9;--muted: #96b7c6;--border: #24414f;--danger: #f2b8b5;--sky: #90e0e8;--shadow: 0 1px 2px rgba(0, 0, 0, .45);--accent: #5cc8e4;--accent-hover: #7ad6ec;--accent-soft: #13303f;--accent-text: #042330;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.5}h1{font-size:1.15rem;margin:0}h2{font-size:1rem;margin:0 0 .75rem}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent);padding:.5rem .75rem;border-radius:var(--radius)}.notice{color:var(--accent);background:var(--accent-soft);padding:.5rem .75rem;border-radius:var(--radius)}button{font:inherit;cursor:pointer;border-radius:var(--radius);border:1px solid transparent;padding:.45rem .85rem;transition:background .12s ease,border-color .12s ease}button:disabled{opacity:.55;cursor:not-allowed}button.primary{background:var(--accent);color:var(--accent-text)}button.primary:hover:not(:disabled){background:var(--accent-hover)}button.ghost{background:transparent;color:var(--text);border-color:var(--border)}button.ghost:hover:not(:disabled){background:var(--surface-2)}button.small{padding:.25rem .6rem;font-size:.85rem}button.icon{padding:.25rem .6rem;font-size:1.2rem;line-height:1}button.link{background:none;border:none;padding:0;color:var(--accent);text-decoration:underline;font-size:.85rem}button.link.danger{color:var(--danger)}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.4rem .6rem}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.centred-screen{min-height:100vh;display:grid;place-items:center;padding:1rem}.sign-in-card{max-width:24rem;text-align:center;display:grid;gap:.75rem}.app{min-height:100vh}.app-header{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;background:var(--surface);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:.7rem}.brand p{margin:0}.tabs{display:flex;gap:.25rem}.tab{background:transparent;border-color:transparent;color:var(--muted)}.tab.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.header-actions{display:flex;gap:.5rem;align-items:center}.app-main{padding:1.25rem}.page{display:grid;gap:1rem;max-width:1200px;margin:0 auto}.person-picker{padding:.6rem 1.25rem;background:var(--accent-soft);border-bottom:1px solid var(--border)}.person-picker label{display:flex;align-items:center;gap:.6rem}.month-nav{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}.month-nav-controls{display:flex;align-items:center;gap:.5rem}.month-title{min-width:10rem;text-align:center}.month-total{color:var(--muted);font-size:.9rem}.calendar-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(20rem,1fr);gap:1rem;align-items:start}@media(max-width:900px){.calendar-layout{grid-template-columns:1fr}}.calendar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.calendar-weekday{text-align:center;font-size:.8rem;color:var(--muted);padding-bottom:.35rem}.calendar-cell{position:relative;aspect-ratio:1 / .85;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;background:var(--surface-2);border:1px solid transparent;padding:.35rem .45rem;text-align:left}.calendar-cell.blank{background:transparent}.calendar-cell.has-entries{background:var(--accent-soft)}.calendar-cell.today{border-color:var(--accent)}.calendar-cell.selected{outline:2px solid var(--accent);outline-offset:-2px}.calendar-cell.locked{opacity:.72}.calendar-daynum{font-weight:600;font-size:.85rem}.calendar-total{font-size:.8rem;color:var(--accent);font-weight:600}.lock-badge{position:absolute;top:.3rem;right:.35rem;font-size:.7rem}.day-panel{display:grid;gap:.75rem}.day-panel-header{display:flex;justify-content:space-between;gap:.5rem;align-items:flex-start}.day-panel-header h2{margin:0}.admin-lock-controls{display:flex;gap:.5rem;flex-wrap:wrap}.pill{font-size:.75rem;padding:.15rem .5rem;border-radius:999px;background:var(--surface-2);color:var(--muted);white-space:nowrap}.pill.locked-pill{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.pill.invited{margin-left:.5rem;background:var(--accent-soft);color:var(--accent)}.entry-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.entry{border-bottom:1px solid var(--border);padding-bottom:.6rem}.entry:last-child{border-bottom:none}.entry-main{display:flex;justify-content:space-between;gap:.75rem}.entry-task{font-weight:500}.entry-duration{color:var(--accent);font-weight:600;white-space:nowrap}.entry-note{margin:.25rem 0 0}.entry-actions{display:flex;gap:.75rem;margin-top:.3rem}.locked-note{margin:0}.entry-form{display:grid;gap:.6rem;border-top:1px solid var(--border);padding-top:.75rem}.field{display:grid;gap:.25rem;font-size:.85rem;color:var(--muted)}.field.small{max-width:8rem}.time-fields{display:flex;gap:.75rem}.form-actions{display:flex;gap:.5rem}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem}.stat{display:grid;gap:.15rem}.stat-value{font-size:1.5rem;font-weight:600;color:var(--accent)}.dashboard-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:1rem;align-items:start}.task-breakdown,.recent-list{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.task-line{display:flex;justify-content:space-between;gap:.75rem}.task-duration{color:var(--accent);font-weight:600}.bar{height:6px;background:var(--surface-2);border-radius:999px;overflow:hidden;margin:.25rem 0}.bar-fill{height:100%;background:var(--accent)}.team-table{width:100%;border-collapse:collapse}.team-table th,.team-table td{text-align:left;padding:.55rem .5rem;border-bottom:1px solid var(--border)}.team-table th{font-size:.8rem;color:var(--muted);font-weight:600}.team-table tr.inactive{opacity:.55}.team-table .numeric{font-variant-numeric:tabular-nums}.person-cell{display:flex;align-items:center;gap:.6rem}.avatar{width:2rem;height:2rem;border-radius:999px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:.75rem;font-weight:700}.name-button{font-size:.95rem;text-decoration:none;color:var(--text)}.name-button:hover{text-decoration:underline}.inline-edit{max-width:12rem}.add-person{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.mode-picker{position:relative}.mode-trigger{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;padding:0;border-radius:50%;background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-size:1rem;line-height:1}.mode-trigger:hover{background:var(--accent-soft);color:var(--accent)}.mode-trigger[aria-expanded=true]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.mode-menu{position:absolute;right:0;top:calc(100% + .35rem);z-index:30;list-style:none;margin:0;padding:.3rem;display:grid;gap:.2rem;justify-items:center;border-radius:999px}.mode-option{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--text);font-size:1rem;line-height:1}.mode-option:hover{background:var(--surface-2)}.mode-option.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.jenly-logo{display:inline-block}.jenly-logo img{display:block}.jenly-logo .logo-dark{display:none}:root[data-theme=dark] .jenly-logo .logo-light{display:none}:root[data-theme=dark] .jenly-logo .logo-dark{display:block}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .jenly-logo .logo-light{display:none}:root:not([data-theme=light]) .jenly-logo .logo-dark{display:block}}.sign-in-logo{margin:0 auto .5rem}.icon-button{display:inline-flex;align-items:center;gap:.5rem}.icon-button svg{flex:none}.sign-in-button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;width:100%;padding:.6rem 1rem}.sign-in-button svg{background:#fff;border-radius:3px;padding:2px;flex:none}
