:root{
  --brand:#ff6900;
  --brand-2:#ff8a3d;
  --brand-dark:#8a3100;
  --ink:#171520;
  --muted:#74717d;
  --surface:#ffffff;
  --surface-soft:#f6f5f9;
  --line:#e9e6ef;
  --success:#006d1b;
  --warning:#df8623;
  --shadow:0 22px 60px rgba(37,23,76,.10);
  --radius:22px;
  --font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:var(--font);color:var(--ink);background:#f7f4f1}
button,input,select{font:inherit}
button{cursor:pointer}
svg{display:block;fill:currentColor}
[hidden]{display:none!important}
.toast{position:fixed;z-index:100;right:24px;top:24px;background:#171520;color:white;padding:14px 18px;border-radius:14px;box-shadow:var(--shadow);opacity:0;transform:translateY(-8px);pointer-events:none;transition:.25s;max-width:360px;font-size:14px}
.toast.show{opacity:1;transform:translateY(0)}
.brand-lockup{display:flex;flex-direction:column;line-height:.78;letter-spacing:-.055em;width:max-content}
.brand-word{font-size:29px;font-weight:950}
.brand-frequency{font-size:15px;font-weight:900;letter-spacing:.17em;margin-top:9px}
.brand-lockup-light{color:white}
.login-view{min-height:100vh;display:grid;grid-template-columns:minmax(440px,1.08fr) minmax(480px,.92fr);background:white}
.login-brand{position:relative;overflow:hidden;display:flex;align-items:center;padding:70px;background:linear-gradient(145deg,#7a2a00 0%,#c64b00 42%,#ff6900 100%)}
.login-brand:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 74% 25%,rgba(255,255,255,.22),transparent 21%),linear-gradient(135deg,transparent 43%,rgba(255,255,255,.06) 43%,rgba(255,255,255,.06) 44%,transparent 44%)}
.brand-noise{position:absolute;inset:0;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E")}
.brand-orb{position:absolute;border-radius:50%;filter:blur(1px);opacity:.7}
.orb-one{width:430px;height:430px;right:-170px;bottom:-150px;border:80px solid rgba(255,255,255,.08)}
.orb-two{width:260px;height:260px;right:70px;top:-110px;background:rgba(255,196,153,.20)}
.login-brand-inner{position:relative;z-index:1;color:white;max-width:680px}
.anniversary-pill{margin-top:105px;display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.10);backdrop-filter:blur(12px);padding:8px 15px 8px 9px;border-radius:999px;text-transform:uppercase;font-size:11px;letter-spacing:.17em;font-weight:800}
.anniversary-pill span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:white;color:var(--brand-dark);font-size:16px;letter-spacing:0}
.login-brand h1{font-size:clamp(34px,3.15vw,54px);line-height:1.08;letter-spacing:-.045em;margin:25px 0 20px;font-weight:850;max-width:610px}
.login-brand p{font-size:18px;line-height:1.7;color:rgba(255,255,255,.76);max-width:520px}
.privacy-note{display:flex;align-items:center;gap:11px;margin-top:80px;font-size:12px;color:rgba(255,255,255,.68)}
.privacy-note svg{width:18px;height:18px;color:#ffe0ca}
.login-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:55px 70px;background:linear-gradient(180deg,#fff 0%,#fffaf6 100%)}
.login-card{width:min(100%,450px)}
.mobile-brand{display:none;color:var(--brand-dark);margin-bottom:50px}
.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:850;color:var(--brand);margin-bottom:12px}
.login-card h2{font-size:42px;letter-spacing:-.04em;margin:0 0 10px}
.lead{color:var(--muted);font-size:15px;line-height:1.6;margin:0 0 38px}
form label{display:block;font-size:12px;font-weight:760;margin:0 0 9px;color:#393541}
.label-row{display:flex;justify-content:space-between;align-items:center;margin-top:22px}
.label-row label{margin:0}
.link-button{border:0;background:none;color:var(--brand);font-size:11px;font-weight:750;padding:0}
.input-wrap{position:relative;display:flex;align-items:center}
.input-wrap>svg{position:absolute;left:15px;width:19px;height:19px;color:#aaa5b2}
.input-wrap input{width:100%;height:54px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:0 48px 0 46px;outline:none;font-size:14px;transition:.2s;box-shadow:0 3px 10px rgba(33,24,57,.02)}
.input-wrap input:focus{border-color:#ff9b57;box-shadow:0 0 0 4px rgba(255,105,0,.10)}
.icon-button{border:0;background:transparent;padding:8px;color:inherit;display:grid;place-items:center}
.icon-button svg{width:21px;height:21px}
.eye-button{position:absolute;right:7px;color:#aaa5b2}
.check-row{display:flex!important;align-items:center;gap:9px;margin:20px 0 25px!important;color:var(--muted)!important;font-weight:500!important}
.check-row input{width:17px;height:17px;accent-color:var(--brand)}
.primary-button,.secondary-button{height:50px;border-radius:13px;border:0;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:780;font-size:13px;transition:.2s}
.primary-button{background:linear-gradient(135deg,var(--brand),#ff8a3d);color:white;box-shadow:0 10px 24px rgba(255,105,0,.22)}
.primary-button:hover{transform:translateY(-1px);box-shadow:0 13px 28px rgba(255,105,0,.30)}
.primary-button svg,.secondary-button svg{width:19px;height:19px}
.login-card .primary-button{width:100%;height:56px}
.secondary-button{background:white;color:#383441;border:1px solid var(--line);box-shadow:0 4px 12px rgba(34,25,57,.03)}
.secondary-button:hover{border-color:#ead1c2;background:#fffaf6}
.demo-hint{text-align:center;color:#aaa5b2;font-size:11px;margin-top:18px}
.login-footer{font-size:11px;color:#aaa5b2;margin:70px 0 0}
.dashboard-view{min-height:100vh;background:#f7f5f3;display:flex}
.sidebar{position:fixed;z-index:30;inset:0 auto 0 0;width:252px;background:linear-gradient(180deg,#6f2600,#8a3100 75%,#a83c00);color:white;padding:30px 22px 24px;display:flex;flex-direction:column}
.sidebar-top{display:flex;align-items:center;justify-content:space-between;padding:0 9px 32px}
.sidebar-logo .brand-word{font-size:22px}.sidebar-logo .brand-frequency{font-size:11px;margin-top:8px}
.close-sidebar{display:none}
.sidebar nav{display:flex;flex-direction:column;gap:6px}
.nav-item{width:100%;border:0;color:rgba(255,255,255,.63);background:transparent;border-radius:12px;padding:12px 13px;display:flex;align-items:center;gap:13px;text-align:left;font-size:13px;font-weight:650;transition:.2s}
.nav-item svg{width:19px;height:19px}.nav-item:hover{color:white;background:rgba(255,255,255,.07)}.nav-item.active{color:white;background:linear-gradient(135deg,rgba(255,255,255,.19),rgba(255,255,255,.10));box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.nav-count{margin-left:auto;font-size:10px;padding:4px 7px;border-radius:99px;background:rgba(255,255,255,.12)}
.sidebar-card{margin:auto 3px 18px;padding:14px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.07);border-radius:15px;display:flex;align-items:center;gap:12px}
.mini-anniversary{width:40px;height:40px;border-radius:12px;background:white;color:var(--brand-dark);font-size:19px;font-weight:900;display:grid;place-items:center}.sidebar-card strong,.sidebar-card span{display:block}.sidebar-card strong{font-size:12px}.sidebar-card span{font-size:9px;color:rgba(255,255,255,.57);margin-top:3px}
.logout{border-top:1px solid rgba(255,255,255,.10);border-radius:0;padding-top:18px}
.dashboard-main{margin-left:252px;min-width:0;width:calc(100% - 252px)}
.topbar{height:78px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 34px;position:sticky;top:0;z-index:20}
.menu-button{display:none;margin-right:10px}.topbar-title{display:flex;flex-direction:column}.topbar-title span{font-size:10px;color:#98939f;text-transform:uppercase;letter-spacing:.12em}.topbar-title strong{font-size:14px;margin-top:3px}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:16px}.notification-button{position:relative;color:#706b77}.notification-button span{position:absolute;width:7px;height:7px;background:#ff4d72;border-radius:50%;right:6px;top:6px;border:2px solid white}.user-chip{display:flex;align-items:center;gap:10px;padding-left:14px;border-left:1px solid var(--line)}.avatar{width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,#ff6900,#ff9a58);color:white;display:grid;place-items:center;font-size:11px;font-weight:800}.user-chip strong,.user-chip span{display:block}.user-chip strong{font-size:12px}.user-chip span{font-size:9px;color:#938e9a;margin-top:2px}.user-chip>svg{width:18px;height:18px;color:#aaa5b2;margin-left:6px}
.content-shell{padding:38px 40px 24px;max-width:1640px;margin:auto}
.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.page-heading .eyebrow{margin-bottom:8px}.page-heading h1{font-size:32px;letter-spacing:-.035em;margin:0}.page-heading p{color:var(--muted);font-size:13px;margin:7px 0 0}.heading-actions{display:flex;gap:10px}.compact{height:47px}.metrics-grid{display:grid;grid-template-columns:1.45fr repeat(3,1fr);gap:15px;margin-bottom:18px}.metric-card{min-height:145px;background:white;border:1px solid rgba(223,219,231,.75);border-radius:18px;padding:22px;display:flex;align-items:flex-start;gap:15px;box-shadow:0 8px 30px rgba(36,27,57,.035);position:relative;overflow:hidden}.metric-featured{background:linear-gradient(140deg,#c64b00,#ff6900);color:white;border:0}.metric-icon{width:42px;height:42px;border-radius:13px;background:rgba(255,255,255,.13);display:grid;place-items:center;flex:0 0 auto}.metric-icon svg{width:21px;height:21px}.pale-purple{background:#fff0e6;color:#d95100}.pale-blue{background:#e7f2ff;color:#3283d7}.pale-green{background:#e9f8f1;color:#1a9c68}.metric-card span,.metric-card strong,.metric-card small{display:block}.metric-card span{font-size:11px;color:#8b8692;margin-top:2px}.metric-featured span{color:rgba(255,255,255,.72)}.metric-card strong{font-size:29px;letter-spacing:-.04em;margin-top:7px}.metric-card small{font-size:10px;color:#99949f;margin-top:9px}.metric-featured small{color:rgba(255,255,255,.60)}.metric-featured small b{color:#99f5cb}.date-value{font-size:20px!important;margin-top:12px!important}.metric-spark{position:absolute;display:flex;align-items:flex-end;gap:5px;height:65px;right:18px;bottom:19px}.metric-spark i{width:6px;border-radius:99px;background:rgba(255,255,255,.24)}
.table-card{background:white;border:1px solid rgba(223,219,231,.8);border-radius:20px;box-shadow:0 10px 35px rgba(36,27,57,.04);overflow:hidden}.table-toolbar{padding:20px 20px 14px;display:flex;gap:15px;justify-content:space-between}.search-box{position:relative;width:min(480px,100%);display:flex;align-items:center}.search-box svg{position:absolute;left:14px;width:19px;height:19px;color:#9d98a4}.search-box input{width:100%;height:45px;padding:0 15px 0 43px;border:1px solid var(--line);border-radius:12px;outline:none;background:#fbfafc;font-size:12px}.search-box input:focus{border-color:#ff9b57;box-shadow:0 0 0 3px rgba(255,105,0,.08);background:white}.toolbar-right{display:flex;gap:8px}.toolbar-right select,.table-footer select{border:1px solid var(--line);border-radius:11px;background:white;color:#68636e;padding:0 35px 0 12px;font-size:11px}.icon-only{width:45px;padding:0}.table-meta{border-top:1px solid #f1eff4;border-bottom:1px solid #f1eff4;padding:10px 20px;display:flex;justify-content:space-between;font-size:10px;color:#98939f}.sync-state{display:flex;align-items:center;gap:7px}.sync-state i{width:7px;height:7px;background:#18b473;border-radius:50%;box-shadow:0 0 0 4px rgba(24,180,115,.10)}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:1060px}th{background:#faf9fb;color:#8e8995;text-align:left;text-transform:uppercase;letter-spacing:.08em;font-size:9px;padding:12px 14px;font-weight:800;border-bottom:1px solid #f0edf3}td{padding:14px;border-bottom:1px solid #f2f0f4;font-size:11px;color:#5f5a66}tbody tr:hover{background:#fcfbfe}th:first-child,td:first-child{padding-left:20px;width:42px}th:last-child,td:last-child{padding-right:20px}.person-cell{display:flex;align-items:center;gap:11px}.person-avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#fff0e6;color:#c64b00;font-weight:800;font-size:10px}.person-cell strong,.person-cell span{display:block}.person-cell strong{color:#2d2933;font-size:11px}.person-cell span{font-size:9px;color:#aaa5b0;margin-top:3px}.status{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:99px;font-size:9px;font-weight:750}.status:before{content:"";width:6px;height:6px;border-radius:50%}.verified{background:#eaf8f2;color:#16845a}.verified:before{background:#20ad76}.review{background:#fff3e6;color:#b96813}.review:before{background:#e49335}.row-menu{border:0;background:transparent;color:#aaa5b0;font-size:20px;line-height:1}.table-footer{height:62px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;color:#8b8692;font-size:10px}.table-footer select{height:33px;margin-left:6px;padding-right:23px}.pagination{display:flex;align-items:center;gap:5px}.pagination button{border:1px solid var(--line);background:white;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;color:#756f7b;font-size:10px}.pagination button svg{width:16px;height:16px}.pagination button.active{background:var(--brand);color:white;border-color:var(--brand)}.pagination button:disabled{opacity:.35}.dashboard-footer{display:flex;justify-content:space-between;color:#a19ca7;font-size:9px;padding:20px 3px 0}.modal-backdrop{position:fixed;z-index:90;inset:0;background:rgba(67,24,0,.55);backdrop-filter:blur(5px);display:grid;place-items:center;padding:20px}.modal{position:relative;width:min(520px,100%);background:white;border-radius:22px;padding:34px;box-shadow:0 30px 90px rgba(67,24,0,.28);text-align:center}.modal-close{position:absolute;right:14px;top:14px;color:#918b98}.modal-icon{width:54px;height:54px;border-radius:17px;margin:0 auto 17px;display:grid;place-items:center;background:#fff0e6;color:var(--brand)}.modal-icon svg{width:25px;height:25px}.modal h3{font-size:22px;margin:0 0 8px}.modal p{font-size:12px;line-height:1.6;color:var(--muted);margin:0 auto 20px;max-width:400px}.drop-zone{border:1.5px dashed #edc7ad;background:#fffaf6;border-radius:16px;padding:30px 15px;display:flex;flex-direction:column;gap:7px}.drop-zone strong{font-size:13px}.drop-zone span{font-size:11px;color:var(--brand)}.drop-zone small{font-size:9px;color:#aaa5b0}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}
@media(max-width:1180px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.metric-featured{grid-column:span 1}.login-brand{padding:50px}.login-panel{padding:50px}.login-brand h1{font-size:40px}}
@media(max-width:900px){.login-view{grid-template-columns:1fr}.login-brand{display:none}.login-panel{min-height:100vh;padding:40px 24px}.mobile-brand{display:flex}.login-footer{margin-top:55px}.sidebar{transform:translateX(-100%);transition:.25s;box-shadow:20px 0 55px rgba(87,31,0,.22)}.sidebar.open{transform:translateX(0)}.close-sidebar{display:grid;color:white}.dashboard-main{margin-left:0;width:100%}.menu-button{display:grid}.content-shell{padding:30px 22px}.topbar{padding:0 20px}}
@media(max-width:680px){.topbar-title span,.user-chip>div,.user-chip>svg{display:none}.user-chip{padding-left:8px}.topbar-actions{gap:5px}.page-heading{align-items:flex-start;flex-direction:column}.heading-actions{width:100%}.heading-actions button{flex:1}.metrics-grid{grid-template-columns:1fr}.table-toolbar{flex-direction:column}.search-box{width:100%}.toolbar-right{justify-content:space-between}.toolbar-right select{flex:1}.table-meta{gap:20px}.table-footer{align-items:flex-start;height:auto;padding:15px;gap:15px;flex-direction:column}.dashboard-footer{flex-direction:column;gap:5px}.content-shell{padding:26px 14px}.page-heading h1{font-size:27px}.secondary-button,.primary-button{font-size:11px;padding:0 12px}.metric-card{min-height:128px}.metric-spark{display:none}.modal{padding:30px 20px}}

.brand-logo-image{display:block;width:min(360px,78%);height:auto;object-fit:contain}.login-brand .brand-logo-image{margin-bottom:10px}.sidebar-logo-image{width:150px;height:auto;display:block;margin:0 0 4px}.mobile-logo-image{display:none;width:170px;height:auto;filter:invert(1);background:#ff6900;border-radius:12px;padding:8px;margin-bottom:42px}.brand-lockup-fallback{display:none}@media(max-width:900px){.mobile-logo-image{display:block}}

/* Functional portal additions */
.app-loader{position:fixed;inset:0;z-index:200;background:#fffaf6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#716b75;font-size:13px}.loader-ring{width:42px;height:42px;border:4px solid #ffe5d3;border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.form-message{min-height:18px;text-align:center;font-size:11px;margin:14px 0 0;color:#a33}.form-message.success{color:var(--success)}.form-message.error{color:#b22b2b}
button:disabled{cursor:not-allowed;opacity:.55;transform:none!important;box-shadow:none!important}.button-loading{position:relative;color:transparent!important}.button-loading:after{content:"";position:absolute;width:18px;height:18px;border:2px solid rgba(255,255,255,.45);border-top-color:white;border-radius:50%;animation:spin .7s linear infinite}
.mobile-logo-wrap{display:none;background:var(--brand);border-radius:16px;padding:13px;margin-bottom:40px;width:190px}.mobile-logo-image{display:block!important;width:100%;height:auto;margin:0!important;padding:0!important;background:none!important;filter:none!important}
.portal-section{animation:fadeIn .2s ease}@keyframes fadeIn{from{opacity:.2;transform:translateY(3px)}to{opacity:1;transform:none}}
.pale-orange{background:#fff0e6;color:#d95100}.metric-featured small b{color:#c9f8d3}
.empty-row td{text-align:center;padding:52px 20px!important;color:#9e98a2}.empty-state{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px}.empty-state strong{color:#4b4650;font-size:13px}.empty-state span{font-size:11px}
.address-cell{max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.date-cell{white-space:nowrap}.row-action{border:1px solid var(--line);background:white;color:#817b86;border-radius:9px;padding:7px 10px;font-size:10px;font-weight:700}.row-action:hover{border-color:#ffc39b;color:var(--brand);background:#fffaf6}
.duplicate{background:#fff0e6;color:#b24d0a}.duplicate:before{background:var(--brand)}.inactive{background:#f2f0f4;color:#746e79}.inactive:before{background:#9c96a0}
.pagination span{padding:0 3px;color:#aaa5b0}.pagination button.wide{width:auto;min-width:32px;padding:0 9px}
.modal-wide{width:min(720px,100%)}.drop-zone{cursor:pointer;transition:.2s}.drop-zone:hover,.drop-zone.dragging{border-color:var(--brand);background:#fff4ec}.import-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;text-align:left}.import-options label{border:1px solid var(--line);border-radius:13px;padding:13px;display:flex;gap:10px;cursor:pointer}.import-options label:has(input:checked){border-color:#ffb17c;background:#fff8f3}.import-options input{accent-color:var(--brand);margin-top:2px}.import-options strong,.import-options small{display:block}.import-options strong{font-size:11px}.import-options small{font-size:9px;color:#96909a;margin-top:4px;line-height:1.4}.import-preview{margin-top:15px;padding:13px;border-radius:13px;background:#f8f7f9;text-align:left;font-size:11px;line-height:1.65}.import-preview strong{color:#332f38}.progress-wrap{margin-top:17px;text-align:left}.progress-bar{height:9px;border-radius:99px;background:#eee9e6;overflow:hidden}.progress-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--brand),#ff9855);transition:.25s}.progress-wrap span{font-size:10px;color:#817b85;display:block;margin-top:7px}
.detail-modal{text-align:left}.detail-heading{display:flex;align-items:center;gap:15px;margin-bottom:26px}.detail-heading h3{margin:2px 0 8px;font-size:24px}.person-avatar.large{width:54px;height:54px;border-radius:16px;font-size:14px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.detail-item{padding:14px;border:1px solid var(--line);border-radius:13px;background:#fcfbfc}.detail-item.full{grid-column:1/-1}.detail-item span,.detail-item strong{display:block}.detail-item span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#99939e;font-weight:800;margin-bottom:6px}.detail-item strong{font-size:12px;color:#38333d;line-height:1.5;word-break:break-word}
.users-table,.activity-table{min-width:800px}.role-select,.active-select{height:36px;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:white;font-size:10px}.save-user-button{border:0;background:var(--brand);color:white;border-radius:9px;padding:9px 12px;font-size:10px;font-weight:750}.activity-details{max-width:500px;white-space:normal;word-break:break-word;font-size:10px;color:#77717b}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;color:#8d8791}
.toast.error{background:#991f1f}.toast.success{background:#075c19}.toast.warning{background:#8d4a0c}
@media(max-width:900px){.mobile-logo-wrap{display:block}.login-card{display:flex;flex-direction:column}.login-card .eyebrow{margin-top:0}}
@media(max-width:680px){.import-options{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.detail-item.full{grid-column:auto}.modal-wide{max-height:92vh;overflow:auto}.heading-actions{flex-wrap:wrap}.table-meta{flex-direction:column}.mobile-logo-wrap{width:165px;margin-bottom:28px}}
