@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{--brand:#365c56;--brand-pale:#eef3f1;--ink:#263735;--muted:#71817e;--border:#e2e8e5;--page:#f5f7f6;--white:#fff;--danger:#b44b4b;--shadow:0 12px 36px rgba(21,45,40,.035)}
*{box-sizing:border-box}html{font-size:15px}body{margin:0;color:var(--ink);font-family:'DM Sans',Inter,Arial,sans-serif;background:var(--page);line-height:1.56}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #9ab8a6;outline-offset:2px}input,textarea,select{width:100%;padding:11px 13px;border:1px solid #d7e0dd;border-radius:11px;background:white;color:var(--ink);outline:0;transition:border-color .18s,box-shadow .18s}input:focus,textarea:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #7ba69c25}input[type="checkbox"]{width:auto;accent-color:var(--brand);height:17px}input[type="file"]{padding:10px}input[type="color"]{min-height:46px;padding:5px;width:100%}textarea{resize:vertical;min-height:94px}label{font-size:.9rem;display:flex;flex-direction:column;gap:7px;font-weight:700;color:#344742}label.option-item,label.check-line{flex-direction:row;align-items:flex-start;font-weight:500;gap:11px}h1,h2,h3,h4,p{margin-top:0}h1{font-size:2rem;letter-spacing:-.045em;line-height:1.2}h2{font-size:1.17rem;letter-spacing:-.025em;margin-bottom:12px}h3{font-size:1rem;margin-bottom:10px}p{color:#647470}small,.small{font-size:.8rem}.muted{color:var(--muted)}.center{text-align:center}.full{width:100%;grid-column:1/-1}.inline{display:inline-flex;align-items:center;vertical-align:middle}.btn{border:1px solid transparent;border-radius:10px;padding:10px 16px;font-weight:700;font-size:.89rem;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.25;white-space:normal;transition:transform .15s,background .15s,box-shadow .15s}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--brand);color:#fff}.btn.primary:hover{filter:brightness(.93)}.btn.light{background:#f4f7f6;color:#3b5550;border-color:#dde7e3}.btn.light:hover{background:#e7f1ed}.btn.danger{background:#fff1f1;border-color:#f3dddd;color:var(--danger)}.btn.small{font-size:.76rem;padding:7px 9px}.btn.full{width:100%}.app-shell{display:flex;min-height:100vh}.sidebar{z-index:50;flex:0 0 263px;width:263px;min-height:100vh;background:#fff;border-right:1px solid var(--border);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;transition:width .2s,flex-basis .2s}.side-brand{min-height:88px;display:flex;align-items:center;gap:12px;padding:20px 22px;border-bottom:1px solid #f0f3f1;overflow:hidden}.brand-symbol{background:var(--brand);color:white;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.65rem;width:42px;height:42px;flex:0 0 42px;border-radius:14px;box-shadow:0 5px 14px #33584f22}.brand-symbol.big{width:62px;height:62px;border-radius:19px;font-size:2.2rem;margin:auto}.brand-text{min-width:0}.brand-text strong{display:block;font-size:1.32rem;letter-spacing:-.045em;overflow:hidden;text-overflow:ellipsis}.brand-text small{display:block;white-space:nowrap;color:#8a9996;font-size:.67rem}.nav-logo{width:42px;height:42px;object-fit:contain}.side-nav{overflow:auto;padding:19px 12px 20px;flex:1;scrollbar-width:thin;scrollbar-color:#d5dfdb transparent}.nav-caption{font-size:.63rem;font-weight:800;letter-spacing:.13em;color:#a2aeaa;white-space:nowrap;padding:18px 13px 9px}.nav-link,.nav-parent-label{min-height:43px;padding:10px 12px;display:flex;align-items:center;gap:12px;border-radius:10px;font-weight:600;font-size:.85rem;color:#687975;transition:background .18s,color .18s;position:relative}.nav-link:hover,.nav-parent:hover>.nav-parent-label,.nav-parent:focus-within>.nav-parent-label{background:#f2f6f4;color:var(--brand)}.nav-link.active,.nav-parent.group-active>.nav-parent-label{background:var(--brand-pale);color:var(--brand)}.nav-link>svg,.nav-parent-label>svg{flex-shrink:0}.link-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-arr{margin-left:auto;display:flex}.nav-parent{position:relative;cursor:default}.submenu{display:none;margin:3px 0 7px 36px;padding-left:11px;border-left:1px solid #dce5e1}.submenu a{display:block;font-size:.78rem;color:#697e77;padding:10px 12px;border-radius:8px}.submenu a:hover{background:#f0f5f2;color:var(--brand)}.nav-parent:hover .submenu,.nav-parent:focus-within .submenu{display:block}.sidebar-bottom{border-top:1px solid var(--border);padding:12px}.side-collapse{border:0;border-radius:10px;width:100%;display:flex;align-items:center;gap:12px;color:#7c8e88;background:#f8faf9;padding:11px;font-size:.82rem}.sidebar.collapsed{width:77px;flex-basis:77px}.sidebar.collapsed .side-brand{padding:20px 17px}.sidebar.collapsed .brand-text,.sidebar.collapsed .link-text,.sidebar.collapsed .nav-arr,.sidebar.collapsed .nav-caption{display:none}.sidebar.collapsed .nav-link,.sidebar.collapsed .nav-parent-label{justify-content:center;padding:12px}.sidebar.collapsed .side-nav{overflow:visible}.sidebar.collapsed .submenu{position:absolute;left:58px;top:0;min-width:235px;margin:0;padding:7px;border:1px solid var(--border);border-radius:12px;background:white;box-shadow:0 16px 40px #304b4530;z-index:200}.sidebar.collapsed .submenu:before{content:attr(data-label);display:none}.sidebar.collapsed .nav-parent:hover .submenu{display:block}.sidebar.collapsed .side-collapse{justify-content:center}.sidebar.collapsed .side-collapse .link-text{display:none}.sidebar.collapsed .nav-link[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;left:64px;top:4px;z-index:200;box-shadow:0 9px 28px #304b4525;border:1px solid var(--border);padding:8px 12px;background:white;color:var(--ink);border-radius:8px;white-space:nowrap}.main-area{min-width:0;flex:1;display:flex;flex-direction:column;min-height:100vh}.topbar{background:white;border-bottom:1px solid var(--border);height:76px;flex:0 0 76px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:15px}.topbar-section{font-size:.82rem;color:#98a6a1;letter-spacing:.005em}.topbar-right{display:flex;align-items:center;gap:20px}.top-icon{position:relative;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:#758a82}.unread-dot{position:absolute;width:8px;height:8px;background:#d5904c;border:2px solid white;border-radius:50%;top:4px;right:5px}.unread-dot[hidden]{display:none}.account-chip{display:flex;align-items:center;gap:11px}.account-chip img,.avatar-fallback{width:37px;height:37px;border-radius:12px;object-fit:cover}.avatar-fallback{display:flex;align-items:center;justify-content:center;background:var(--brand-pale);font-size:1rem;color:var(--brand);font-weight:800}.account-chip b,.account-chip small{display:block;white-space:nowrap}.account-chip b{font-size:.85rem}.account-chip small{font-size:.7rem;color:#91a19b}.icon-button{border:0;background:transparent;color:#71837e;display:flex;align-items:center}.menu-mobile{display:none;border:0;background:transparent}.content{padding:34px clamp(18px,3vw,48px) 42px;width:100%;max-width:1650px;margin:0 auto;flex:1}.page-heading{margin-bottom:25px}.eyebrow{font-size:.68rem;font-weight:800;letter-spacing:.14em;color:var(--brand);margin-bottom:9px}.page-heading h1{margin-bottom:9px}.page-heading p{margin-bottom:0;max-width:700px;font-size:.92rem}.site-footer{border-top:1px solid var(--border);color:#9aa8a3;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 34px;font-size:.72rem;background:#fff}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 28px}.metric{border:1px solid var(--border);border-radius:15px;background:#fff;padding:23px 25px;box-shadow:var(--shadow)}.metric small{display:block;color:#83918c;margin-bottom:6px;font-weight:700}.metric strong{font-size:2rem;letter-spacing:-.055em;font-weight:800;color:var(--brand)}.section-title{margin:31px 0 18px}.section-title h2{font-size:1.22rem}.section-title p{font-size:.9rem;margin-bottom:0}.axis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:27px}.axis-card{background:#fff;padding:24px;min-height:195px;border:1px solid var(--border);border-radius:15px;display:flex;align-items:flex-start;flex-direction:column;transition:transform .18s,border-color .18s}.axis-card:hover{transform:translateY(-3px);border-color:#a7c3ba}.axis-icon{width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:var(--brand-pale);border-radius:14px;color:var(--brand);margin-bottom:20px}.axis-card h3{font-size:1.02rem;margin:0 0 10px}.axis-card>span:last-child{font-size:.77rem;color:#6e8980;display:flex;align-items:center;gap:4px;margin-top:auto}.panel{padding:24px 26px;background:#fff;border:1px solid var(--border);border-radius:16px;margin:0 0 20px;box-shadow:var(--shadow);min-width:0}.panel h2{margin-bottom:12px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:15px}.panel-head h2{margin-bottom:2px}.panel-head p{margin:0}.panel>p:last-child{margin-bottom:0}.info-panel{background:#fbfcfb}.notice{border:1px solid #d8e6dd;border-radius:12px;background:#f0f7f2;color:#476654;padding:14px 17px;margin-bottom:21px;font-size:.88rem}.notice.success{border-color:#cde4d4;background:#f0f8f2}.notice.error{background:#fff0f0;color:#9f3939;border-color:#f1cfcf}.notice.warn{background:#fbf7ed;border-color:#efe4cb;color:#796238}.notice p{color:inherit;margin:6px 0}.form-grid{display:grid;grid-template-columns:1fr;gap:17px;margin-top:21px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid>.btn{justify-self:start}.form-grid>.btn.full{justify-self:stretch}.form-grid .full{grid-column:1/-1}.form-grid.compact{background:#f9fbfa;border-radius:12px;padding:17px;margin-top:14px}.form-section{grid-column:1/-1;border-bottom:1px solid var(--border);padding:14px 0 6px}.form-section h3{margin-bottom:3px}.form-section p{font-size:.85rem;margin:0}.form-inline{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.form-inline label{flex:1;min-width:180px}.search-box{display:flex;gap:8px;max-width:390px;width:100%}.search-box input{min-width:0}.mini-form{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.mini-form select{max-width:180px;padding:7px;font-size:.78rem}.table-wrap{width:100%;overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:.68rem;letter-spacing:.075em;text-transform:uppercase;color:#92a19b;padding:12px 13px;border-bottom:1px solid var(--border);white-space:nowrap}td{font-size:.83rem;padding:16px 13px;border-bottom:1px solid #eff2f0;vertical-align:top;max-width:340px}td b,td small{display:block}td small{color:#8c9b94;margin-bottom:4px}td p{margin:6px 0}tr:last-child td{border-bottom:none}.actions{white-space:nowrap}.pill{display:inline-flex;align-items:center;border-radius:20px;background:#eff4f1;color:#597e70;font-size:.72rem;font-weight:800;padding:5px 10px;white-space:nowrap}.pill.submitted,.pill.open,.pill.pending{background:#fdf1dc;color:#9c7038}.pill.reviewed,.pill.resolved,.pill.completed{background:#eaf6ed;color:#427550}.pill.in_progress{background:#eaf0fb;color:#5373a4}.panel>summary,details>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;color:#314844;padding:0;font-size:.92rem}.panel>summary::-webkit-details-marker,details>summary::-webkit-details-marker{display:none}.panel>summary svg{margin-left:auto;color:var(--brand)}.panel[open]>summary{padding-bottom:17px;border-bottom:1px solid var(--border)}.record-detail{padding:18px 5px;border-bottom:1px solid var(--border)}.record-detail:last-child{border-bottom:0}.record-detail>summary{flex-wrap:wrap}.record-detail>summary small{margin-left:auto;color:var(--muted)}.record-detail[open]>summary{margin-bottom:16px}.record-detail h4{margin:21px 0 8px}.record-detail>p{margin-bottom:15px}.record-detail .block-answer{display:block;margin-top:5px;color:#263735}.result-block{background:#f8faf9;border-radius:13px;padding:20px;margin:15px 0}.meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--border);padding-top:18px;gap:18px;margin-top:18px}.meta-grid small,.meta-grid strong{display:block}.meta-grid small{color:#9aa8a3;font-size:.75rem}.meta-grid strong{font-size:.91rem}.person-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.person-card{border:1px solid var(--border);border-radius:12px;padding:14px;display:flex;gap:11px;align-items:center}.person-card span{flex:1;font-weight:700}.person-card:hover{border-color:#9ab7ac;background:#f9fbfa}.checkbox-grid{display:flex;gap:10px;flex-wrap:wrap}.option-item{border:1px solid var(--border);padding:12px 14px;border-radius:10px;background:#fcfdfc;cursor:pointer}.timeline{padding-left:8px}.timeline-item{display:grid;grid-template-columns:25px 1fr;gap:7px;padding:16px 0;border-bottom:1px solid var(--border)}.timeline-item:last-child{border:0}.timeline-dot{width:11px;height:11px;background:var(--brand);border:3px solid #cbded6;border-radius:50%;margin-top:7px}.timeline-item p{white-space:normal}.meta-line{font-size:.75rem;color:#91a29c;margin-bottom:6px}.progress-chart{display:block;width:100%;max-height:290px;margin:5px auto 22px;overflow:visible}.chart-group{padding:18px 20px;margin:20px 0 12px;background:#fafcfb;border-radius:13px;border:1px solid #ecf1ee}.chart-group h3{margin:0 0 12px}.notification-item{display:flex;gap:16px;padding:19px 10px;border-bottom:1px solid var(--border);align-items:flex-start}.notification-item:last-child{border-bottom:0}.notification-item.unread{background:#f7faf8}.notification-item h3{margin:0 0 5px}.notification-item p{margin:0 0 5px}.notification-item small{color:var(--muted)}.notification-symbol{background:var(--brand-pale);border-radius:11px;padding:10px;display:flex;color:var(--brand)}.unread-mark{margin-left:auto;width:8px;height:8px;background:#d5924e;border-radius:50%}.text-link{color:var(--brand);font-weight:800;text-decoration:underline;text-decoration-color:#bbd4ca}.conversation{display:flex;flex-direction:column;gap:13px;padding:10px 0 24px}.chat-message{max-width:84%;background:#f2f6f4;padding:14px 17px;border-radius:12px;align-self:flex-start}.chat-message.mine{align-self:flex-end;background:var(--brand-pale)}.chat-message p{margin:0;color:var(--ink)}.message-bubble{padding:18px;border-radius:12px;background:#f7faf8;color:var(--ink);margin-bottom:15px}.profile-hero{display:flex;align-items:center;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--border)}.profile-photo{width:85px;height:85px;object-fit:cover;border-radius:24px}.profile-letter{background:var(--brand-pale);color:var(--brand);font-size:2.6rem;font-weight:800;display:flex;align-items:center;justify-content:center}.profile-hero h2{margin:0}.profile-hero p{margin:4px 0}.brand-preview{display:flex;align-items:center;gap:16px;background:var(--brand-pale);padding:24px;border-radius:12px}.brand-preview p{margin:0}.code-sample{overflow:auto;background:#263b36;color:#e5eee9;padding:22px;border-radius:12px;line-height:1.6}.link-copy{display:flex;gap:10px;margin-top:12px}.link-copy input{flex:1;min-width:0}.auth-body{min-height:100vh;background:radial-gradient(circle at 10% 10%,#e9f0eb 0%,transparent 35%),radial-gradient(circle at 90% 80%,#eaf0ed 0%,transparent 42%),#f8faf8}.auth-shell{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:35px 18px}.auth-panel{background:#fff;border:1px solid #e3eae6;box-shadow:0 26px 90px #37574c16;border-radius:22px;padding:38px 40px;width:min(100%,500px)}.auth-brand{text-align:center;margin-bottom:25px}.auth-logo{display:block;max-width:170px;max-height:110px;object-fit:contain;margin:0 auto 15px}.auth-brand h1{margin:17px 0 8px}.auth-brand p{margin:0;font-size:.86rem}.login-form{margin-top:25px}.captcha-wrap{display:flex;align-items:center;gap:8px}.captcha-wrap img{max-width:calc(100% - 52px);height:76px;border-radius:10px}.captcha-wrap button{font-size:1.35rem;padding:10px}.public-footer{font-size:.7rem;color:#a1afaa;text-align:right;margin-top:22px}.auth-panel:has(.form-grid:not(.login-form)){width:min(100%,750px)}.auth-panel .form-grid h3{margin-bottom:0}.auth-panel .option-item{line-height:1.55}
@media(max-width:1100px){.axis-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sidebar{width:225px;flex-basis:225px}.topbar{padding:0 20px}.content{padding:28px 22px}}
@media(max-width:800px){.sidebar{position:fixed;left:-285px;width:270px;top:0;transition:left .22s;box-shadow:10px 0 24px #29433b10}.sidebar.mobile-open{left:0}.sidebar.collapsed{width:270px}.sidebar.collapsed .brand-text,.sidebar.collapsed .link-text,.sidebar.collapsed .nav-caption{display:block}.sidebar.collapsed .nav-link,.sidebar.collapsed .nav-parent-label{justify-content:flex-start}.sidebar.collapsed .submenu{position:static;margin:4px 0 8px 36px;box-shadow:none;min-width:0;border:0;border-left:1px solid var(--border)}.menu-mobile{display:flex}.topbar-section{display:none}.topbar{height:68px;flex-basis:68px}.content{padding:23px 16px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.axis-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer{padding:12px 16px}}
@media(max-width:560px){.axis-grid,.metric-grid,.form-grid.two,.meta-grid{grid-template-columns:1fr}.topbar-right{gap:10px}.account-chip>span:last-child{display:none}.panel{padding:17px}.page-heading h1{font-size:1.62rem}.axis-card{min-height:160px}.search-box{max-width:none}.panel-head{align-items:stretch}.site-footer{font-size:.64rem}.site-footer span:first-child{display:none}.site-footer{justify-content:flex-end}.auth-panel{padding:29px 20px}.auth-shell{padding:12px}.form-inline{align-items:stretch}.form-inline label{width:100%}.profile-hero{align-items:flex-start}.link-copy{flex-direction:column}}
.edit-activity{margin-top:11px;border-top:1px solid var(--border);padding-top:9px}.edit-activity>summary{font-size:.73rem;font-weight:700;color:var(--brand);white-space:normal}.edit-activity .form-grid{min-width:310px;margin-top:14px;background:#f8faf9;border-radius:12px;padding:15px}.edit-activity label{font-size:.77rem}

/* Eskola 1.1.0 — independent, centrally-configured color tokens */
:root {
  --accent:#c58a58;--accent-pale:#fff3e8;--surface:#ffffff;
  --topbar-bg:#ffffff;--sidebar-bg:#ffffff;--sidebar-text:#687975;
  --sidebar-hover-bg:#f2f6f4;--sidebar-active-bg:#eef3f1;--sidebar-active-text:#365c56;
  --input-bg:#ffffff;--input-border:#d7e0dd;
  --primary-button-text:#ffffff;--secondary-button-bg:#f4f7f6;--secondary-button-text:#3b5550;
  --success:#427550;--warning:#9c7038;--link:#365c56;
}
body{color:var(--ink);background:var(--page)}
p,.muted,.page-heading p,.section-title p{color:var(--muted)}
h1,h2,h3,h4,.meta-grid strong,.brand-text strong,.account-chip b{color:var(--ink)}
label{color:var(--ink)}
input:not([type="color"]),textarea,select{background:var(--input-bg);color:var(--ink);border-color:var(--input-border)}
input:focus,textarea:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 25%,transparent)}
:where(button,input,textarea,select,a):focus-visible{outline-color:var(--accent)}
.btn.primary{background:var(--brand);color:var(--primary-button-text)}
.btn.light{background:var(--secondary-button-bg);color:var(--secondary-button-text);border-color:var(--border)}
.btn.light:hover{background:color-mix(in srgb,var(--secondary-button-bg) 80%,var(--brand) 20%)}
.btn.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,var(--border) 70%)}
.sidebar{background:var(--sidebar-bg);border-right-color:var(--border)}
.side-brand{border-bottom-color:var(--border)}
.side-brand .brand-text strong{color:var(--ink)}
.side-brand .brand-text small,.nav-caption{color:var(--sidebar-text)}
.side-nav{scrollbar-color:var(--border) transparent}
.nav-link,.nav-parent-label,.nav-arr,.submenu a,.side-collapse{color:var(--sidebar-text)}
.nav-link:hover,.nav-parent:hover>.nav-parent-label,.nav-parent:focus-within>.nav-parent-label,
.submenu a:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-active-text)}
.nav-link.active,.nav-parent.group-active>.nav-parent-label{background:var(--sidebar-active-bg);color:var(--sidebar-active-text)}
.submenu{border-left-color:var(--border)}
.sidebar-bottom{border-top-color:var(--border)}
.side-collapse{background:var(--sidebar-hover-bg)}
.sidebar.collapsed .submenu,.sidebar.collapsed .nav-link[data-tooltip]:hover:after{background:var(--sidebar-bg);border-color:var(--border);color:var(--sidebar-text)}
.topbar{background:var(--topbar-bg);border-bottom-color:var(--border)}
.topbar-section,.account-chip small,.icon-button,.top-icon{color:var(--muted)}
.site-footer{background:var(--topbar-bg);border-top-color:var(--border);color:var(--muted)}
.panel,.metric,.axis-card,.person-card,.auth-panel{background:var(--surface);border-color:var(--border)}
.info-panel,.result-block,.form-grid.compact,.chart-group,.message-bubble{background:color-mix(in srgb,var(--surface) 88%,var(--page) 12%)}
.axis-icon,.notification-symbol,.avatar-fallback,.profile-letter,.chat-message.mine,.brand-preview{background:var(--brand-pale)}
.axis-card:hover,.person-card:hover{border-color:var(--brand)}
.axis-card>span:last-child,.meta-grid small,.meta-line,td small,th,.account-chip small{color:var(--muted)}
.option-item{background:var(--surface);border-color:var(--border)}
.form-section,.meta-grid,.profile-hero,.record-detail,td,th,.notification-item,.timeline-item{border-color:var(--border)}
td{color:var(--ink)}
.panel>summary,details>summary,.record-detail .block-answer{color:var(--ink)}
.text-link,.theme-preview a{color:var(--link)}
.timeline-dot{border-color:var(--brand-pale)}
.notice.success{color:var(--success)}.notice.warn{color:var(--warning)}.notice.error{color:var(--danger)}
.pill.reviewed,.pill.completed,.pill.resolved{color:var(--success)}
.pill.submitted,.pill.pending,.pill.open{color:var(--warning)}
.auth-body{background:radial-gradient(circle at 10% 10%,var(--brand-pale) 0%,transparent 36%),radial-gradient(circle at 90% 80%,var(--accent-pale) 0%,transparent 42%),var(--page)}
.auth-panel{box-shadow:0 22px 72px color-mix(in srgb,var(--ink) 14%,transparent)}
.public-footer{color:var(--muted)}

