*{box-sizing:border-box}body{margin:0;background:var(--gradient-page) fixed,var(--bg-body);color:var(--text-primary);font:16px/1.6 var(--font-sans);min-height:100vh}a{color:var(--accent-blue-text);text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;background:var(--accent-blue);color:var(--text-primary);border:0;border-radius:var(--radius-button);padding:var(--space-3) var(--space-4);font-size:14px;font-weight:700;letter-spacing:.02em}button:disabled{opacity:.5;cursor:default}.secondary{background:var(--surface-raised)}.danger{background:var(--status-error-fill)}button:focus-visible,a:focus-visible,input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-blue-text);outline-offset:2px}input,select,textarea{width:100%;border:1px solid var(--border-control);border-radius:var(--radius-input);background:var(--surface-solid);color:var(--text-primary);padding:var(--space-3) var(--space-4);margin-top:var(--space-2)}textarea{border-radius:var(--radius-button)}label{display:block;font-size:14px;margin-bottom:var(--space-4)}p{margin:var(--space-2) 0 var(--space-4)}h1,h2,h3{margin:0}small,.muted,.caption{color:var(--text-secondary)}.eyebrow{font-size:12px;letter-spacing:.12em;color:var(--text-secondary);margin:0 0 var(--space-2)}.layout{display:grid;grid-template-columns:calc(var(--space-tv)*5) 1fr;min-height:100vh;gap:var(--space-6);padding:var(--space-6)}.sidebar{background:var(--gradient-card);border-radius:var(--radius-card);padding:var(--space-card);display:flex;flex-direction:column;gap:var(--space-2);height:calc(100vh - var(--space-tv));position:sticky;top:var(--space-6)}.wordmark{font-weight:700;font-size:24px;letter-spacing:-.04em;padding:var(--space-3) 0 var(--space-8)}.brandmark{display:inline-grid;place-items:center;border-radius:var(--radius-button);width:var(--space-8);height:var(--space-8);background:var(--accent-blue);margin-right:var(--space-2)}.sidebar a,.sidebar .disabled{display:flex;align-items:center;padding:var(--space-3);border-radius:var(--radius-button);gap:var(--space-3);color:var(--text-primary)}.sidebar a.active,.sidebar a:hover{background:var(--surface-raised)}.sidebar .disabled{color:var(--text-secondary);font-size:14px}.sidebar .section{margin-top:var(--space-6)}.sidebar small{display:block;font-size:12px;line-height:1.25}.sidebar-bottom{margin-top:auto}.page{min-width:0}.page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding:var(--space-3) 0 var(--space-6)}.page-header .right{text-align:right}.card{background:var(--gradient-card);border-radius:var(--radius-card);padding:var(--space-card);box-shadow:var(--shadow-card)}.card header,dialog header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6)}.grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-6)}.weather-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.weather-card .display{margin:var(--space-3) 0}.weather-card details{font-size:12px;color:var(--text-secondary);margin-top:var(--space-3)}.news-row{display:grid;grid-template-columns:var(--space-8) 1fr;gap:var(--space-4);padding:var(--space-4) 0;border-top:1px solid var(--border-glass)}.news-row .index{font-size:18px;color:var(--text-secondary)}.news-row h3{font-size:18px;line-height:1.5;font-weight:600}.news-meta{display:flex;gap:var(--space-3);align-items:center;margin-top:var(--space-2);font-size:12px;color:var(--text-secondary)}.score{background:var(--surface-raised);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-2)}.agenda-item{padding:var(--space-4) 0;border-top:1px solid var(--border-glass)}.agenda-item button{background:transparent;padding:0;text-align:left;font-size:16px;font-weight:500}.tag{display:inline-block;font-size:12px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);background:var(--surface-raised)}.tag.hm{background:var(--brand-hm);color:var(--bg-body)}.tag.dbn{background:var(--brand-dbn);color:var(--bg-body)}.warning{border-left:var(--space-2) solid var(--code-color);margin-bottom:var(--space-6)}.warning.yellow{--code-color:var(--status-warning)}.warning.orange{--code-color:var(--brand-dbn)}.warning.red{--code-color:var(--status-error-fill)}.warning .code{color:var(--code-color);font-weight:700}.warning h2{font-size:24px}.warning p{margin-bottom:var(--space-2)}.unknown{color:var(--text-secondary);margin-bottom:var(--space-4);font-size:14px}.toolbar{display:flex;justify-content:space-between;gap:var(--space-4);align-items:center;margin-bottom:var(--space-6);flex-wrap:wrap}.toolbar .buttons{display:flex;gap:var(--space-2)}.layers{display:flex;gap:var(--space-6);flex-wrap:wrap;margin-bottom:var(--space-4)}.layers label{margin:0;display:flex;gap:var(--space-2);align-items:center}.layers input{width:auto;margin:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--space-2)}.weekday{padding:var(--space-2);color:var(--text-secondary);font-size:14px}.day{min-height:calc(var(--space-tv)*2.5);padding:var(--space-2);background:var(--surface-solid);border-radius:var(--radius-button)}.day.week{min-height:calc(var(--space-tv)*8)}.day.outside{opacity:.5}.day .date{background:transparent;padding:var(--space-1);font-size:14px}.day.today .date{background:var(--accent-blue);border-radius:var(--radius-pill)}.calendar-event{display:block;width:100%;text-align:left;padding:var(--space-2);margin-top:var(--space-2);background:var(--surface-raised);font-size:12px;line-height:1.5;font-weight:500;border-left:var(--space-1) solid var(--accent-blue-text)}.calendar-event.tr{border-color:var(--status-error)}.calendar-event.religious{border-color:var(--accent-cyan)}.calendar-event.nl{border-color:var(--text-secondary)}.empty{color:var(--text-secondary);padding:var(--space-4) 0}.pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}dialog{background:var(--surface-solid);color:var(--text-primary);border:1px solid var(--border-glass);border-radius:var(--radius-card);padding:var(--space-8);width:min(100% - var(--space-tv),calc(var(--space-tv)*12));max-height:90vh}dialog::backdrop{background:var(--surface-glass-end)}dialog footer{display:flex;justify-content:space-between;gap:var(--space-4)}#notice{position:fixed;bottom:var(--space-6);right:var(--space-6);background:var(--surface-raised);border-radius:var(--radius-button);padding:0;max-width:80vw;z-index:10}#notice:not(:empty){padding:var(--space-4)}.login{max-width:calc(var(--space-tv)*10);margin:10vh auto;padding:var(--space-8)}.demo-label{color:var(--status-warning);font-weight:700}.tv{height:100vh;padding:var(--space-tv);display:flex;flex-direction:column;overflow:hidden}.tv header,.tv footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}.tv main{flex:1;display:flex;flex-direction:column;justify-content:center;gap:var(--space-8);padding:var(--space-tv) 0;min-height:0}.tv .tv-title{max-width:90%;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.tv .tv-body{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.tv .weather-grid{margin:0}.tv .weather-card{padding:var(--space-8)}.tv .tv-weather-temp{font-size:120px;font-weight:700;line-height:1;margin:var(--space-tv) 0}.tv footer{color:var(--text-secondary);border-top:1px solid var(--border-glass);padding-top:var(--space-6)}.tv .warning{margin:0;padding:var(--space-tv)}.tv .agenda-item{display:flex;gap:var(--space-tv);padding:var(--space-6) 0}.fade{animation:appear .35s ease}@keyframes appear{from{opacity:0;transform:translateY(var(--space-2))}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.fade{animation:none}}@media(max-width:1000px){.layout{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center}.wordmark{padding:0 var(--space-4) 0 0}.sidebar .section,.sidebar-bottom{margin:0}.sidebar .eyebrow{display:none}.grid{grid-template-columns:1fr}.weather-grid{grid-template-columns:repeat(2,1fr)}.calendar-card{overflow-x:auto}.calendar-grid{min-width:750px}}@media(max-width:550px){.layout{padding:var(--space-3)}.page-header{align-items:start}.page-header .right{display:none}.pair{grid-template-columns:1fr}.weather-grid{gap:var(--space-2)}.card{padding:var(--space-4)}}

.agenda-item .tag{margin-left:var(--space-2)}

.tv h2.tv-title{font-size:56px;line-height:1.15;font-weight:700}

.calendar-event.brand-hm{border-color:var(--brand-hm)}.calendar-event.brand-dbn{border-color:var(--brand-dbn)}.calendar-event.brand-neutral{border-color:var(--text-secondary)}
