@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap");@font-face{font-family:AndersonGrotesk;src:url(/fonts/AndersonGrotesk.otf) format("opentype");font-weight:400 800;font-style:normal;font-display:swap}@font-face{font-family:Ciscela;src:url(/fonts/Ciscela-Regular.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}:root{--primary-color:#1a472a;--accent-color:#c9a84c;--bg-color:#f6f4ee;--white:#fff;--gray-50:#fbfaf7;--gray-100:#f3f1eb;--gray-200:#e7e3d9;--gray-300:#d5cfc2;--gray-400:#a8a194;--gray-500:#7b756a;--gray-600:#5e594f;--gray-700:#45413a;--gray-800:#2a2723;--gray-900:#1b1916;--surface:var(--white);--surface-sunk:var(--gray-50);--line:var(--gray-200);--line-soft:var(--gray-100);--ink:var(--gray-900);--muted:var(--gray-500);--success-bg:#e8f1ea;--success-text:#1f5a35;--success-dot:#3f8f5a;--success-line:#c8dece;--danger-bg:#fbeae7;--danger-text:#9b2c20;--danger-dot:#c8443a;--danger-line:#f0cbc4;--warning-bg:#fbf2dd;--warning-text:#85570f;--warning-dot:#d39a2c;--warning-line:#efdcae;--info-bg:#e8eff4;--info-text:#2a5d7c;--info-dot:#4a86ad;--info-line:#c9dbe7;--plum-bg:#f1eaf3;--plum-text:#6a3f7a;--plum-line:#dccbe2;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-heading:"AndersonGrotesk","Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-serif:"Ciscela",Georgia,Cambria,"Times New Roman",Times,serif;--font-anderson:"AndersonGrotesk","Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-ciscela:"Ciscela",Georgia,serif;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-sm:0 1px 2px rgba(42,39,35,.04);--shadow-md:0 2px 4px rgba(42,39,35,.04),0 8px 20px rgba(42,39,35,.05);--shadow-lg:0 4px 10px rgba(42,39,35,.05),0 24px 48px rgba(42,39,35,.12);--transition-fast:0.12s ease;--transition-normal:0.2s ease;--sidebar-w:248px}.app-theme,:root{--primary-soft:color-mix(in srgb,var(--primary-color) 9%,#fff);--primary-tint:color-mix(in srgb,var(--primary-color) 14%,#fff);--primary-ink:color-mix(in srgb,var(--primary-color) 82%,#000);--accent-soft:color-mix(in srgb,var(--accent-color) 16%,#fff)}.font-anderson{font-family:var(--font-anderson)!important}.font-ciscela{font-family:var(--font-ciscela)!important}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);font-size:14px;line-height:1.5;background-color:var(--bg-color);color:var(--gray-800);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01"}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.015em;color:var(--ink)}::selection{background:var(--primary-tint)}:focus-visible{outline:2px solid color-mix(in srgb,var(--primary-color) 55%,#fff);outline-offset:2px}:is(input:not([type=checkbox],[type=radio],[type=color],[type=range],[type=file]),select,textarea):not(.m-site *){font-family:var(--font-sans);color:var(--ink);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}:is(input:not([type=checkbox],[type=radio],[type=color],[type=range],[type=file]),select,textarea):not(.m-site *):focus{outline:none;border-color:var(--primary-color)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 14%,transparent)}:is(input,textarea):not(.m-site *)::placeholder{color:var(--gray-400)}input:is([type=checkbox],[type=radio]):not(.m-site *){accent-color:var(--primary-color)}button{font-family:inherit}button:disabled{cursor:not-allowed}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:8px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--gray-400);background-clip:content-box}.ui-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.25rem}.ui-card-title{font-size:15px;letter-spacing:-.005em;color:var(--ink);margin:0 0 .875rem;display:flex;align-items:center;justify-content:space-between;gap:8px}.ui-card-title,.ui-eyebrow{font-family:var(--font-heading);font-weight:600}.ui-eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 14px;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:13px;font-weight:500;line-height:1;cursor:pointer;white-space:nowrap;text-decoration:none;border:1px solid transparent;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.ui-btn svg{flex-shrink:0}.ui-btn-sm{height:30px;padding:0 10px;font-size:12px;gap:5px}.ui-btn-lg{height:44px;padding:0 20px;font-size:14px}.ui-btn-primary{background:var(--primary-color);color:#fff;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.12),0 1px 2px rgba(0,0,0,.12)}.ui-btn-primary:hover{background:var(--primary-ink)}.ui-btn-ghost{background:var(--surface);color:var(--gray-700);border-color:var(--line);box-shadow:var(--shadow-sm)}.ui-btn-ghost:hover{border-color:var(--gray-300);color:var(--ink);background:var(--gray-50)}.ui-btn-quiet{background:transparent;color:var(--gray-600)}.ui-btn-quiet:hover{background:var(--gray-100);color:var(--ink)}.ui-btn-danger{background:var(--surface);color:var(--danger-text);border-color:var(--danger-line)}.ui-btn-danger:hover{background:var(--danger-bg)}.ui-btn:disabled{opacity:.5}.ui-badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px 0 8px;border-radius:999px;font-size:11.5px;font-weight:500;white-space:nowrap;text-transform:capitalize;border:1px solid transparent}.ui-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85}.ui-badge-success{background:var(--success-bg);color:var(--success-text);border-color:var(--success-line)}.ui-badge-danger{background:var(--danger-bg);color:var(--danger-text);border-color:var(--danger-line)}.ui-badge-warning{background:var(--warning-bg);color:var(--warning-text);border-color:var(--warning-line)}.ui-badge-info{background:var(--info-bg);color:var(--info-text);border-color:var(--info-line)}.ui-badge-neutral{background:var(--gray-100);color:var(--gray-600);border-color:var(--line)}.ui-kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1rem 1.125rem 1.05rem;display:flex;flex-direction:column;gap:2px;min-width:0}.ui-kpi-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.ui-kpi-icon{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:var(--gray-100);color:var(--gray-600)}.ui-kpi-value{font-family:var(--font-serif);font-size:30px;line-height:1.05;letter-spacing:-.01em;color:var(--ink);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-kpi-sub{font-size:12px;color:var(--muted);margin:4px 0 0}.ui-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:1.5rem}.ui-page-title{font-family:var(--font-serif);font-weight:400;font-size:32px;line-height:1.1;letter-spacing:-.01em;color:var(--ink);margin:0}.ui-page-sub{font-size:13px;color:var(--muted);margin:6px 0 0}.ui-list-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-soft)}.ui-list-row:last-child{border-bottom:none}.ui-icon-tile{width:32px;height:32px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--gray-100);color:var(--gray-600)}.ui-empty{text-align:center;padding:2.25rem 1rem;color:var(--muted)}.ui-empty-icon{width:40px;height:40px;border-radius:12px;margin:0 auto 10px;display:flex;align-items:center;justify-content:center;background:var(--gray-100);color:var(--gray-500)}.ui-table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.ui-table-scroll{overflow-x:auto}.ui-table{width:100%;border-collapse:collapse;min-width:600px}.ui-table thead tr{background:var(--gray-50);border-bottom:1px solid var(--line)}.ui-table th{padding:10px 14px;text-align:left;font-family:var(--font-heading);font-size:11px;font-weight:600;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ui-table td{padding:11px 14px;vertical-align:middle}.ui-table tbody tr{border-bottom:1px solid var(--line-soft);transition:background var(--transition-fast)}.ui-table tbody tr:last-child{border-bottom:none}.ui-table tbody tr:hover{background:var(--gray-50)}.ui-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.ui-search{position:relative;flex:1 1;min-width:220px;max-width:380px}.ui-search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--gray-400);pointer-events:none}.ui-input{width:100%;height:36px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);font-size:13px;box-shadow:var(--shadow-sm)}.ui-search .ui-input{padding-left:34px}.ui-select{height:36px;padding:0 30px 0 12px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237b756a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;-moz-appearance:none;appearance:none;-webkit-appearance:none;font-size:13px;color:var(--gray-700);cursor:pointer;box-shadow:var(--shadow-sm)}.page-pad{padding:2rem 2.25rem 3rem;max-width:1280px}.fade-in{animation:fadeIn .24s ease both}.kpi-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.kpi-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.dash-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);grid-gap:1rem;gap:1rem;align-items:start}.dash-grid>*,.settings-grid>*,.two-col>*{min-width:0}.settings-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.25rem;gap:1.25rem}.admin-wrap{display:flex;min-height:100vh}.admin-sidebar{width:var(--sidebar-w);flex-shrink:0;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh;background:var(--gray-50);border-right:1px solid var(--line)}.app-brand{gap:10px;padding:1.1rem 1rem 1rem 1.1rem}.app-brand,.app-monogram{display:flex;align-items:center}.app-monogram{width:34px;height:34px;background:var(--primary-color);color:#fff;justify-content:center;font-family:var(--font-serif);font-size:15px;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.12),0 1px 2px rgba(0,0,0,.1)}.app-logo-mark,.app-monogram{border-radius:9px;flex-shrink:0}.app-logo-mark{display:block;box-shadow:0 1px 2px rgba(0,0,0,.1)}.app-brand-name{margin:0;font-family:var(--font-heading);font-size:14px;font-weight:600;color:var(--ink);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-brand-sub{margin:1px 0 0;font-size:11.5px;color:var(--muted)}.app-nav{flex:1 1;overflow-y:auto;padding:.25rem .75rem 1rem}.app-nav-label{font-family:var(--font-heading);font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--gray-400);padding:14px 10px 6px;margin:0}.app-nav-item{display:flex;align-items:center;gap:10px;height:34px;padding:0 10px;border-radius:8px;font-size:13.5px;font-weight:450;color:var(--gray-600);text-decoration:none;margin-bottom:1px;transition:background var(--transition-fast),color var(--transition-fast)}.app-nav-item svg{color:var(--gray-400);flex-shrink:0;transition:color var(--transition-fast)}.app-nav-item:hover{background:var(--gray-100);color:var(--ink)}.app-nav-item:hover svg{color:var(--gray-600)}.app-nav-item.is-active{background:var(--surface);color:var(--ink);font-weight:550;box-shadow:0 0 0 1px var(--line),var(--shadow-sm)}.app-nav-item.is-active svg{color:var(--primary-color)}.app-nav-count{margin-left:auto;font-size:11px;font-weight:600;min-width:20px;height:18px;padding:0 6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--gray-200);color:var(--gray-600)}.app-nav-count.is-alert{background:var(--danger-bg);color:var(--danger-text)}.app-sidebar-foot{padding:.75rem;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px}.admin-mobile-bar{display:none}.admin-main{flex:1 1;min-width:0}.app-topbar{height:56px;background:color-mix(in srgb,var(--bg-color) 82%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line);justify-content:space-between;padding:0 2.25rem;position:-webkit-sticky;position:sticky;top:0;z-index:20}.app-crumbs,.app-topbar{display:flex;align-items:center}.app-crumbs{gap:8px;font-size:13px;color:var(--muted);min-width:0}.app-crumbs strong{color:var(--ink);font-weight:550}.app-live{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--gray-600)}.app-live:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--success-dot);box-shadow:0 0 0 3px color-mix(in srgb,var(--success-dot) 20%,transparent)}.app-user{display:flex;align-items:center;gap:10px}.app-user-name{font-size:13px;font-weight:550;color:var(--ink);line-height:1.15}.app-user-role{font-size:11.5px;color:var(--muted);line-height:1.15}.app-impersonate{position:fixed;top:0;left:0;right:0;height:40px;z-index:9999;background:var(--gray-900);color:#f3f1eb;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 1rem;font-size:12.5px;border-bottom:2px solid var(--warning-dot)}.hh-top-links{display:flex}.admin-bottom-nav,.hh-bottom-nav{display:none}.hh-header{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg-color) 85%,transparent);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}.hh-header-inner{max-width:960px;margin:0 auto;padding:0 1.25rem;height:60px;display:flex;align-items:center;gap:1.5rem}.hh-link{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border-radius:8px;font-size:13.5px;color:var(--gray-600);text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast)}.hh-link:hover{background:var(--gray-100);color:var(--ink)}.hh-link.is-active{color:var(--ink);font-weight:550;background:var(--surface);box-shadow:0 0 0 1px var(--line),var(--shadow-sm)}.hh-link.is-active svg{color:var(--primary-color)}.hh-content{max-width:960px;margin:0 auto;padding:2rem 1.25rem 3rem}.app-tabbar{position:fixed;bottom:0;left:0;right:0;z-index:50;display:flex;align-items:stretch;justify-content:space-around;padding:6px 4px calc(6px + env(safe-area-inset-bottom, 0px));background:color-mix(in srgb,var(--white) 88%,transparent);backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px);border-top:1px solid var(--line)}.app-tab{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px 0;border:none;background:transparent;cursor:pointer;text-decoration:none;color:var(--gray-500);font-size:10.5px;font-weight:500;position:relative}.app-tab.is-active{color:var(--primary-color);font-weight:600}.app-tab-badge{position:absolute;top:0;left:calc(50% + 6px);background:var(--danger-dot);color:#fff;font-size:9.5px;font-weight:700;min-width:16px;height:16px;padding:0 4px;border-radius:999px;display:inline-flex;border:2px solid var(--white)}.app-tab-badge,.modal-wrap{align-items:center;justify-content:center}.modal-wrap{position:fixed;inset:0;background:rgba(27,25,22,.42);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;z-index:100;padding:1rem;animation:fadeIn var(--transition-normal)}.modal-card{width:480px;max-width:100%;max-height:90vh;overflow-y:auto;background:var(--white);border-radius:var(--radius-xl);border:1px solid var(--line);padding:1.75rem;box-shadow:var(--shadow-lg);animation:slideUp .22s cubic-bezier(.2,.8,.2,1)}.table-dt{display:table;width:100%;border-collapse:collapse}.table-mob{display:none;flex-direction:column;gap:10px;padding:10px}.mobile-only-banner{display:none!important}.two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.25rem;gap:1.25rem}.span-2{grid-column:span 2}.flex-row{display:flex;align-items:center;gap:1.25rem}.grp-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;border:1px solid;font-size:11.5px;font-weight:600;white-space:nowrap}.grp-chip i{width:7px;height:7px;border-radius:7px;display:inline-block}.auth-split{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);background:var(--bg-color)}.auth-split-staff{grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}.auth-panel{display:flex;flex-direction:column;padding:2rem clamp(1.25rem,5vw,4.5rem)}.auth-form-wrap{width:100%;max-width:400px;margin:auto 0;padding:2.5rem 0}.auth-title{font-family:var(--font-serif);font-weight:400;font-size:38px;line-height:1.08;letter-spacing:-.015em;color:var(--ink);margin:0 0 8px}.auth-sub{font-size:14px;color:var(--muted);margin:0 0 1.75rem;line-height:1.55}.auth-label{display:block;font-size:12.5px;font-weight:550;color:var(--gray-700);margin:0 0 6px}.auth-input{width:100%;height:44px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:14px;box-shadow:var(--shadow-sm)}.auth-art{position:relative;margin:12px 12px 12px 0;border-radius:20px;overflow:hidden;background:var(--primary-color);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:2.5rem}.auth-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.auth-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,20,14,0) 35%,rgba(10,20,14,.78))}.auth-art>:not(img){position:relative;z-index:1}.shape-el{transition:box-shadow var(--transition-fast)}.shape-el:hover{z-index:15!important}.pin-el{transition:transform var(--transition-fast)}.pin-el:hover{transform:translate(-50%,-100%) scale(1.1)!important}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width:1100px){.kpi-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:900px){.auth-split{grid-template-columns:1fr}.auth-art{display:none}}@media (max-width:768px){input,select,textarea{font-size:16px!important}.page-pad{padding:1.1rem 1rem calc(96px + env(safe-area-inset-bottom, 0px))}.ui-page-head{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:1.1rem}.ui-page-title{font-size:26px}.ui-kpi-value{font-size:24px}.kpi-grid-3,.kpi-grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dash-grid,.settings-grid{grid-template-columns:minmax(0,1fr);gap:.875rem}.admin-wrap{flex-direction:column}.admin-sidebar,.app-topbar{display:none}.admin-mobile-bar{display:flex;align-items:center;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:50;padding:0 1rem;height:56px;background:color-mix(in srgb,var(--bg-color) 88%,transparent);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}.hh-top-links{display:none!important}.hh-header-inner{height:56px}.hh-content{padding:1.1rem 1rem calc(96px + env(safe-area-inset-bottom, 0px))}.app-impersonate{height:auto;min-height:40px;flex-wrap:wrap;padding:6px 12px}.modal-wrap{align-items:flex-end;padding:0}body:has(.modal-wrap:not(.more-sheet)) .app-tabbar{display:none}.modal-wrap.more-sheet{top:56px;bottom:calc(58px + env(safe-area-inset-bottom, 0px));z-index:45}.modal-wrap.more-sheet .modal-card{max-height:100%;padding-bottom:1.25rem}body:has(.app-tabbar) .ui-savebar{bottom:calc(58px + env(safe-area-inset-bottom, 0px))!important}.modal-card{width:100%;border-radius:20px 20px 0 0;border-bottom:none;max-height:92vh;padding:1.5rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom, 0px))}.table-dt{display:none!important}.table-mob{display:flex!important}.two-col{grid-template-columns:minmax(0,1fr)}.span-2{grid-column:1/-1}.flex-row{flex-wrap:wrap}}