/* Theme configuration controls */
.theme-presets{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px}
.theme-preset{display:flex;align-items:center;justify-content:center;gap:9px;flex-direction:column;min-height:91px;padding:12px 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--ink);font-weight:700;font-size:.84rem;transition:border-color .15s,transform .15s}
.theme-preset:hover{border-color:var(--brand);transform:translateY(-2px)}
.theme-preset[aria-pressed="true"]{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}
.theme-preset-swatches{display:flex;align-items:center;padding-left:7px}
.theme-preset-swatches i{width:22px;height:22px;border:2px solid var(--surface);border-radius:50%;margin-left:-7px;box-shadow:0 0 0 1px var(--border)}
.theme-colors-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:13px}
.theme-color-field{padding:15px;border:1px solid var(--border);border-radius:12px;background:var(--surface);min-width:0}
.theme-color-field label{font-size:.82rem;font-weight:800;margin-bottom:9px}
.theme-color-control{display:flex;gap:9px;align-items:center}
.theme-color-control input[type="color"]{flex:0 0 54px;width:54px;height:46px;min-height:46px;padding:3px;border-radius:9px;cursor:pointer;border:1px solid var(--border);background:var(--input-bg)}
.theme-color-control input.theme-hex-input{width:100%;min-width:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;font-size:.84rem;letter-spacing:.02em}
.theme-color-field small{color:var(--muted);font-size:.74rem;font-weight:500;display:block;line-height:1.5;margin-top:9px}
.theme-color-field .theme-hex-input.invalid{border-color:var(--danger);box-shadow:0 0 0 2px color-mix(in srgb,var(--danger) 20%,transparent)}
.theme-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:18px 0 4px}
.theme-preview{display:grid;grid-template-columns:180px minmax(0,1fr);border:1px solid var(--border);border-radius:15px;overflow:hidden;min-height:268px;margin-top:2px;background:var(--page)}
.theme-preview-sidebar{padding:16px 11px;background:var(--sidebar-bg);border-right:1px solid var(--border)}
.theme-preview-title{display:flex;align-items:center;gap:8px;margin-bottom:24px;font-weight:800;font-size:.85rem;color:var(--ink)}
.theme-preview-logo{width:29px;height:29px;background:var(--brand);color:var(--primary-button-text);border-radius:8px;display:flex;align-items:center;justify-content:center}
.theme-preview-nav{padding:9px 10px;font-size:.73rem;font-weight:700;border-radius:8px;color:var(--sidebar-text);margin-bottom:6px}
.theme-preview-nav.selected{background:var(--sidebar-active-bg);color:var(--sidebar-active-text)}
.theme-preview-top{padding:13px 17px;border-bottom:1px solid var(--border);background:var(--topbar-bg);color:var(--muted);font-size:.77rem;display:flex;align-items:center;justify-content:space-between}
.theme-preview-dot{width:9px;height:9px;border-radius:50%;background:var(--accent)}
.theme-preview-main{padding:17px}
.theme-preview-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:18px}
.theme-preview-card strong{display:block;font-size:.9rem;color:var(--ink)}
.theme-preview-card p{font-size:.75rem;margin:5px 0 11px;color:var(--muted)}
.theme-preview-actions{display:flex;gap:8px;flex-wrap:wrap}
.theme-preview-sample{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:13px}
.theme-preview-sample input{width:min(220px,100%);padding:8px 10px;font-size:.77rem;cursor:default}
.theme-preview-sample a{font-size:.75rem;text-decoration:underline}
.theme-preview-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.theme-status{font-size:.69rem;font-weight:800;padding:4px 9px;border-radius:6px;border:1px solid var(--border)}
.theme-status.good{color:var(--success)}.theme-status.alert{color:var(--warning)}.theme-status.bad{color:var(--danger)}
.theme-contrast{padding:10px 3px;margin-top:8px;font-size:.78rem;color:var(--success)}
.theme-contrast.has-warnings{color:var(--warning)}
.theme-contrast p{margin:0 0 3px;color:inherit}
@media(max-width:600px){.theme-preview{grid-template-columns:115px minmax(0,1fr)}.theme-preview-sidebar{padding:10px 5px}.theme-preview-main{padding:9px}.theme-preview-card{padding:11px}.theme-preview-nav{font-size:.62rem;padding:7px 5px}.theme-preview-title{font-size:.69rem;gap:3px}.theme-preview-logo{width:24px;height:24px}.theme-preview-top{padding:9px;font-size:.7rem}.theme-colors-grid{grid-template-columns:1fr}.theme-toolbar .btn{width:100%}}

