:root{--primary:#163A5F;--secondary:#0B2239;--accent:#2F80ED;--bg:#F5F7FA;--surface:#fff;--text:#1A2433;--muted:#738095;--line:#E5EAF0;--radius:18px;--shadow:0 18px 50px rgba(25,42,70,.08)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.muted{color:var(--muted);line-height:1.65}.eyebrow{display:block;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.3rem}.pill{display:inline-flex;padding:.35rem .7rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,white);color:var(--accent);font-size:.75rem;font-weight:800}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:.82rem 1.05rem;font-weight:750;cursor:pointer}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 24%,transparent)}.alert{padding:.9rem 1rem;border-radius:12px;margin:0 0 1rem;font-size:.92rem}.alert-error{background:#FFF0F0;color:#A72B2B;border:1px solid #FFD7D7}.alert-success{background:#ECFAF2;color:#187247;border:1px solid #C9F0DA}
.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--secondary),color-mix(in srgb,var(--secondary) 82%,black));color:#fff;padding:1.4rem;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:.8rem;padding:.4rem .2rem 1.4rem}.brand-logo{width:42px;height:42px;border-radius:12px;object-fit:contain;background:#fff;padding:5px}.brand-mark,.login-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--accent);color:white;font-size:1.3rem;font-weight:900}.brand strong{display:block}.brand span{display:block;font-size:.72rem;color:rgba(255,255,255,.55);margin-top:.18rem}.nav{display:flex;flex-direction:column;gap:.35rem}.nav a{padding:.82rem .9rem;border-radius:10px;color:rgba(255,255,255,.78);font-weight:650}.nav a:hover{background:rgba(255,255,255,.08);color:#fff}.sidebar-footer{margin-top:auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,.11)}.user-chip span,.user-chip small{display:block}.user-chip small{color:rgba(255,255,255,.5);margin-top:.2rem}.logout{display:block;margin-top:.8rem;color:#fff;font-size:.84rem;font-weight:700}.main{min-width:0}.topbar{padding:1.7rem 2rem .5rem}.topbar h1{margin:.15rem 0;font-size:1.7rem}.content{padding:1rem 2rem 2.5rem}.hero-card{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border-radius:24px;padding:2rem;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow)}.hero-card h2{font-size:1.8rem;margin:.8rem 0 .5rem}.hero-card p{max-width:680px;color:rgba(255,255,255,.72);line-height:1.65}.hero-icon{font-size:4rem;font-weight:900;color:color-mix(in srgb,var(--accent) 70%,white);padding:1rem 2rem}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1rem 0}.stat-card,.section-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 30px rgba(31,48,72,.04)}.stat-card{padding:1.2rem}.stat-card span,.stat-card small{display:block;color:var(--muted);font-size:.8rem}.stat-card strong{display:block;font-size:1.35rem;margin:.35rem 0}.section-card{padding:1.25rem}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.section-heading h3{margin:.1rem 0;font-size:1.1rem}.count-badge{display:grid;place-items:center;min-width:34px;height:34px;border-radius:10px;background:var(--bg);font-weight:800}.placeholder-list{display:grid;gap:.6rem}.placeholder-list div{display:flex;gap:.9rem;align-items:center;border:1px solid var(--line);border-radius:12px;padding:.9rem}.placeholder-list b{color:var(--accent)}.two-col{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);gap:1rem;align-items:start}.sticky-card{position:sticky;top:1rem}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.85rem .7rem;border-bottom:1px solid var(--line);font-size:.88rem;white-space:nowrap}th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}td small{display:block;color:var(--muted);margin-top:.2rem}.status{display:inline-flex;padding:.28rem .55rem;border-radius:999px;font-size:.74rem;font-weight:800}.status.ok{background:#E8F8EF;color:#187247}.status.off{background:#F0F2F5;color:#6B7280}.form-stack{display:grid;gap:.9rem}.form-stack label,.form-grid label{display:grid;gap:.42rem;font-size:.82rem;font-weight:750}.form-stack label small,.form-grid label small{font-weight:500;color:var(--muted)}input,select{width:100%;border:1px solid #DCE3EA;background:#fff;border-radius:11px;padding:.78rem .85rem;outline:none;color:var(--text)}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.color-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.color-input{display:grid;grid-template-columns:50px 1fr;gap:.6rem;align-items:center}.color-input input{height:44px;padding:4px}.color-input code{font-size:.76rem;color:var(--muted)}.brand-preview{display:grid;grid-template-columns:35% 1fr;min-height:300px;border:1px solid var(--line);border-radius:16px;overflow:hidden}.preview-sidebar{background:var(--secondary);color:#fff;padding:1rem;display:flex;flex-direction:column;gap:.6rem}.preview-logo{width:32px;height:32px;border-radius:8px;background:var(--accent);display:grid;place-items:center}.preview-sidebar span{font-size:.75rem;font-weight:800}.preview-sidebar i{height:14px;border-radius:5px;background:rgba(255,255,255,.09)}.preview-main{background:#F7F9FB;padding:1rem;display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;align-content:start}.preview-top{grid-column:1/-1;height:20px;background:#fff;border-radius:6px}.preview-box{height:80px;background:#fff;border:1px solid #EDF0F4;border-radius:10px}.preview-box.accent{border-top:4px solid var(--accent)}
.checklist-workspace{display:grid;gap:1rem}.checklist-navigation-card{padding-bottom:0}.checklist-navigation-heading{margin-bottom:.9rem}.active-context{display:inline-flex;align-items:center;min-height:34px;padding:.4rem .7rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,white);color:var(--accent);font-size:.78rem;font-weight:800}.area-tabs{display:flex;gap:.45rem;overflow-x:auto;padding:.15rem 0 .9rem;scrollbar-width:thin}.area-tab{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.7rem 1rem;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--muted);font-size:.86rem;font-weight:800;transition:.16s ease}.area-tab:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--text)}.area-tab.active{background:var(--secondary);border-color:var(--secondary);color:#fff}.period-tabs{display:flex;gap:1.6rem;border-top:1px solid var(--line);padding-top:.15rem;overflow-x:auto}.period-tab{position:relative;flex:0 0 auto;padding:1rem .1rem .9rem;color:var(--muted);font-size:.88rem;font-weight:800}.period-tab:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:transparent}.period-tab.active{color:var(--accent)}.period-tab.active:after{background:var(--accent)}.checklist-list-card{min-height:260px}.checklist-list-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.checklist-list-header h3{margin:.1rem 0 .25rem;font-size:1.15rem}.checklist-list-header p{margin:.25rem 0 0}.checklist-empty{display:grid;justify-items:center;text-align:center;max-width:620px;margin:2rem auto;padding:1.5rem}.checklist-empty.compact{margin-top:1.1rem;padding-top:2rem;border-top:1px solid var(--line)}.checklist-empty-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:color-mix(in srgb,var(--accent) 11%,white);color:var(--accent);font-size:1.35rem;font-weight:900}.checklist-empty h3{margin:.9rem 0 .35rem}.checklist-empty p{margin:0;color:var(--muted);line-height:1.6}
.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(380px,42%) 1fr;background:#fff}.login-panel{padding:clamp(2rem,6vw,6rem);display:flex;flex-direction:column;justify-content:center;max-width:620px;width:100%;margin:auto}.login-brand{display:flex;gap:.9rem;align-items:center}.login-brand h1{margin:.1rem 0;font-size:2rem}.login-logo{width:52px;height:52px;border-radius:14px;object-fit:contain}.login-panel .form-stack{margin-top:1rem}.login-panel .btn{margin-top:.3rem}.login-visual{padding:1.2rem;background:var(--bg)}.visual-card{height:100%;min-height:calc(100vh - 2.4rem);border-radius:24px;padding:clamp(2rem,5vw,5rem);background:linear-gradient(145deg,var(--primary),var(--secondary));color:#fff;display:flex;flex-direction:column;justify-content:center;overflow:hidden;position:relative}.visual-card h2{font-size:clamp(2rem,4vw,4rem);line-height:1.03;max-width:760px;margin:1rem 0}.visual-card p{max-width:580px;color:rgba(255,255,255,.68);font-size:1.05rem;line-height:1.6}.visual-grid{position:absolute;right:-70px;bottom:-80px;display:grid;grid-template-columns:repeat(2,180px);gap:18px;transform:rotate(-9deg);opacity:.55}.visual-grid span{height:150px;border-radius:22px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.15)}
.setup-page{min-height:100vh;display:grid;place-items:center;padding:2rem;background:radial-gradient(circle at top left,color-mix(in srgb,var(--accent) 10%,white),var(--bg) 45%)}.setup-card{width:min(560px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:2rem;box-shadow:var(--shadow)}.setup-card.wide{width:min(820px,100%)}.setup-card h1{margin:.8rem 0}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.3rem}.form-grid .full,.setup-note{grid-column:1/-1}.setup-note{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 1rem;background:var(--bg);border-radius:12px;font-size:.82rem}.setup-note span{color:var(--muted)}
@media(max-width:980px){.app-shell{grid-template-columns:86px 1fr}.sidebar{padding:1rem .75rem}.brand>div:last-child,.nav a,.user-chip,.logout{font-size:0}.brand{justify-content:center}.nav a:before{content:'•';font-size:1.25rem}.stats-grid{grid-template-columns:1fr}.two-col{grid-template-columns:1fr}.sticky-card{position:static}.login-page{grid-template-columns:1fr}.login-visual{display:none}}@media(max-width:640px){.app-shell{display:block}.sidebar{position:static;height:auto;flex-direction:row;align-items:center}.brand{padding:0;margin-right:auto}.nav{display:none}.sidebar-footer{border:0;padding:0;margin:0}.logout{font-size:.78rem;margin:0}.user-chip{display:none}.content,.topbar{padding-left:1rem;padding-right:1rem}.hero-card{padding:1.3rem}.hero-icon{display:none}.color-fields,.form-grid{grid-template-columns:1fr}.form-grid .full,.setup-note{grid-column:auto}.setup-note{display:grid}.settings-layout{display:block}.preview-card{margin-top:1rem}.checklist-navigation-card{padding-left:1rem;padding-right:1rem}.checklist-navigation-heading,.checklist-list-header{align-items:flex-start}.active-context{display:none}.area-tab{min-height:44px}.period-tabs{gap:1.2rem}.period-tab{min-height:44px}.checklist-empty{padding:1rem .2rem;margin:1rem auto}}
