:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3efe8;--surface:#fff;--ink:#221c16;--muted:#706556;--accent:#a3531a;--accent-dark:#7d3a10;--border:#e5dccf;--glow:#a3531a29;--shadow:#1f18121a}*{box-sizing:border-box}html{overflow-x:hidden}body{color:var(--ink);background:radial-gradient(circle at top, #fff4e6 0%, var(--bg) 45%, #efe7dd 100%);min-height:100vh;margin:0;font-family:Iowan Old Style,Palatino,Garamond,serif;overflow-x:hidden}a{color:inherit;text-decoration:none}.app-shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.auth-main{place-items:center;min-height:100vh;padding:32px;display:grid}.sidebar{border-right:1px solid var(--border);background:linear-gradient(#fff5e5 0%,#f3ebe1 100%);flex-direction:column;gap:32px;padding:32px 24px;display:flex}.brand h2{margin:0}.nav{flex-direction:column;gap:12px;display:flex}.nav-link{color:var(--muted);background:0 0;border-radius:12px;padding:10px 14px}.nav-link.active{background:var(--surface);color:var(--ink);border:1px solid var(--border)}.sidebar-footer{flex-direction:column;gap:8px;margin-top:auto;display:flex}.bell-button{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--ink);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s,box-shadow .2s;display:inline-flex;position:relative}.bell-button:hover{box-shadow:0 4px 12px var(--shadow);background:#faf5ed}.bell-badge{color:#fff;border:2px solid var(--surface);background:#c0392b;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;line-height:1;display:flex;position:absolute;top:-4px;right:-4px}.nav-badge{color:#fff;background:#c0392b;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.nav-link{align-items:center;display:flex}.main{min-width:0;padding:40px 48px;overflow-x:hidden}.mobile-topbar{justify-content:flex-end;align-items:center;margin-bottom:16px;display:none}.sidebar-toggle{border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:999px;padding:8px 12px;font-size:13px}.sidebar-backdrop{display:none}.sidebar-backdrop.list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.list-group{flex-direction:column;gap:10px;display:flex}.list-group h4{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0;font-size:13px}.page{flex-direction:column;gap:24px;min-width:0;display:flex}.page-center{place-items:center;min-height:100vh;padding:32px;display:grid}.page-center--auth{align-content:start;justify-items:center;gap:12px;padding-top:70px}.auth-brand-title{text-align:center;letter-spacing:.04em;margin:0;font-size:clamp(26px,3vw,34px)}.page-header{justify-content:space-between;align-items:center;gap:24px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:12px}.muted{color:var(--muted)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;display:grid}.grid-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;display:grid}.stack,.directory-section{flex-direction:column;gap:16px;display:flex}.section-title{margin:4px 0 0;font-size:22px}.directory-tree{background:var(--surface);border:1px solid var(--border);box-shadow:0 18px 40px var(--shadow);border-radius:18px;padding:20px}.directory-controls{border:1px solid var(--border);background:#fffdf6;border-radius:16px;padding:16px 18px;box-shadow:0 12px 24px #1f181214}.filter-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end;gap:12px;display:grid}.tree-group{flex-direction:column;gap:8px;display:flex}.tree-children{border-left:1px dashed var(--border);flex-direction:column;gap:8px;margin-left:12px;padding-left:12px;display:flex}.tree-row{border:1px solid var(--border);background:#fffaf2;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.tree-row.level-unit{cursor:pointer;background:#fff7eb}.tree-row.level-unit.active{border-color:var(--accent);box-shadow:0 0 0 3px var(--glow)}.tree-title{margin:0;font-weight:600}.tree-meta{color:var(--muted);font-size:12px}.tree-toggle{border:1px solid var(--border);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;padding:6px 12px;font-size:12px}.people-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.people-row{border:1px solid var(--border);background:#fff;border-radius:12px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.people-row--birthday{background:#fef9e7;border-color:#f9e076}.people-row--anniversary{background:#fdf2f8;border-color:#f0abfc}.people-row-top{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.people-row-top .people-name{text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;min-width:0;overflow:hidden}.people-icons{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.icon-btn{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:14px;line-height:1;text-decoration:none;transition:background .15s;display:inline-flex}.icon-btn:hover{background:#f3f0ea}.icon-btn--wish{color:#fff;border:none;width:auto;padding:0 8px;font-size:11px;font-weight:700}.icon-btn--birthday{background:#f59e0b}.icon-btn--birthday:hover{background:#d97706}.icon-btn--anniversary{background:#a855f7}.icon-btn--anniversary:hover{background:#9333ea}.icon-btn--wa{background:#eafaf1;border-color:#25d366}.icon-btn--wa:hover{background:#d4f5e2}.icon-btn--info{color:var(--muted);background:0 0;border:none;width:24px}.icon-btn--info:hover{color:var(--accent)}.icon-btn--edit{color:var(--accent);background:0 0;border:none;width:22px;font-size:14px}.form-section{border:1px solid var(--border);border-radius:12px;margin:0;padding:16px}.form-section-legend{color:var(--ink);padding:0 6px;font-size:13px;font-weight:700}.form-section .stack{gap:12px}.people-row--more{background:#fffaf0;justify-content:center}.people-name{margin:0;font-weight:600}.people-details{color:var(--muted);margin:4px 0 0;font-size:13px}.card{background:var(--surface);border:1px solid var(--border);box-shadow:0 18px 40px var(--shadow);border-radius:18px;padding:24px;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden}.card--float{animation:.6s both floatUp}@keyframes floatUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.card:after{content:"";pointer-events:none;border-radius:18px;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #fff6}.card-header h3{margin:0 0 6px}.card-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.card-header-main{flex:1;min-width:0}.card-header-action{flex-shrink:0}.card-header-action .card-collapse{border-top:none;padding-top:0}.card-body{margin-top:16px}.input-field{flex-direction:column;gap:6px;font-size:14px;display:flex}.input{border:1px solid var(--border);border-radius:12px;padding:12px 14px;font-family:inherit;font-size:16px}.input.is-required,.select.is-required{border-color:var(--accent);box-shadow:0 0 0 3px var(--glow)}.input.is-invalid,.select.is-invalid{border-color:#c0392b;box-shadow:0 0 0 3px #c0392b2e}.select{border:1px solid var(--border);background:#fff;border-radius:12px;padding:12px 14px;font-family:inherit;font-size:16px}.validation-note{color:#8f2e25;background:#c0392b14;border:1px solid #c0392b4d;border-radius:10px;padding:10px 12px;font-size:13px}.button{background:var(--accent);color:#fffaf5;cursor:pointer;border:none;border-radius:999px;padding:12px 20px;font-size:14px;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s}.button:hover{transform:translateY(-1px);box-shadow:0 8px 20px #a454194d}.button-ghost{border:1px solid var(--border);color:var(--ink);background:0 0}.link{color:var(--accent);align-items:center;gap:8px;font-weight:600;display:inline-flex}.list{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.list-row{border:1px solid var(--border);background:#faf6f1;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.approval-list-content{width:100%;min-width:0}.approval-list-content .muted,.approval-list-content .list-title{overflow-wrap:anywhere;word-break:break-word}.approval-detail-panel,.approval-detail{min-width:0}.approval-compare-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.approval-compare-row>div,.approval-detail-row>div{min-width:0}.approval-compare-original{background:var(--panel-muted,#f8f6ef);overflow-wrap:anywhere;word-break:break-word;border-radius:12px;min-height:44px;padding:12px}.approval-detail-row{grid-template-columns:160px minmax(0,1fr);gap:12px;display:grid}.row-actions{align-items:center;gap:8px;display:flex}.tab-row{border:1px solid var(--border);background:#fff8ef;border-radius:999px;align-items:center;gap:8px;width:fit-content;padding:6px;display:inline-flex;box-shadow:inset 0 0 0 1px #a3531a14}.tab-button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:8px 14px;font-size:13px;transition:all .2s;position:relative}.tab-button.active{background:var(--surface);color:var(--ink);box-shadow:0 6px 16px var(--shadow)}.tab-badge{background:var(--accent,#8b6f47);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.inline-check{color:var(--muted);align-items:center;gap:8px;margin-bottom:6px;font-size:13px;display:inline-flex}.list-title{margin:0;font-weight:600}.chip{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:999px;padding:4px 10px;font-size:12px;transition:background .15s,border-color .15s}.chip:hover{border-color:var(--accent,#b08d57)}.chip--active{background:var(--accent,#b08d57);border-color:var(--accent,#b08d57);color:#fff}.toast{border:1px solid var(--border);box-shadow:0 12px 26px var(--shadow);background:#fff;border-radius:12px;max-width:420px;padding:12px 16px}.toast.success{color:#2f5f37;background:#f0f8f1;border-color:#c2d5c5}.toast.error{color:#8f2b2b;background:#fbefef;border-color:#e3b8b8}.edit-panel{border-top:1px dashed var(--border);margin-top:16px;padding-top:16px}.error-text{color:#a21c1c;font-size:13px}.warning-text{color:#8b6914;margin-top:4px;font-size:13px}.warning-text:before{content:"⚠"}.field-error{color:#a21c1c;align-items:center;gap:4px;margin-top:2px;font-size:12px;display:flex}.field-error:before{content:"⚠";font-size:13px}.input-field.has-error .input,.input-field.has-error input,.input-field.has-error select{border-color:#c0392b;box-shadow:0 0 0 1px #c0392b40}.auth-footer{justify-content:space-between;align-items:center;margin-top:16px;display:flex}@media (max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{z-index:20;-webkit-overflow-scrolling:touch;width:min(82vw,320px);height:100vh;transition:transform .25s;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:8px 0 24px #1f18121f}.sidebar-backdrop{opacity:0;pointer-events:none;z-index:15;background:#221c1659;transition:opacity .25s;display:block;position:fixed;inset:0}.sidebar-open .sidebar{transform:translate(0)}.sidebar-open .sidebar-backdrop{opacity:1;pointer-events:auto}.mobile-topbar{display:flex}.main,.page-center{padding:16px}.page-center--auth{padding-top:40px}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.tab-row{flex-wrap:wrap}.row-actions{flex-wrap:wrap;gap:8px}.list-row{flex-direction:column;align-items:flex-start;gap:8px}.card{padding:18px}.approval-layout,.approval-detail-panel,.approval-detail,.approval-list-content{min-width:0}.approval-compare-row,.approval-detail-row{grid-template-columns:1fr}.approval-compare-original,.approval-detail-row .muted,.approval-detail-row .eyebrow{overflow-wrap:anywhere;word-break:break-word}.verification-code-display,.tree-row{flex-direction:column;align-items:flex-start;gap:8px}.edit-panel{padding:12px}.auth-footer{flex-direction:column;align-items:flex-start;gap:8px}.grid-2,.grid-3{grid-template-columns:1fr}}.cc-select{position:relative}.cc-trigger{cursor:pointer;text-align:left;white-space:nowrap;background:#fff;justify-content:space-between;align-items:center;gap:4px;width:100%;font-size:13px;display:flex}.cc-placeholder{color:var(--muted)}.cc-chevron{color:var(--muted);font-size:10px}.cc-dropdown{z-index:50;background:var(--surface);border:1px solid var(--border);min-width:280px;box-shadow:0 12px 32px var(--shadow);border-radius:12px;margin-top:4px;position:absolute;top:100%;left:0;overflow:hidden}.cc-search{border:none;border-bottom:1px solid var(--border);border-radius:0;width:100%;padding:10px 14px;font-size:14px}.cc-search:focus{background:#fffdf6;outline:none}.cc-list{max-height:220px;margin:0;padding:4px 0;list-style:none;overflow-y:auto}.cc-option{cursor:pointer;text-align:left;width:100%;color:var(--ink);background:0 0;border:none;align-items:center;gap:10px;padding:9px 14px;font-family:inherit;font-size:14px;display:flex}.cc-option:hover{background:#faf5ed}.cc-option--active{background:#fff3e0;font-weight:600}.cc-option-flag{flex-shrink:0;font-size:18px}.cc-option-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.cc-option-dial{color:var(--muted);flex-shrink:0;font-size:13px}.cc-empty{color:var(--muted);text-align:center;padding:12px 14px;font-size:13px}.phone-input-row{grid-template-columns:140px 1fr;align-items:end;gap:12px;display:grid}@media (max-width:480px){.phone-input-row{grid-template-columns:120px 1fr}}.wa-deeplink{color:#fff;text-align:center;background:#25d366;border-radius:8px;padding:10px 20px;font-weight:600;text-decoration:none;transition:background .2s;display:inline-block}.wa-deeplink:hover{background:#1da851}.verification-code-display{border:1px solid var(--border);background:#f0f4ff;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;display:flex}.code-label{color:var(--muted);font-size:13px}.code-value{letter-spacing:4px;color:var(--ink);font-size:22px;font-weight:700}.profile-candidate{text-align:left;background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;width:100%;padding:14px 16px;font-size:14px;line-height:1.5;transition:border-color .15s,background .15s;display:block}.profile-candidate:hover:not(:disabled){border-color:var(--primary);background:#f0f4ff}.profile-candidate:disabled{opacity:.6;cursor:not-allowed}.profile-candidate strong{color:var(--ink);display:block}.sms-root{flex-direction:column;gap:6px;font-size:14px;display:flex;position:relative}.sms-label{color:var(--muted);font-size:13px}.sms-trigger{border:1px solid var(--border);cursor:pointer;text-align:left;background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s;display:flex}.sms-trigger:hover,.sms-trigger--open{border-color:var(--accent);box-shadow:0 0 0 3px var(--glow)}.sms-value{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);flex:1;overflow:hidden}.sms-placeholder{color:var(--muted);flex:1}.sms-chevron{color:var(--muted);flex-shrink:0;font-size:10px}.sms-dropdown{z-index:50;background:var(--surface);border:1px solid var(--border);box-shadow:0 12px 32px var(--shadow);border-radius:12px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow:hidden}.sms-search{border:none;border-bottom:1px solid var(--border);background:#fffdf6;outline:none;width:100%;padding:10px 14px;font-family:inherit;font-size:14px}.sms-list{max-height:280px;margin:0;padding:4px 0;list-style:none;overflow-y:auto}.sms-option{cursor:pointer;text-align:left;width:100%;color:var(--ink);background:0 0;border:none;align-items:center;gap:8px;padding:8px 14px;font-family:inherit;font-size:13px;display:flex}.sms-option:hover{background:#faf5ed}.sms-option--active{background:#fff3e0;font-weight:600}.sms-check{flex-shrink:0;font-size:14px}.sms-option-label{flex:1}.sms-empty{color:var(--muted);text-align:center;padding:12px 14px;font-size:13px}.sms-clear{border:none;border-top:1px solid var(--border);width:100%;color:var(--accent);cursor:pointer;text-align:center;background:#faf5ed;padding:8px 14px;font-family:inherit;font-size:12px;font-weight:600;display:block}.sms-clear:hover{background:#f5eed9}.ticker-bar{color:#fff;background:#1a1a1a;border-radius:8px;align-items:center;gap:12px;min-height:42px;padding:0;display:flex;overflow:hidden}.ticker-bar-label{background:var(--accent);color:#fff;letter-spacing:.06em;text-transform:uppercase;flex-shrink:0;align-self:stretch;align-items:center;padding:12px 14px;font-size:10px;font-weight:800;display:flex}.ticker-bar-msg{color:#fff;white-space:nowrap;text-overflow:ellipsis;flex:1;align-items:center;gap:8px;min-width:0;padding:8px 0;font-size:13px;text-decoration:none;display:flex;overflow:hidden}.ticker-bar-msg span{text-overflow:ellipsis;overflow:hidden}.ticker-bar-nav{flex-shrink:0;align-items:center;gap:2px;padding-right:8px;display:flex}.ticker-bar-nav button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;transition:background .15s;display:flex}.ticker-bar-nav button:hover{background:#ffffff1f}.ticker-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px}.birthday-card{border:1px solid var(--border);box-shadow:0 2px 12px var(--shadow);background:linear-gradient(135deg,#fffdf6 0%,#fef6e8 100%);border-radius:16px;padding:20px 24px}.birthday-card-header{align-items:center;gap:10px;margin-bottom:16px;display:flex}.birthday-card-icon{font-size:24px}.birthday-card-title{color:var(--ink);font-size:16px;font-weight:700}.birthday-section{margin-bottom:12px}.birthday-section:last-child{margin-bottom:0}.birthday-section-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:6px;font-size:11px;font-weight:700}.birthday-row{background:#fff9;border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:4px;padding:8px 12px;font-size:14px;display:flex}.birthday-row .people-icons{flex-basis:100%}.birthday-row--today{background:#fff3e0;border:1px solid #f5c576}.birthday-name{color:var(--ink);flex-shrink:0;font-weight:600}.birthday-meta{color:var(--muted);flex-shrink:0;font-size:12px}.birthday-age{color:var(--accent);flex-shrink:0;font-size:12px;font-weight:600}.anniversary-card{background:linear-gradient(135deg,#f8f6ff 0%,#f0ecff 100%)}.anniversary-card .birthday-row--today{background:#ede7f6;border-color:#b39ddb}.anniversary-card .birthday-age{color:#6a1b9a}.card-collapse{border-top:1px solid #6a1b9a1f;padding-top:10px}.card-collapse-summary{cursor:pointer;color:var(--muted);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:12px;font-weight:600;list-style:none;display:inline-flex}.card-collapse-summary::-webkit-details-marker{display:none}.card-collapse-summary:before{content:"▸";color:var(--accent);font-size:11px}.card-collapse[open] .card-collapse-summary:before{content:"▾"}.card-collapse-body{margin-top:10px}.dash-bell{background:var(--surface);border:1px solid var(--border);width:44px;height:44px;color:var(--ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;transition:background .15s,box-shadow .15s;display:flex;position:relative}.dash-bell:hover{background:var(--hover-bg,#0000000a);box-shadow:0 2px 8px var(--shadow)}.dash-bell-badge{color:#fff;background:#c0392b;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:700;line-height:1;display:flex;position:absolute;top:-2px;right:-2px}.pie-chart-wrap{align-items:center;gap:16px;display:flex}.pie-chart{border-radius:50%;flex-shrink:0;width:120px;height:120px}.pie-legend{flex-direction:column;gap:4px;font-size:12px;display:flex}.pie-legend-item{align-items:center;gap:6px;display:flex}.pie-legend-swatch{border-radius:2px;flex-shrink:0;width:10px;height:10px}.demo-summary-row{flex-wrap:wrap;gap:28px;margin-bottom:16px;display:flex}.demo-summary-item{flex-direction:column;gap:4px;min-width:80px;display:flex}.demo-summary-num{font-size:28px;font-weight:700;line-height:1.1}.demo-summary-label{color:var(--muted);font-size:12px}.demo-summary-link{color:inherit;border-radius:8px;margin:-6px -10px;padding:6px 10px;text-decoration:none;transition:background .15s}.demo-summary-link:hover{background:#0000000a}.stat-strip{flex-wrap:wrap;gap:12px;display:flex}.stat-pill{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:12px;flex:1;align-items:center;gap:8px;min-width:150px;padding:14px 20px;text-decoration:none;transition:box-shadow .2s,transform .2s;display:flex}.stat-pill:hover{box-shadow:0 6px 16px var(--shadow);transform:translateY(-1px)}.stat-pill-count{margin-right:4px;font-size:24px;font-weight:700;line-height:1}.stat-pill-label{color:var(--muted);font-size:13px}.stat-pill--alert .stat-pill-count{color:#c0392b}.stat-pill--warn .stat-pill-count{color:var(--accent)}.stat-pill--ok .stat-pill-count{color:#2e7d32}.advanced-filters{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding:12px 0;display:grid}.filter-toggle-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:4px 0;font-family:inherit;font-size:13px;font-weight:600}.filter-footer{flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;display:flex}.dp-panel{background:var(--card-bg,#fff);border:1px solid var(--border,#ddd);z-index:100;border-radius:8px;min-width:260px;margin-top:2px;padding:8px;position:absolute;top:100%;left:0;right:0;box-shadow:0 4px 16px #00000024}.dp-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.dp-nav{cursor:pointer;color:var(--ink);background:0 0;border:none;border-radius:4px;align-items:center;padding:4px 6px;display:flex}.dp-nav:hover{background:var(--hover-bg,#0000000d)}.dp-title{cursor:pointer;color:var(--ink);background:0 0;border:none;border-radius:4px;padding:4px 8px;font-family:inherit;font-size:13px;font-weight:600}.dp-title:hover{background:var(--hover-bg,#0000000d)}.dp-grid{gap:2px;display:grid}.dp-grid--7{grid-template-columns:repeat(7,1fr)}.dp-grid--3{grid-template-columns:repeat(3,1fr)}.dp-dow{text-align:center;color:var(--muted);padding:2px 0;font-size:11px;font-weight:600}.dp-cell{cursor:pointer;text-align:center;color:var(--ink);background:0 0;border:none;border-radius:6px;padding:6px 2px;font-family:inherit;font-size:13px;transition:background .1s}.dp-cell:hover{background:var(--hover-bg,#0000000f)}.dp-cell--sel{color:#fff;font-weight:600;background:var(--accent,#8b6914)!important}.dp-cell--today{box-shadow:inset 0 0 0 1px var(--accent,#8b6914);font-weight:700}.dp-cell--dis{color:#ccc;cursor:default}.dp-cell--dis:hover{background:0 0}.dp-cell--lg{padding:10px 4px;font-size:13px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.event-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.event-card{background:var(--surface);border:1px solid var(--border);box-shadow:0 4px 16px var(--shadow);cursor:pointer;color:inherit;border-radius:16px;flex-direction:column;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.event-card:hover{box-shadow:0 8px 28px var(--shadow);transform:translateY(-2px)}.event-card-img{object-fit:cover;width:100%;height:180px;color:var(--muted);background:linear-gradient(135deg,#f5ede3,#e8ddd0);justify-content:center;align-items:center;font-size:32px;display:flex}.event-card-body{flex-direction:column;flex:1;gap:8px;padding:16px;display:flex}.event-card-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:16px;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.event-card-meta{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.event-card-meta-row{align-items:center;gap:6px;display:flex}.event-card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;font-size:13px;display:flex}.event-card-price{color:var(--accent);font-weight:700}.event-card-badge{border-radius:999px;align-items:center;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.event-card-badge--free{color:#2e7d32;background:#e8f5e9}.event-card-badge--paid{color:#e65100;background:#fff3e0}.event-card-badge--registered{color:#1565c0;background:#e3f2fd}.event-detail{flex-direction:column;gap:24px;display:flex}.event-hero{background:linear-gradient(135deg,#f5ede3,#e8ddd0);border-radius:18px;min-height:240px;position:relative;overflow:hidden}.event-hero img{object-fit:cover;width:100%;height:300px}.event-hero-overlay{color:#fff;background:linear-gradient(#0000,#000000b3);padding:24px;position:absolute;bottom:0;left:0;right:0}.event-hero-title{margin:0;font-size:28px;line-height:1.2}.event-info-grid{grid-template-columns:2fr 1fr;gap:24px;display:grid}@media (max-width:900px){.event-info-grid{grid-template-columns:1fr}}.event-sidebar{flex-direction:column;gap:16px;display:flex}.event-sidebar-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:12px;padding:20px;display:flex}.event-info-row{gap:10px;font-size:14px;display:flex}.event-info-icon{text-align:center;width:20px;color:var(--accent);flex-shrink:0}.schedule-day-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.schedule-session{border:1px solid var(--border);background:#fffaf2;border-radius:12px;gap:16px;margin-bottom:8px;padding:14px 16px;display:flex}.schedule-session-time{min-width:80px;color:var(--accent);flex-shrink:0;font-size:13px;font-weight:600}.schedule-session-body{flex:1}.schedule-session-title{margin:0;font-size:15px;font-weight:600}.schedule-session-meta{color:var(--muted);margin-top:4px;font-size:13px}.schedule-session--cancelled{opacity:.5;text-decoration:line-through}.share-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.event-carousel{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:16px;padding-bottom:8px;display:flex;overflow-x:auto}.event-carousel::-webkit-scrollbar{height:4px}.event-carousel::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.event-carousel-item{scroll-snap-align:start;flex:0 0 280px}.event-form{flex-direction:column;gap:20px;max-width:720px;display:flex}.event-form-section{flex-direction:column;gap:12px;display:flex}.event-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:600px){.event-form-row,.event-grid{grid-template-columns:1fr}}.char-count{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:2px;font-size:11px;display:block}.city-dropdown{z-index:50;background:var(--card);border:1px solid var(--border);border-radius:8px;max-height:200px;margin:4px 0 0;padding:4px 0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.city-dropdown li{cursor:pointer;padding:8px 12px;font-size:14px}.city-dropdown li:hover{background:var(--hover)}.status-badge{border-radius:999px;align-items:center;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.status-badge--draft{color:#666;background:#f5f5f5}.status-badge--ready_for_review{color:#f57f17;background:#fff8e1}.status-badge--published{color:#2e7d32;background:#e8f5e9}.status-badge--live{color:#c62828;background:#fce4ec}.status-badge--cancelled{color:#c62828;background:#fbe9e7}.status-badge--completed{color:#1565c0;background:#e3f2fd}.analytics-kpi-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:20px;display:grid}.analytics-kpi-card{background:var(--card);border:1px solid var(--border);text-align:center;border-radius:8px;padding:16px 14px}.analytics-kpi-value{margin:0 0 4px;font-size:22px;font-weight:700;line-height:1.1}.analytics-kpi-label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:11px}.analytics-kpi-sub{margin:2px 0 0;font-size:10px}.analytics-realtime-bar{color:#2e7d32;background:#e8f5e9;border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:8px 16px;font-size:13px;display:flex}.analytics-realtime-dot{background:#27ae60;border-radius:50%;width:8px;height:8px;animation:2s infinite analytics-pulse}@keyframes analytics-pulse{0%,to{opacity:1}50%{opacity:.4}}.analytics-error-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-block}.analytics-error-badge--client_js{color:#e65100;background:#fff3e0}.analytics-error-badge--api_4xx{color:#f57f17;background:#fff8e1}.analytics-error-badge--api_5xx{color:#c62828;background:#fce4ec}.analytics-error-badge--resolved{color:#2e7d32;background:#e8f5e9}.analytics-perf-table{border-collapse:collapse;width:100%;font-size:13px}.analytics-perf-table th{text-transform:uppercase;letter-spacing:.3px;color:var(--muted);border-bottom:2px solid var(--border);padding:8px 10px;font-size:11px;font-weight:600}.analytics-perf-table td{border-bottom:1px solid var(--border);padding:8px 10px}.analytics-perf-table tbody tr:hover{background:var(--hover)}.analytics-skeleton{background:linear-gradient(90deg, var(--hover) 25%, var(--border) 50%, var(--hover) 75%);background-size:200% 100%;border-radius:6px;animation:1.5s infinite analytics-shimmer}@keyframes analytics-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.analytics-skeleton-kpi{height:80px}.analytics-skeleton-chart{height:200px;margin-bottom:16px}.analytics-skeleton-row{width:80%;height:16px;margin-bottom:8px}.analytics-skeleton-row:nth-child(2n){width:60%}.analytics-path-sequence{flex-wrap:wrap;align-items:center;gap:2px;display:flex}.analytics-path-step{align-items:center;gap:4px;display:inline-flex}.analytics-path-arrow{color:var(--muted);margin:0 2px;font-size:12px}.analytics-path-page{background:var(--hover);border:1px solid var(--border);white-space:nowrap;border-radius:4px;padding:2px 8px;font-family:monospace;font-size:12px}@media (max-width:600px){.analytics-kpi-grid{grid-template-columns:repeat(3,1fr);gap:8px}.analytics-kpi-card{padding:10px 8px}.analytics-kpi-value{font-size:18px}}