/* Eskola 1.2.0 — menu agrupado: acessível, recolhível e compatível com temas */
.side-nav{padding-top:14px;padding-bottom:16px}
.nav-caption{padding:18px 12px 8px;font-size:.61rem;letter-spacing:.12em}
.nav-group{position:relative;margin:3px 0}
.nav-group>summary,.nav-axis>summary{list-style:none;cursor:pointer;user-select:none}
.nav-group>summary::-webkit-details-marker,.nav-axis>summary::-webkit-details-marker{display:none}
.nav-group-toggle{display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 12px;border-radius:10px;color:var(--sidebar-text);font-size:.85rem;font-weight:650;transition:background .16s,color .16s}
.nav-group-toggle>svg,.nav-axis-toggle>svg{flex-shrink:0}
.nav-group-toggle .nav-arr,.nav-axis-toggle .nav-arr{display:flex;margin-left:auto;transition:transform .16s}
.nav-group[open]>.nav-group-toggle .nav-arr,.nav-axis[open]>.nav-axis-toggle .nav-arr{transform:rotate(90deg)}
.nav-group-toggle:hover,.nav-group-toggle:focus-visible,.nav-axis-toggle:hover,.nav-axis-toggle:focus-visible{background:var(--sidebar-hover-bg);color:var(--sidebar-active-text)}
.nav-group.group-active>.nav-group-toggle,.nav-group[open]>.nav-group-toggle{background:var(--sidebar-active-bg);color:var(--sidebar-active-text)}
.nav-group-content{margin:3px 0 9px 18px;padding:4px 0 3px 11px;border-left:1px solid var(--border)}
.nav-group-content>.nav-link{font-size:.81rem;min-height:38px;padding:8px 10px;margin:2px 0}
.nav-group-content>.nav-link svg{width:16px;height:16px}
.nav-flyout-label{display:none}
.nav-axis-list{padding-right:2px}
.nav-axis{min-width:0;margin:2px 0}
.nav-axis-toggle{display:flex;align-items:center;gap:9px;min-height:40px;padding:8px 9px;border-radius:9px;color:var(--sidebar-text);font-size:.79rem;font-weight:650;transition:background .16s,color .16s}
.nav-axis.axis-active>.nav-axis-toggle,.nav-axis[open]>.nav-axis-toggle{color:var(--sidebar-active-text);background:var(--sidebar-hover-bg)}
.nav-axis-links{padding:5px 0 6px 10px;margin:1px 0 7px 15px;border-left:1px solid var(--border)}
.nav-sublink{display:block;min-width:0;padding:9px 9px;border-radius:8px;font-size:.76rem;line-height:1.4;color:var(--sidebar-text);transition:background .16s,color .16s}
.nav-sublink:hover,.nav-sublink:focus-visible{background:var(--sidebar-hover-bg);color:var(--sidebar-active-text)}
.nav-sublink.active{background:var(--sidebar-active-bg);color:var(--sidebar-active-text);font-weight:750}
.nav-link.active,.nav-sublink.active{position:relative}
.nav-link.active:before,.nav-sublink.active:before{content:"";position:absolute;left:2px;top:20%;height:60%;width:3px;border-radius:3px;background:var(--brand)}
.sidebar .nav-group-toggle:focus-visible,.sidebar .nav-axis-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* Em modo compacto, as categorias se abrem como painéis flutuantes sem exibir 15 links juntos. */
@media(min-width:801px){
 .sidebar.collapsed .nav-group{position:relative}
 .sidebar.collapsed .nav-group-toggle{padding:12px;justify-content:center}
 .sidebar.collapsed .nav-group-toggle .link-text,.sidebar.collapsed .nav-group-toggle .nav-arr{display:none}
 .sidebar.collapsed .nav-group-content{display:none!important;position:absolute;left:100%;top:0;z-index:300;width:286px;max-height:min(72vh,650px);overflow-y:auto;margin:0;padding:12px;border:1px solid var(--border);border-radius:13px;background:var(--sidebar-bg);box-shadow:0 14px 40px color-mix(in srgb,var(--ink) 19%,transparent)}
 .sidebar.collapsed .nav-group:hover>.nav-group-content,.sidebar.collapsed .nav-group:focus-within>.nav-group-content{display:block!important}
 .sidebar.collapsed .nav-flyout-label{display:block;font-weight:750;font-size:.75rem;color:var(--sidebar-active-text);padding:5px 9px 11px}
 .sidebar.collapsed .nav-group-content .link-text{display:block}
 .sidebar.collapsed .nav-group-content .nav-arr{display:flex}
 .sidebar.collapsed .nav-group-content>.nav-link{justify-content:flex-start}
 .sidebar.collapsed .nav-axis-toggle{justify-content:flex-start}
 .sidebar.collapsed .nav-axis-links{position:static}
 .sidebar.collapsed .nav-link[data-tooltip]:hover:after{pointer-events:none}
}
@media(max-width:800px){
 .sidebar.collapsed .nav-group-toggle{justify-content:flex-start}
 .sidebar.collapsed .nav-group-toggle .link-text{display:block}
 .sidebar.collapsed .nav-group-toggle .nav-arr{display:flex}
 .sidebar.collapsed .nav-group-content{position:static;display:block;width:auto;overflow:visible;margin:3px 0 9px 18px;padding:4px 0 3px 11px;border:0;border-left:1px solid var(--border);box-shadow:none;background:transparent}
 .sidebar.collapsed .nav-group-content .link-text{display:block}
 .sidebar.collapsed .nav-axis-toggle{justify-content:flex-start}
 .sidebar.collapsed .nav-axis-toggle .link-text,.sidebar.collapsed .nav-axis-toggle .nav-arr{display:block}
 .sidebar.collapsed .nav-flyout-label{display:none}
 .sidebar .side-nav{overflow-y:auto;overscroll-behavior:contain}
}
@media(prefers-reduced-motion:reduce){.nav-group-toggle,.nav-axis-toggle,.nav-sublink,.nav-arr{transition:none!important}}
