/* Shared presentation theme. Active brand: branding/active.json. */
@font-face{font-family:TAI Roboto;src:url('/tai-brand/roboto-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:TAI Roboto;src:url('/tai-brand/roboto-bold.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:TAI Montserrat;src:url('/tai-brand/montserrat-semibold.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:TAI Montserrat;src:url('/tai-brand/montserrat-extrabold.woff2') format('woff2');font-weight:800;font-display:swap}
:root{color-scheme:light;--bg:#f6f6f5;--surface:#fff;--card:#fff;--card2:#f4f4f4;--line:#dedee0;--text:#242428;--muted:#63636b;--brand:var(--brand);--brand2:var(--brand-hover);--danger:#b41432;--warn:#8a5000;--ok:#216346;--shadow:0 16px 48px #26222c12}
html,html body{background:var(--bg);color:var(--text);font-family:TAI Roboto,Arial,sans-serif}
html body{line-height:1.55}
html body h1,html body h2,html body h3,html body .brand{font-family:TAI Montserrat,Arial,sans-serif;letter-spacing:-.035em}
html body h1{font-weight:800}html body h2{font-size:21px;font-weight:600}html body h3{font-size:17px;font-weight:600}
html body a{color:var(--brand-hover);text-underline-offset:3px}
html body button{transition:background .15s,border-color .15s,box-shadow .15s}
html body :focus-visible{outline:3px solid var(--brand-hover);outline-offset:3px}
html body .appbar{height:96px;grid-template-columns:minmax(280px,1fr) auto auto;gap:12px;padding:18px 40px;background:#fff;border-bottom:1px solid var(--line);backdrop-filter:none;z-index:20}
.tai-brand-lockup{display:flex;align-items:center;gap:19px;text-align:left;min-width:0}
.tai-brand-lockup img{width:87px;height:auto;flex:none}
.tai-brand-lockup .brand{display:grid;text-align:left;border-left:1px solid var(--line);padding-left:20px;font-size:22px;line-height:1.15}
.tai-brand-lockup small{font:400 11px TAI Roboto,Arial,sans-serif;color:var(--muted);letter-spacing:.03em;margin-top:7px}
html body .icon{background:#fff;border-radius:50%;font-size:20px}
html body .icon:hover{background:var(--brand-soft);border-color:var(--brand-border)}
html body .profileline{position:absolute;right:156px;top:34px;max-width:390px;text-align:right;padding:0;font-size:12px;z-index:21}
html body .profileline:empty{display:none}
html body .nav{position:fixed;top:130px;left:28px;width:208px;display:flex;flex-direction:column;padding:8px;gap:7px;overflow:visible;margin:0}
html body .nav::before{content:'OMA TYÖTILA';font-size:10px;letter-spacing:.14em;font-weight:700;color:#74747b;margin:5px 14px 14px}
html body .nav button{display:flex;align-items:center;gap:13px;border:none;background:transparent;border-radius:9px;padding:13px 14px;min-height:48px;text-align:left;font-size:14px;color:#575760;font-weight:700}
html body .nav button.active{background:var(--brand-soft);color:var(--brand-hover);box-shadow:inset 3px 0 var(--brand)}
html body .nav button:hover{background:#efefef}
html body .nav button.active:hover{background:var(--brand-soft-hover)}
.tai-nav-icon{display:grid;place-items:center;width:23px;height:23px}.tai-nav-icon svg{width:21px;height:21px}
html body main{margin-left:264px;padding:28px 32px 0 12px}
html body .view{max-width:1180px;padding:0 0 72px;margin:0 auto}
.tai-preview-label{position:fixed;bottom:28px;left:45px;width:180px;color:#74747b;font-size:11px;line-height:1.7;z-index:1}
.tai-preview-label strong{display:block;color:#4f4f56;font-size:12px}
html body .card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;margin:0 0 22px;box-shadow:none}
html body .dashboard-hero{grid-template-columns:minmax(0,1.5fr) minmax(240px,.8fr);gap:22px}
html body .welcome-card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--brand);position:relative;padding-top:27px}
html body .welcome-card>p:first-child{color:var(--brand-hover);font-size:10px;font-weight:700;letter-spacing:.14em;margin-top:0}
html body .welcome-card h1{font-size:34px;line-height:1.2;margin:0 0 12px}
html body #homeSummary{font-size:14px;margin-bottom:24px}
html body .metric{background:#f7f7f7;border:0;border-radius:8px;padding:14px 18px;font-size:12px;color:var(--muted)}
html body .metric strong{font:800 28px TAI Montserrat,Arial,sans-serif;color:var(--text);line-height:1.2;margin-bottom:3px}
html body .quick-actions{gap:10px}
html body .quick-actions .btn{min-height:56px;text-align:left;justify-content:start;padding-left:17px}
html body .btn,html body .nav button{box-shadow:none}
html body .btn{background:#fff;color:var(--text);border:1px solid #d3d3d6;border-radius:8px;padding:11px 16px;font-weight:700;font-size:14px}
html body .btn:hover{background:#f5f5f5;border-color:#aaaab1}
html body .btn.primary{background:var(--brand);color:#fff;border:1px solid var(--brand)}
html body .btn.primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}
html body .btn.danger{color:#b41432;border-color:#e1c1c7;background:#fff}
html body .btn.small{font-size:12px;padding:8px 13px}
html body .btn:disabled{cursor:not-allowed;opacity:.6}
html body .dashboard-list{gap:0}
html body .dashboard-item{padding:17px 0;background:#fff;border:none;border-bottom:1px solid #ebebed;border-radius:0;gap:16px}
html body .dashboard-item:last-child{border-bottom:0;padding-bottom:0}
html body .dashboard-item-main>strong{font-size:15px}.dashboard-item-main>.muted{margin-top:7px}
html body .dashboard-item .btn{color:var(--brand-hover);border-color:var(--brand-border);min-width:95px}
html body .pill{background:#eeeeef;color:#52525c;border-radius:5px;padding:4px 8px;font-size:10px;line-height:1.5}
html body .pill.ok{background:#e5f2eb;color:#216346}html body .pill.warn{background:#fff0d9;color:#885100}html body .pill.danger{background:#fbe6eb;color:#b41432}
html body .chapter{border-radius:12px}html body .chapter-title{background:#f2f2f3}
html body .taskpart,html body .editorpart,html body .listcard{background:#fff;border-radius:10px;padding:20px}
html body .course-picker{background:#fff;border-radius:10px;padding:22px;border-left:4px solid var(--brand);margin:16px 0}
html body .course-picker:hover{background:var(--brand-tint);border-color:var(--brand)}
html body .course-picker>span:last-child{font-size:12px;color:var(--brand-hover);font-weight:700}
html body .field label{color:#414149;font-weight:700}
html body .field input,html body .field textarea,html body .field select,html body .input,html body .task-input,html body .taskpart textarea,html body .match-row select{background:#fff;border-color:#cfcfd3;color:var(--text);border-radius:7px;line-height:1.5}
html body .field input:focus,html body .field textarea:focus,html body .field select:focus{border-color:var(--brand-hover);box-shadow:0 0 0 3px var(--brand-ring)}
html body .field-help{color:#63636b}
html body .segmented,html body .calc-mode{background:#f0f0f1;border-color:var(--line)}
html body .segmented button.active{background:#fff;color:var(--brand-hover)}
html body .modal{background:#27232d70;backdrop-filter:blur(4px)}
html body .sheet{background:#fff;border-radius:16px;box-shadow:var(--shadow);border:1px solid #dedee0;padding:26px}
html body #adminModal>.sheet{width:min(1280px,100%);max-height:94dvh}
html body .sidenav button{background:#f6f6f6;border:0;font-weight:400}
html body .sidenav button.primary{background:var(--brand-soft);color:var(--brand-hover);font-weight:700;box-shadow:inset 3px 0 var(--brand)}
html body .admin-layout{grid-template-columns:188px minmax(0,1fr);gap:30px;margin-top:22px}
.tai-admin-brand{display:flex;align-items:center;gap:13px;font:600 15px TAI Montserrat,Arial,sans-serif;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.tai-admin-brand img{width:60px;height:auto}.tai-admin-brand span{font:400 11px TAI Roboto,Arial,sans-serif;color:var(--muted);margin-left:auto}
html body .editor-step{background:#fafafa;border-color:var(--line);border-radius:12px}
html body .step-number{background:var(--brand);color:#fff;border-radius:50%;font-size:16px}
html body .step-kicker{color:var(--brand-hover)}
html body .builder,html body .type-config,html body .advanced-settings,html body .bank-picker,html body .bank-create{background:#f8f8f8;border-color:var(--line)}
html body .course-choice,html body .check-card,html body .group-checks label{background:#fff;border-color:var(--line)}
html body .course-choice:has(input:checked),html body .check-card:has(input:checked){background:var(--brand-tint);border-color:var(--brand-border)}
html body input[type=checkbox],html body input[type=radio]{accent-color:var(--brand)}
html body .config-row input,html body .variable-row input{background:#fff;color:var(--text);border-color:#cfcfd3}
html body .editor-savebar{background:#fffffff5;border-color:var(--line);box-shadow:0 -8px 20px #00000008}
html body .choice-list label,html body .match-row{background:#fafafa}
html body .drop-gap,html body .image-drop-zone,html body .image-marker{background:var(--brand-tint);color:#25252b}
html body .progress-track{background:#eee}html body .progress-fill{background:var(--brand)}
html body .exam-banner{background:#fff0d9;color:#754700;border-bottom:1px solid #ebd3a5}
html body #toast{background:#242428!important;color:#fff;border-color:#242428!important}
html body #chat>div{border:1px solid var(--line);border-radius:9px}
html body .task-calculator-tools,html body .task-calc-toolbar{background:#fffffffa;border-color:var(--line)}
html body .task-calculator-tools{top:-26px}
html body .calculator-card{background:#fff}
html body .calc-screen{background:#f7f7f8;border-color:#d7d7dc;box-shadow:none}
html body .calc-display{color:#242428;background:transparent}
html body .calc-result{background:var(--brand-soft);color:var(--brand-hover);border-color:var(--brand-border)}
html body .calc-mode button.active{background:var(--brand);color:#fff}
html body .keys button{background:#f7f7f8;color:#28282d;border-color:#dedee2;border-radius:8px}
html body .keys .function{background:#eeeef0;color:#454550}
html body .keys .operator,html body .keys .memory{background:var(--brand-soft);color:var(--brand-hover)}
html body .keys .danger-key{background:#f0ecee;color:#9c243e}
html body .keys .equals{background:var(--brand);border-color:var(--brand);color:#fff}
html body .keys button:hover{filter:brightness(.96)}
html body .calc-attribution a{color:var(--brand-hover)}
html body .week-cal-head h2{font-size:21px}
html body .week-cal-day{background:#fafafa;border-color:#e6e6e8;border-radius:8px;padding:13px;min-height:168px}
html body .week-cal-day.today{background:var(--brand-tint);border-color:var(--brand)}
html body .week-cal-date strong{color:#3c3c45;font-size:14px}
html body .week-cal-date>span{font-size:12px;color:#72727a}
html body .week-cal-today{color:var(--brand-hover)!important;margin-left:auto}
html body .week-cal-event{background:#eeeef1;border-left-color:#8a849c;border-radius:4px;padding:10px}
html body .week-cal-event.sinuhe{background:var(--brand-soft);border-left-color:var(--brand)}
html body .week-cal-time{font-size:11px;color:#51515c}
html body .week-cal-date{flex-wrap:wrap}
html body .week-cal-source{font-size:10px}
html body .week-cal-import{font-size:12px;margin-top:18px;padding-top:18px}
html body .week-cal-nav .btn{background:#fff}
html body .week-cal-label{font-size:13px}
/* Branded login. OIDC button and status retain their original logic and SVG. */
html body #authGate{background:#f6f6f5;padding:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(400px,1fr);gap:0;backdrop-filter:none;overflow:auto;align-items:stretch;justify-items:stretch}
.tai-login-story{position:relative;background:var(--brand);color:#fff;padding:70px clamp(32px,6vw,100px);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;min-height:100dvh}
.tai-login-story::before{content:'';position:absolute;inset:48% -25% -60%;border:1px solid #ffffff35;transform:rotate(-28deg);box-shadow:0 0 0 55px #ffffff0b,0 0 0 110px #ffffff0a,0 0 0 165px #ffffff08;pointer-events:none}
.tai-login-story>div{z-index:1;position:relative}
.tai-login-story .tai-story-wordmark{font:600 24px TAI Montserrat,Arial,sans-serif;letter-spacing:-.04em}
.tai-login-story h1{font-size:clamp(40px,4.9vw,72px);line-height:1.06;letter-spacing:-.065em;max-width:620px;margin:0 0 28px}
.tai-login-story p{font-size:17px;max-width:400px;color:var(--story-text);line-height:1.7}
.tai-login-story .tai-story-bottom{font-size:12px;letter-spacing:.02em;color:var(--story-text)}
html body #authGate>.sheet{max-width:430px;align-self:center;justify-self:center;border:0;box-shadow:none;background:transparent;border-radius:0;padding:42px 20px;max-height:none;overflow:visible}
.tai-login-logo{width:108px;height:auto;margin:0 0 36px}
.tai-kicker{font-size:10px;font-weight:700;letter-spacing:.15em;color:var(--brand-hover);margin:0 0 12px}
.tai-login-title{font:800 31px/1.25 TAI Montserrat,Arial,sans-serif;letter-spacing:-.05em;margin:0 0 17px}
.tai-login-description{font-size:15px;color:#63636b;margin:0 0 28px;line-height:1.65}
html body .mpass-login{background:#fff!important;border:1px solid #c9c9ce!important;color:#163259;min-height:65px;border-radius:8px;gap:20px;font-size:14px}
html body .mpass-login:hover{box-shadow:0 0 0 3px #2424280a;border-color:#88888e!important}
html body .mpass-login:disabled{opacity:.65;cursor:not-allowed}
html body #mpassStatus{text-align:left!important;font-size:12px;margin-top:16px}
.tai-login-foot{border-top:1px solid #dcdcdf;padding-top:24px;margin-top:32px;color:#777780;font-size:11px}
@media(min-width:1100px){html body #home{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:0 22px}html body .dashboard-hero,html body #wilmaCalendar{grid-column:1/-1}html body #home>.card{min-width:0}html body .welcome-card #homeMetrics{max-width:510px}}
@media(max-width:1100px){html body .appbar{padding:16px 24px}html body .profileline{display:none}html body .nav{left:12px;width:192px}html body main{margin-left:210px;padding-right:22px}.tai-preview-label{left:35px}html body .dashboard-hero{grid-template-columns:1fr}html body .quick-actions{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){
 html body .appbar{height:80px;padding:13px 17px;gap:8px;grid-template-columns:minmax(0,1fr) 40px 40px}
 .tai-brand-lockup{gap:11px}.tai-brand-lockup img{width:61px}.tai-brand-lockup .brand{font-size:17px;padding-left:12px}.tai-brand-lockup small{font-size:9px;margin-top:4px;letter-spacing:0}
 html body .appbar .icon{width:38px;height:38px;font-size:18px}
 html body .nav{position:fixed;inset:auto 0 0;width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:9px 7px max(9px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);z-index:30}
 html body .nav::before{display:none}html body .nav button{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:5px 1px;font-size:10px;border-radius:7px;min-height:49px;white-space:nowrap}
 html body .nav button.active{box-shadow:none;background:var(--brand-soft)}.tai-nav-icon{height:21px}
 html body main{margin:0;padding:18px 15px 0}html body .view{padding-bottom:88px}
 .tai-preview-label{position:static;text-align:center;width:auto;margin:0 20px 96px;font-size:10px}.tai-preview-label strong{display:inline;margin-right:5px;font-size:10px}
 html body .card{padding:20px;margin-bottom:16px;border-radius:12px}html body h2{font-size:19px}html body .welcome-card{padding:23px 20px}html body .welcome-card h1{font-size:29px}
 html body .dashboard-hero{display:block}html body #homeMetrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}html body .metric{padding:12px 9px;font-size:10px}html body .metric strong{font-size:23px}
 html body .quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}html body .quick-actions .btn{min-height:48px}
 html body .dashboard-item{padding:16px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}html body .dashboard-item .btn{min-width:0;width:auto;padding:9px 12px}
 html body .dashboard-item-main>.pill{margin:6px 0 0;display:table}html body .dashboard-item-main>strong{font-size:14px}
 html body .sheet{padding:20px;border-radius:12px;max-height:95dvh}html body .taskpart{padding:16px}.task-calculator-tools{top:-20px!important}
 html body #adminModal>.sheet{padding:17px}.tai-admin-brand{font-size:13px;gap:8px}.tai-admin-brand span{font-size:9px}.tai-admin-brand img{width:45px}
 html body .admin-layout{display:block;margin-top:18px}html body .sidenav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:22px}
 html body .editor-titlebar h2{font-size:22px}html body .editor-step{padding:15px}
 html body .week-cal-day{min-height:170px}html body .week-cal-head h2{margin-bottom:8px}.tai-login-story{display:none}
 html body #authGate{display:block;padding:38px 21px;background:#fff}html body #authGate>.sheet{margin:auto;padding:22px 6px;max-width:430px}.tai-login-title{font-size:31px}.tai-login-logo{width:92px;margin-bottom:32px}
}
@media(prefers-reduced-motion:reduce){html body *{transition:none!important;animation:none!important}}

@media(min-width:1100px){html body #wilmaCalendar{grid-row:2}}
html body .taskpart .row>.pill{flex:0 0 auto}

html body .history-answer{background:#f6f6f7;color:var(--text);border:1px solid var(--line)}
html body #chat>div{background:#f6f6f7!important;color:var(--text)}

/* Preserve readable navigation and action labels in hovered/selected states. */
html body .sidenav button.primary:hover{background:var(--brand-soft-hover);color:var(--brand-hover);border-color:transparent}
html body .dashboard-item .btn.primary{background:var(--brand);color:#fff;border-color:var(--brand)}
html body .dashboard-item .btn.primary:hover{background:var(--brand-hover);color:#fff;border-color:var(--brand-hover)}


/* ACTIVE BRAND START */
:root{--brand:#087f83;--brand2:#06666b;--brand-hover:#06666b;--brand-soft:#e7f4f3;--brand-soft-hover:#d5eceb;--brand-border:#aacdce;--brand-ring:#087f8322;--brand-tint:#e7f4f3;--story-text:#d5e7ed;--bg:#f4f7fa;--text:#11283f;--line:#dce4e9}
html body #authGate{background:var(--bg)}.tai-login-story{background:#11283f}.tai-login-story p,.tai-login-story .tai-story-bottom{color:var(--story-text)}
html[data-brand="sinuhe"] .tai-brand-lockup img{width:48px;height:48px}html[data-brand="sinuhe"] .tai-brand-lockup .brand{border:0;padding-left:0}html[data-brand="sinuhe"] .tai-login-logo{width:64px}html[data-brand="sinuhe"] .tai-admin-brand img{width:36px;height:36px}html[data-brand="sinuhe"] .welcome-card{border-top-color:var(--brand)}html[data-brand="sinuhe"] .card{box-shadow:0 3px 18px #11283f05}html[data-brand="sinuhe"] .tai-story-wordmark{color:#76e1d6}
@media(max-width:760px){html[data-brand="sinuhe"] .tai-brand-lockup img{width:38px;height:38px}html[data-brand="sinuhe"] .tai-brand-lockup .brand{font-size:16px}html[data-brand="sinuhe"] .tai-login-logo{width:58px}}
/* ACTIVE BRAND END */
