:root{
  color-scheme:light;--ink:#19353b;--ink-2:#38545b;--muted:#718489;--surface:#fff;--paper:#f6f8f7;--line:#e5ebea;
  --primary:#1a686b;--primary-dark:#105457;--aqua:#dcefeb;--gold:#c78f4a;--gold-bg:#fff5e6;--nav:#102e37;
  --danger:#b7474d;--danger-bg:#fceced;--success:#24765b;--success-bg:#e5f5eb;--warning:#9e6a25;--warning-bg:#fff4df;
  --shadow:0 12px 40px rgba(29,62,65,.055);--r:16px;--font:'Noto Sans Thai','DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);font:400 14px/1.65 var(--font);color:var(--ink);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.55}
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #77bec0;outline-offset:2px}
button,select,input,textarea{accent-color:var(--primary)}
svg{display:block;flex-shrink:0}
.ico{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ico.sm{width:16px;height:16px}.ico.lg{width:23px;height:23px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.initial-loader{min-height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:var(--muted)}
.initial-loader .brand-emblem{display:grid;place-items:center;width:65px;height:65px;background:var(--nav);color:#efbc7d;border-radius:20px;font-size:35px}
.loading-spinner{width:24px;height:24px;border:3px solid #d8e7e4;border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.app-shell{display:flex;min-height:100dvh}
.sidebar{background:var(--nav);color:#d7e5e6;width:258px;position:fixed;inset:0 auto 0 0;z-index:35;display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#48636c transparent}
.sidebar-brand{display:flex;align-items:center;gap:11px;padding:29px 24px 20px;flex-shrink:0}
.logo-symbol{width:43px;height:43px;border:1px solid rgba(235,198,144,.42);background:rgba(224,183,128,.12);display:grid;place-items:center;border-radius:13px;color:#f4c58d;font-size:26px;font-family:Georgia,serif}
.brand-title{font-family:'DM Sans',var(--font);color:white;font-weight:800;font-size:16px;letter-spacing:.03em;line-height:1.3}
.brand-sub{color:#a8c0c4;font-size:10px;letter-spacing:.01em}
.nav-label{padding:20px 25px 8px;font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.19em;color:#729097}
.nav-group{display:grid;gap:3px;padding:0 12px}
.nav-link{width:100%;background:transparent;border:0;color:#b8cbd0;display:flex;align-items:center;gap:12px;text-align:left;padding:11px 13px;border-radius:10px;font-size:12.8px;font-weight:600;transition:background .16s,color .16s}
.nav-link:hover{background:#23434b;color:white}
.nav-link.active{background:#276168;color:white;box-shadow:inset 3px 0 #e3b87c}
.nav-link .nav-count{margin-left:auto;font:700 10px 'DM Sans',sans-serif;min-width:20px;padding:2px 5px;text-align:center;border-radius:6px;background:#31515a;color:#effafa}
.nav-link.active .nav-count{background:#397c80}
.nav-divider{height:1px;background:rgba(255,255,255,.08);margin:16px 24px 4px}
.sidebar-end{margin-top:auto;padding:20px 16px 23px}
.event-mini{border:1px solid #3a555c;border-radius:13px;padding:15px;background:#173b42}
.event-mini-heading{font-size:11px;font-weight:700;color:#d5e8e8}
.event-mini-big{color:white;font-size:19px;font-weight:800;font-family:'DM Sans',var(--font);margin:6px 0}
.event-mini-desc{font-size:11px;color:#abc6c7}
.event-mini-track{height:5px;background:#35545a;border-radius:5px;margin-top:14px;overflow:hidden}
.event-mini-track span{display:block;height:100%;background:#e2b37a;border-radius:5px}
.sidebar-user{display:flex;align-items:center;gap:11px;padding:15px 10px 0;margin-top:15px;border-top:1px solid rgba(255,255,255,.11)}
.avatar{width:37px;height:37px;border-radius:12px;background:#3e7776;display:grid;place-items:center;color:white;font-weight:800;flex-shrink:0}
.user-meta{min-width:0;flex:1}
.user-name{color:white;font-weight:700;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-role{color:#a5c2c3;font-size:10px}
.logout-icon{background:transparent;border:0;color:#9fbdbe;padding:7px;border-radius:8px}
.logout-icon:hover{color:white;background:#274850}
.page-layout{margin-left:258px;min-width:0;flex:1}
.topbar{height:76px;background:rgba(255,255,255,.93);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:0 33px;position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
.breadcrumb{color:var(--muted);font-size:12px;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}
.breadcrumb strong{color:var(--ink);font-weight:700}
.breadcrumb-sep{margin:0 9px;color:#b8c3c4}
.topbar-end{margin-left:auto;display:flex;align-items:center;gap:13px}
.date-pill{border:1px solid var(--line);background:#f9fbfa;border-radius:8px;padding:8px 12px;font-size:11px;color:#617a7c;white-space:nowrap;display:flex;align-items:center;gap:8px}
.top-avatar{width:33px;height:33px;border-radius:10px;background:#e5f0ed;color:#246665;font-weight:800;display:grid;place-items:center;font-size:12px}
.menu-toggle{display:none;border:0;background:transparent;padding:6px;color:var(--ink)}
.main-content{padding:30px 34px 65px;max-width:1680px;margin:auto}
.page-heading{display:flex;align-items:flex-start;gap:15px;justify-content:space-between;margin-bottom:23px;flex-wrap:wrap}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font:800 10px 'DM Sans',var(--font);color:var(--primary);margin:0 0 5px}
h1,h2,h3,h4,p{margin-top:0}
h1{font-size:clamp(24px,2.5vw,30px);line-height:1.4;margin:0;font-weight:800;letter-spacing:-.025em}
h2{font-size:18px;font-weight:800;line-height:1.4;margin:0}
h3{font-size:14px;font-weight:800}
.subheading{color:var(--muted);font-size:12.5px;margin:6px 0 0}
.page-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.btn{border:1px solid transparent;border-radius:9px;background:var(--primary);color:white;padding:10px 15px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;white-space:nowrap;transition:transform .14s,background .14s,border-color .14s}
.btn:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px)}
.btn-secondary{background:white;border-color:#dae5e2;color:#34585c}
.btn-secondary:hover:not(:disabled){background:#f0f7f5}
.btn-danger{background:#fff1f1;border-color:#f8d0d1;color:var(--danger)}
.btn-danger:hover:not(:disabled){background:#ffe4e4}
.btn-quiet{background:transparent;color:var(--ink-2);border-color:transparent}
.btn-quiet:hover:not(:disabled){background:#eaf2f0}
.btn-sm{padding:6px 10px;min-height:31px;font-size:11px}
.btn-icon{padding:7px;min-height:32px;min-width:32px}
.btn .ico{width:16px;height:16px}
.surface{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.surface-pad{padding:22px}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}
.section-head p{font-size:11px;color:var(--muted);margin:4px 0 0}
.section-link{color:var(--primary);font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap;background:none;border:0}
.section-link:hover{text-decoration:underline}
.hero{position:relative;overflow:hidden;border-radius:18px;background:linear-gradient(110deg,#173b43 0%,#1c5055 63%,#327073 100%);color:white;padding:31px 37px;min-height:205px;display:flex;align-items:center;justify-content:space-between;gap:20px;isolation:isolate;margin-bottom:23px}
.hero:after{content:"✦";position:absolute;right:14%;top:-115px;color:#e7b97b;font:normal 420px/1 Georgia,serif;opacity:.07;z-index:-1;transform:rotate(-14deg)}
.hero:before{content:"";position:absolute;right:-50px;bottom:-175px;width:320px;height:320px;border:1px solid #7eb6ad;border-radius:50%;box-shadow:0 0 0 43px #ffffff05,0 0 0 90px #ffffff04;z-index:-1}
.hero-kicker{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:#e8ba81;font-weight:800}
.hero h2{font-size:clamp(26px,2.8vw,39px);line-height:1.45;font-weight:800;letter-spacing:-.04em;margin:7px 0 9px}
.hero p{color:#cce0df;font-size:12.5px;max-width:590px;margin:0}
.hero-side{text-align:center;min-width:165px;border-left:1px solid rgba(255,255,255,.2);padding-left:25px}
.countdown-num{font:800 49px/1.15 'DM Sans',sans-serif;letter-spacing:-.06em;color:#ffcf8d}
.countdown-label{color:#d3e7e4;font-size:11px;margin-top:4px}
.countdown-date{font-size:11px;color:#d0dedb;margin-top:13px}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:23px}
.metric{background:white;border:1px solid var(--line);border-radius:14px;padding:19px 20px;position:relative;box-shadow:var(--shadow);min-width:0}
.metric-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:13px}
.metric-label{font-size:11px;font-weight:600;color:#71868a}
.metric-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#edf7f4;color:#2d7771}
.metric-icon.gold{color:#a77b41;background:#fff5e6}
.metric-icon.purple{color:#7b6ba6;background:#f2effa}
.metric-icon.rose{color:#ab626a;background:#fcf0f0}
.metric-value{font:800 29px/1.15 'DM Sans',var(--font);letter-spacing:-.035em;color:#203d43}
.metric-value .unit{font-family:var(--font);font-size:13px;margin-left:3px;letter-spacing:0;color:#617d80}
.metric-desc{color:#7e9395;font-size:11px;margin-top:8px}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.48fr) minmax(275px,1fr);gap:18px;margin-bottom:19px}
.dashboard-grid.equal{grid-template-columns:1fr 1fr}
.progress{height:7px;background:#e9f0ee;border-radius:20px;overflow:hidden}
.progress span{display:block;height:100%;background:#269083;border-radius:20px;max-width:100%;transition:width .25s}
.progress.gold span{background:#d6a262}
.progress-label{display:flex;justify-content:space-between;font-size:11px;font-weight:600;margin:0 0 8px}
.progress-label strong{color:var(--primary)}
.insight-list{display:grid;gap:12px}
.insight-row{display:flex;align-items:center;gap:11px;border-bottom:1px solid #f0f3f2;padding-bottom:12px;min-width:0}
.insight-row:last-child{padding-bottom:0;border-bottom:0}
.insight-indicator{width:9px;height:9px;background:#76ad9f;border-radius:3px;flex-shrink:0}
.insight-indicator.amber{background:#e3b073}.insight-indicator.red{background:#cc7878}
.insight-body{flex:1;min-width:0}
.insight-name{font-weight:700;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.insight-detail{font-size:10.5px;color:#829598}
.insight-right{font-size:11px;font-weight:800;color:var(--ink-2)}
.empty-state{padding:35px 18px;text-align:center;color:#718b8d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.empty-state .ico{width:28px;height:28px;color:#9eb8b4;margin-bottom:6px}
.empty-state strong{font-size:13px;color:#3f5b5e}
.empty-state p{font-size:11px;margin:0;max-width:350px}
.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:16px}
.toolbar .search-box{min-width:210px;flex:1}
.search-box{display:flex;align-items:center;gap:8px;border:1px solid #dfe8e6;border-radius:10px;background:#fff;padding:0 12px;height:41px;color:#8aa0a1;min-width:0}
.search-box input{border:0;outline:none;min-width:0;width:100%;color:var(--ink);background:transparent;font-size:12px}
.search-box:focus-within{outline:2px solid #98cecb}
.select-inline{height:41px;border:1px solid #dfe8e6;border-radius:10px;background:white;color:#456366;padding:0 12px;font-size:11.5px;max-width:195px}
.result-count{font-size:11px;color:var(--muted);padding:0 4px}
.table-scroll{width:100%;overflow-x:auto}
.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}
.data-table thead th{font-size:10px;letter-spacing:.02em;font-weight:800;background:#f8faf9;color:#829397;white-space:nowrap;padding:14px 17px;border-bottom:1px solid var(--line)}
.data-table tbody td{padding:14px 17px;border-bottom:1px solid #eef2f1;vertical-align:middle;color:#486267}
.data-table tbody tr:last-child td{border-bottom:0}
.data-table tbody tr:hover{background:#fbfdfc}
.data-table .cell-primary{font-weight:700;color:#263e44}
.data-table .cell-sub{font-size:10px;color:#91a0a2;margin-top:3px;max-width:320px}
.data-table .cell-actions{text-align:right;white-space:nowrap}
.table-action{background:none;border:0;color:#738c90;padding:7px;border-radius:7px;display:inline-flex}
.table-action:hover{background:#eaf2f0;color:var(--primary)}
.table-action.danger:hover{background:var(--danger-bg);color:var(--danger)}
.badge{display:inline-flex;align-items:center;gap:5px;border-radius:6px;font-weight:800;font-size:10px;white-space:nowrap;background:#eff3f3;color:#62777a;padding:4px 8px;line-height:1.5}
.badge:before{content:"";height:6px;width:6px;border-radius:50%;background:currentColor;opacity:.8}
.badge.success{background:var(--success-bg);color:var(--success)}
.badge.warning{background:var(--warning-bg);color:var(--warning)}
.badge.danger{background:var(--danger-bg);color:var(--danger)}
.badge.info{background:#e6f2f5;color:#377b89}
.badge.purple{background:#f1eafa;color:#7763a9}
.small-muted{font-size:11px;color:#849799}
.nowrap{white-space:nowrap}.mono{font-family:'DM Sans',var(--font);font-variant-numeric:tabular-nums}
.priority{font-weight:800;font-size:11px}
.priority.high{color:#b74e4b}.priority.medium{color:#a67634}.priority.low{color:#658586}
.kanban{display:grid;grid-template-columns:repeat(4,minmax(185px,1fr));gap:14px;overflow-x:auto;align-items:start;padding-bottom:4px}
.kanban-col{background:#edf2f0;border-radius:14px;padding:13px;min-height:230px}
.kanban-head{display:flex;justify-content:space-between;align-items:center;padding:3px 4px 14px;font-size:12px;font-weight:800}
.kanban-count{border-radius:6px;background:#dfe8e6;color:#60787a;padding:2px 8px;font:800 11px 'DM Sans',sans-serif}
.kanban-card{background:white;border:1px solid #e1eae8;border-radius:11px;padding:15px;margin-bottom:10px;box-shadow:0 2px 10px #19454708}
.kanban-card-title{font-size:12px;font-weight:800;margin-bottom:8px;line-height:1.55}
.kanban-card p{font-size:10.5px;color:#849799;margin:0 0 10px}
.kanban-foot{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:10px;color:#7b9092}
.kanban-foot button{border:0;background:transparent;color:var(--primary);font-weight:800;padding:5px}
.kanban-empty{color:#90a3a4;text-align:center;padding:28px 3px;font-size:11px}
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.team-card{padding:22px;display:flex;flex-direction:column;gap:12px}
.team-card-top{display:flex;align-items:center;justify-content:space-between}
.team-card-icon{border-radius:12px;background:#e5f3ef;color:#27786e;width:43px;height:43px;display:grid;place-items:center}
.team-card h3{font-size:15px;margin-bottom:4px}
.team-card p{color:#829597;font-size:11px;min-height:35px;margin:0}
.team-lead{display:flex;align-items:center;gap:8px;border-top:1px solid #eef2f1;padding-top:13px;font-size:11px;color:#60797b}
.team-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px}
.stats-strip{display:flex;flex-wrap:wrap;gap:14px;margin:3px 0 21px}
.stat-chip{display:flex;gap:8px;align-items:center;border:1px solid #e1e9e6;border-radius:9px;padding:9px 12px;background:white;font-size:11px;color:#657c7f}
.stat-chip strong{font:800 16px 'DM Sans',var(--font);color:var(--ink)}
.budget-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}
.budget-box{padding:20px 22px}
.budget-box-label{color:#799093;font-size:11px;margin-bottom:5px}
.budget-box-value{font:800 25px 'DM Sans',var(--font);color:#22434b}
.budget-box .sm-note{margin-top:8px;font-size:10px;color:#8a9b9d}
.agenda-list{position:relative;display:grid;gap:0;padding-left:9px}
.agenda-item{display:grid;grid-template-columns:100px 23px minmax(0,1fr) auto;gap:10px;align-items:start;position:relative;min-height:95px}
.agenda-time{font:800 13px 'DM Sans',var(--font);color:var(--primary);padding-top:6px;white-space:nowrap}
.agenda-time small{display:block;color:#95a2a6;font-size:10px;font-weight:600;margin-top:4px}
.agenda-line{height:100%;position:relative;display:flex;justify-content:center}
.agenda-line:before{content:"";position:absolute;top:14px;bottom:0;width:2px;background:#e4eeeb}
.agenda-item:last-child .agenda-line:before{bottom:calc(100% - 22px)}
.agenda-dot{width:13px;height:13px;border:3px solid #c9e2dc;border-radius:50%;background:var(--primary);margin-top:7px;position:relative;z-index:1}
.agenda-detail{padding:0 0 22px}
.agenda-detail strong{font-size:13px}
.agenda-detail p{font-size:11px;color:#819598;margin:5px 0}
.agenda-actions{display:flex;gap:3px}
.risk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.risk-card{padding:20px;border-top:4px solid #a9c7be}
.risk-card.critical{border-top-color:#d18484}.risk-card.moderate{border-top-color:#e3b178}
.risk-card .risk-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.risk-card h3{margin:0 0 8px}
.risk-card p{font-size:11px;color:#788f91;margin-bottom:12px}
.risk-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.risk-footer{border-top:1px solid #eef2f1;padding-top:11px;color:#879a9b;font-size:10px}
.activity-list{display:grid;gap:0}
.activity-item{display:flex;align-items:flex-start;gap:12px;border-bottom:1px solid #eef2f1;padding:15px 0}
.activity-item:first-child{padding-top:0}.activity-item:last-child{border:0;padding-bottom:0}
.activity-icon{width:34px;height:34px;background:#e8f4f0;color:#348377;border-radius:10px;display:grid;place-items:center}
.activity-body{flex:1;min-width:0;font-size:11.5px;color:#536e70}
.activity-body strong{color:#2b4b4f}
.activity-date{font-size:10px;color:#92a3a4}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.settings-row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px}
.settings-row:last-child{border:0}
.settings-row span{color:#829396}.settings-row strong{text-align:right;overflow-wrap:anywhere}
.auth-screen{min-height:100dvh;display:grid;grid-template-columns:minmax(340px,.94fr) minmax(400px,1.06fr);background:white}
.auth-left{background:var(--nav);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:44px clamp(36px,6vw,92px);color:white}
.auth-left:before{content:"✦";position:absolute;top:14%;right:-110px;font:normal 500px/.8 Georgia,serif;color:#d9ac75;opacity:.1;transform:rotate(-14deg);pointer-events:none}
.auth-left:after{content:"";position:absolute;width:420px;height:420px;border:1px solid #ffffff21;border-radius:50%;right:-160px;bottom:-130px;pointer-events:none;box-shadow:0 0 0 70px #ffffff05,0 0 0 140px #ffffff04}
.auth-brand{display:flex;gap:12px;align-items:center;font:800 19px 'DM Sans',var(--font)}
.auth-brand .logo-symbol{height:49px;width:49px}
.auth-statement{position:relative;z-index:1}
.auth-statement .eyebrow{color:#efc28b}
.auth-statement h1{font-size:clamp(34px,4vw,55px);line-height:1.33;letter-spacing:-.04em;margin:10px 0 15px}
.auth-statement p{font-size:13px;max-width:410px;color:#b6ced0}
.auth-event{position:relative;z-index:1;font-size:11px;color:#bed6d5}
.auth-event strong{color:white;display:block;font-size:17px;margin-bottom:5px}
.auth-right{display:flex;align-items:center;justify-content:center;padding:45px 35px}
.auth-panel{width:100%;max-width:423px}
.auth-mark{display:inline-grid;place-items:center;width:50px;height:50px;border-radius:14px;background:#ecf6f2;color:var(--primary);margin-bottom:22px}
.auth-panel h2{font-size:27px;margin-bottom:7px}
.auth-panel>p{font-size:12px;color:#789092;margin:0 0 28px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:14px;row-gap:15px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field.wide{grid-column:1/-1}
.field label{font-size:11px;font-weight:800;color:#4a666a}
.field label .required{color:#c45252;margin-left:3px}
.field input,.field select,.field textarea{width:100%;border:1px solid #dfe7e5;background:#fff;border-radius:9px;min-height:42px;padding:10px 12px;font-size:12px;color:var(--ink);outline:none}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#59a7a2;box-shadow:0 0 0 3px #e3f3ef}
.field input[readonly]{background:#f1f4f3;color:#7a8a8d}
.field textarea{resize:vertical;min-height:90px}
.field .hint{font-size:10px;color:#8b9c9e}
.field-checkbox{display:flex;align-items:flex-start;gap:9px;font-size:11px;color:#4a666a}
.field-checkbox input{width:16px;height:16px;margin-top:2px;flex-shrink:0}
.form-error{background:var(--danger-bg);border:1px solid #f0c7ca;padding:11px 13px;border-radius:9px;color:#a33943;font-size:11px;margin:15px 0}
.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}
.auth-panel .form-grid{margin:26px 0 0}
.auth-panel .btn{width:100%;margin-top:22px;font-size:13px;height:47px}
.auth-bottom{font-size:11px;color:#98a6a7;margin-top:28px;text-align:center}
.overlay{position:fixed;inset:0;background:#09292fcc;display:flex;align-items:center;justify-content:center;padding:22px;z-index:100;animation:fade .15s}
@keyframes fade{from{opacity:0}to{opacity:1}}
.modal{width:min(100%,680px);background:#fff;border-radius:17px;box-shadow:0 30px 100px #112f3655;max-height:min(88dvh,900px);display:flex;flex-direction:column;overflow:hidden}
.modal-header{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--line);padding:21px 26px}
.modal-header h2{font-size:18px;margin-bottom:3px}
.modal-header p{font-size:11px;color:#82999a;margin:0}
.modal-body{padding:22px 26px;overflow:auto}
.modal-footer{border-top:1px solid var(--line);padding:15px 26px;display:flex;justify-content:flex-end;gap:9px;background:#fbfcfc}
.close-btn{border:0;background:#f2f6f5;color:#6b8184;width:34px;height:34px;border-radius:9px;display:grid;place-items:center}
.close-btn:hover{background:#e6efed;color:var(--ink)}
#toast-region{position:fixed;bottom:24px;right:25px;z-index:150;display:grid;gap:9px;pointer-events:none}
.toast{max-width:390px;background:#173f43;color:white;box-shadow:0 16px 42px #143d3950;border-radius:12px;padding:13px 16px;display:flex;align-items:center;gap:11px;font-size:12px;font-weight:700;animation:toast-in .2s ease}
.toast.error{background:#9a3c46}
.toast .ico{width:18px;height:18px}
@keyframes toast-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.offline-state{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px;text-align:center}
.offline-card{max-width:420px;padding:38px 30px}
.offline-card h1{font-size:22px;margin:14px 0 10px}
.offline-card p{color:#7d9193;font-size:12px;margin-bottom:23px}
.drawer-backdrop{display:none}
.mobile-bottom{display:none}
.meal-meter{display:flex;align-items:center;gap:13px;margin-bottom:16px}
.meal-meter .progress{flex:1;height:9px}.meal-meter strong{white-space:nowrap;font-size:12px}
.readiness-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:19px}
.gospel-focus,.agenda-feature{border-color:#e9d8bc;background:linear-gradient(140deg,#fffefa 0%,#fff9ee 100%)}
.agenda-feature{margin-bottom:16px}
.key-moments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.key-moments>div{border-radius:10px;background:#fff;border:1px solid #e9e5dc;padding:12px 14px;display:flex;flex-direction:column;gap:6px;min-width:0}
.key-moments strong{color:#8b5b26;font:800 16px 'DM Sans',var(--font);font-variant-numeric:tabular-nums}
.key-moments span{font-size:11px;color:#536e70;font-weight:700}
.capacity-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:11px;color:#71888a}
.capacity-row strong{font-size:11px;color:#2b4d50;text-align:right;overflow-wrap:anywhere}
.capacity-row:last-of-type{border-bottom:0}
.privacy-note{display:flex;align-items:flex-start;gap:10px;background:#fff9ec;border:1px solid #f1e2c6;border-radius:11px;padding:12px 14px;color:#765934;font-size:11px;margin:0 0 16px;line-height:1.75}
.privacy-note .ico{margin-top:2px}
.after-service{display:flex;align-items:center;flex-wrap:wrap;gap:8px 15px;padding:17px 20px;background:#eaf4ef;border:1px solid #d5e9dd;border-radius:13px;margin:0 0 16px}
.after-service strong{color:#215c4c;font-size:13px}
.after-service span{flex:1;font-size:11px;color:#627d74}
.after-service .section-link{margin-left:auto}
.priority.critical{color:#942e37}
.agenda-item.post-service .agenda-dot{background:#c89255;border-color:#f1dbb9}
.agenda-phase{display:inline-flex;font-size:9px;font-weight:800;color:#936028;margin-left:9px;padding:2px 7px;border-radius:5px;background:#fff3dc;vertical-align:middle}
@media(min-width:1500px){.main-content{padding-left:45px;padding-right:45px}.metric{padding:23px}}
@media(max-width:1250px){.sidebar{width:230px}.page-layout{margin-left:230px}.main-content{padding:26px 23px}.topbar{padding:0 23px}.metric-grid{gap:10px}.metric{padding:16px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){.dashboard-grid,.dashboard-grid.equal,.readiness-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.risk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kanban{grid-template-columns:repeat(4,minmax(205px,1fr))}.date-pill{display:none}}
@media(max-width:800px){
  .sidebar{width:268px;transform:translateX(-102%);transition:transform .2s;box-shadow:16px 0 38px #102e3744}
  .sidebar.open{transform:translateX(0)}
  .drawer-backdrop.open{display:block;position:fixed;inset:0;z-index:30;background:#102e3777}
  .page-layout{margin-left:0}.topbar{height:61px;padding:0 18px}.menu-toggle{display:grid;place-items:center}
  .main-content{padding:22px 17px 94px}.hero{padding:27px 25px}
  .mobile-bottom{position:fixed;bottom:0;left:0;right:0;height:calc(66px + env(safe-area-inset-bottom));padding:5px 7px env(safe-area-inset-bottom);background:#fff;border-top:1px solid var(--line);z-index:25;display:flex;align-items:stretch;justify-content:space-around;box-shadow:0 -4px 25px #123c3912}
  .bottom-btn{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;background:none;border:0;flex:1;min-width:0;color:#86989a;font-size:9.5px;font-weight:700}
  .bottom-btn.active{color:var(--primary)}.bottom-btn .ico{width:22px;height:22px}
  #toast-region{bottom:calc(79px + env(safe-area-inset-bottom));left:17px;right:17px}.toast{max-width:none}
  .auth-screen{grid-template-columns:1fr}.auth-left{padding:21px 28px;min-height:170px}
  .auth-statement h1{font-size:25px}.auth-statement p,.auth-event{display:none}.auth-right{padding:35px 24px}
  .auth-panel{max-width:470px}
}
@media(max-width:580px){
  .page-heading{gap:15px}.page-actions{width:100%}.page-actions .btn{flex:1}
  .hero{min-height:unset;display:block;padding:25px}.hero h2{font-size:28px}
  .hero-side{display:flex;align-items:center;justify-content:space-between;border-left:0;border-top:1px solid #ffffff30;margin-top:20px;padding:16px 0 0;text-align:left}
  .countdown-num{font-size:30px}.countdown-label{margin:0;align-self:center}.countdown-date{margin:0}
  .metric-grid{gap:9px}.metric{padding:15px}.metric-top{margin-bottom:10px}.metric-value{font-size:25px}.metric-label{font-size:10px}
  .surface-pad{padding:17px}.team-grid,.risk-grid,.budget-overview,.settings-grid{grid-template-columns:1fr}
  .toolbar .search-box{flex-basis:100%}.toolbar .select-inline{max-width:none;flex:1}
  .agenda-item{grid-template-columns:69px 18px minmax(0,1fr);gap:7px}.agenda-time{font-size:11px}.agenda-actions{grid-column:3;align-self:start;margin:-15px 0 16px}.agenda-detail{padding-bottom:8px}
  .modal{max-height:95dvh}.modal-header{padding:18px}.modal-body{padding:17px 18px}.modal-footer{padding:14px 18px}
  .form-grid{grid-template-columns:1fr}.field{grid-column:1/-1}.data-table{min-width:630px}
  .key-moments{grid-template-columns:1fr}.capacity-row{align-items:flex-start;flex-direction:column;gap:3px}
  .capacity-row strong{text-align:left}.after-service{align-items:flex-start;flex-direction:column}.after-service .section-link{margin-left:0}
  .agenda-feature h2,.gospel-focus h2{font-size:15px}
  .meal-meter{flex-wrap:wrap}.meal-meter .progress{order:3;flex-basis:100%}
}
@media(max-width:380px){
  .main-content{padding-left:11px;padding-right:11px}.hero{padding:20px 18px}
  .metric{padding:12px 10px}.metric-label{font-size:9.5px}.metric-value{font-size:22px}.metric-value .unit{font-size:11px}
  .page-actions .btn{white-space:normal}.topbar{padding:0 11px}
  .hero-side{flex-wrap:wrap;gap:6px}.countdown-date{flex-basis:100%}
  .section-head{flex-wrap:wrap}.metric-value{overflow-wrap:anywhere}
  .modal{max-height:calc(100dvh - 18px)}.overlay{padding:9px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
