:root{--ink:#17272d;--muted:#6f7e82;--paper:#f4f7f6;--surface:#fff;--line:#dfe8e5;--deep:#123b3c;--teal:#197e78;--teal-soft:#dff1ed;--blue:#2d6892;--blue-soft:#e2edf5;--amber:#b06d28;--amber-soft:#f6eadb;--green:#527b55;--green-soft:#e5efe3;--shadow:0 18px 50px #18383712}*{box-sizing:border-box}html,body{background:var(--paper);min-height:100%;color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,a{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:252px 1fr;min-height:100vh;display:grid}.sidebar{color:#e8f4f1;background:radial-gradient(circle at 0 0,#4b988d47,#0000 33%),linear-gradient(165deg,#173f40 0%,#0f3033 100%);flex-direction:column;height:100vh;padding:30px 20px 22px;display:flex;position:sticky;top:0}.brand,.profile,.sidebar-footer{align-items:center;gap:12px;display:flex}.brand{padding:0 8px 31px}.brand-mark,.avatar{letter-spacing:-.04em;flex:none;place-items:center;font-weight:800;display:grid}.brand-mark{color:#133a3b;background:#cce8df;border:1px solid #ffffff3d;border-radius:13px;width:42px;height:42px}.brand strong,.profile strong,.sidebar-footer strong{font-size:14px;display:block}.brand small,.profile small,.sidebar-footer small{color:#e8f4f19e;margin-top:3px;font-size:11px;display:block}.nav-caption{color:#e8f4f16e;letter-spacing:.16em;margin:0 12px 10px;font-size:10px;font-weight:800}.nav-item{color:#eef8f5b8;border:1px solid #0000;border-radius:12px;align-items:center;gap:12px;margin:4px 0;padding:11px 12px;font-size:13px;font-weight:650;text-decoration:none;transition:background .16s,color .16s;display:flex}.nav-item:hover,.nav-item.active{color:#fff;background:#ffffff17;border-color:#ffffff14}.nav-icon{color:#c6e5dc;letter-spacing:.04em;background:#ffffff14;border-radius:9px;place-items:center;width:29px;height:29px;font-size:9px;font-weight:800;display:grid}.nav-item.active .nav-icon{color:#143d3e;background:#c8e8df}.sidebar-footer{border-top:1px solid #ffffff1c;margin-top:auto;padding:14px 12px 2px}.environment-dot{background:#74d6a0;border:2px solid #95e3bd40;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 5px #74d6a014}.content{min-width:0;padding:0 38px 46px}.topbar{justify-content:space-between;align-items:center;min-height:98px;display:flex}.eyebrow,.hero-label{color:var(--teal);letter-spacing:.15em;font-size:10px;font-weight:850}.topbar h1{letter-spacing:-.025em;margin:5px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(25px,3vw,34px);font-weight:500}.topbar-actions{align-items:center;gap:19px;display:flex}.icon-button{border:1px solid var(--line);width:42px;height:42px;color:var(--deep);background:var(--surface);border-radius:13px;position:relative}.notification-ring{border:2px solid var(--paper);color:#fff;background:#c66a42;border-radius:50%;place-items:center;width:18px;height:18px;font-size:9px;font-weight:800;display:grid;position:absolute;top:-5px;right:-5px}.profile{border-left:1px solid var(--line);padding-left:18px}.profile small{color:var(--muted)}.profile-link{color:inherit;text-decoration:none}.avatar{color:#fff;background:var(--teal);border-radius:12px;width:39px;height:39px;font-size:12px}.hero{color:#f1fbf8;min-height:202px;box-shadow:var(--shadow);background:linear-gradient(90deg,#0b3436fa,#124541db),radial-gradient(circle at 80% 10%,#6faaa0,#0000 50%);border-radius:24px;justify-content:space-between;align-items:flex-end;padding:38px 42px;display:flex;position:relative;overflow:hidden}.hero:after{content:"";border:1px solid #ffffff1f;border-radius:50%;width:360px;height:360px;position:absolute;top:-145px;right:-85px;box-shadow:0 0 0 42px #ffffff06,0 0 0 87px #ffffff05}.hero>*{z-index:1;position:relative}.hero-label{color:#8bd0c1}.hero h2{letter-spacing:-.035em;max-width:600px;margin:10px 0 8px;font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,4vw,46px);font-weight:500;line-height:1.03}.hero p{color:#ebf8f4a8;max-width:660px;margin:0;font-size:13px;line-height:1.6}.hero-status{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:14px;align-items:center;gap:12px;min-width:235px;margin-left:34px;padding:14px 16px;display:flex}.hero-status strong,.hero-status small{font-size:11px;display:block}.hero-status small{color:#ebf8f491;margin-top:3px}.pulse{background:#76d7a3;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 6px #76d7a31a}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0;display:grid}.metric-card,.panel{background:var(--surface);box-shadow:var(--shadow);border:1px solid #1c474314}.metric-card{border-radius:18px;min-height:156px;padding:20px;position:relative}.metric-heading{justify-content:space-between;align-items:center;display:flex}.metric-symbol{border-radius:10px;place-items:center;width:32px;height:32px;font-size:12px;font-weight:850;display:grid}.teal .metric-symbol{color:var(--teal);background:var(--teal-soft)}.blue .metric-symbol{color:var(--blue);background:var(--blue-soft)}.amber .metric-symbol{color:var(--amber);background:var(--amber-soft)}.green .metric-symbol{color:var(--green);background:var(--green-soft)}.trend{color:#8b999b;letter-spacing:.12em;font-size:8px;font-weight:850}.metric-value{margin-top:16px;font-family:Georgia,Times New Roman,serif;font-size:31px;font-weight:500;line-height:1;display:block}.metric-label{margin-top:5px;font-size:12px;font-weight:750;display:block}.metric-card small{color:var(--muted);margin-top:5px;font-size:10px;display:block}.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.85fr);gap:18px;display:grid}.panel{border-radius:20px;padding:25px}.panel-title{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.panel-title h3{letter-spacing:-.018em;margin:5px 0 0;font-family:Georgia,Times New Roman,serif;font-size:21px;font-weight:500}.text-button{color:var(--teal);background:0 0;border:0;font-size:10px;font-weight:800}.stage-list{gap:18px;margin-top:25px;display:grid}.stage-copy,.campaign-progress>div:first-child{justify-content:space-between;align-items:center;display:flex}.stage-copy span{align-items:baseline;gap:9px;display:flex}.stage-copy strong{font-size:12px}.stage-copy small{color:var(--muted);font-size:9px}.progress-track{background:#ebf0ef;border-radius:99px;height:5px;margin-top:8px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg,#58a69b,#1f7774);height:100%;display:block}.live-badge{color:#29714d;letter-spacing:.1em;background:#dff1e4;border-radius:99px;padding:6px 9px;font-size:8px;font-weight:900}.campaign-date{background:#f2f7f5;border-radius:14px;align-items:center;gap:13px;margin-top:24px;padding:15px;display:flex}.campaign-date>span{font-family:Georgia,Times New Roman,serif;font-size:31px;line-height:1}.campaign-date strong,.campaign-date small{display:block}.campaign-date strong{color:var(--teal);letter-spacing:.13em;font-size:9px}.campaign-date small{color:var(--muted);margin-top:4px;font-size:9px}.campaign-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0;display:grid}.campaign-stats div{border-right:1px solid var(--line);padding-right:8px}.campaign-stats div:last-child{border-right:0}.campaign-stats dt{color:var(--muted);font-size:8px}.campaign-stats dd{margin:5px 0 0;font-family:Georgia,Times New Roman,serif;font-size:21px}.campaign-progress span,.campaign-progress strong{font-size:10px}.progress-track.large{height:7px}.activity-panel{grid-column:1/-1}.activity-list{grid-template-columns:repeat(3,1fr);gap:18px;margin:22px 0 0;padding:0;list-style:none;display:grid}.activity-list li{background:#f7f9f8;border-radius:13px;align-items:flex-start;gap:11px;padding:14px;display:flex}.activity-list strong,.activity-list small{display:block}.activity-list strong{font-size:11px}.activity-list small{color:var(--muted);margin-top:4px;font-size:9px}.activity-dot{border-radius:50%;width:8px;height:8px;margin-top:3px}.activity-dot.success{background:#62a568}.activity-dot.info{background:#4b8fa6}.activity-dot.warning{background:#d38a3d}.auth-shell,.profile-shell{background:radial-gradient(circle at 15% 10%,#3b918424,#0000 32%),linear-gradient(145deg,#eef5f2 0%,#f8faf9 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card,.profile-card{background:var(--surface);border:1px solid #1c47431a;border-radius:24px;width:min(100%,520px);padding:42px;box-shadow:0 24px 70px #123b3c1f}.auth-card{text-align:center}.auth-brand,.status-symbol{margin:0 auto 24px}.auth-card h1,.profile-card h1{letter-spacing:-.03em;margin:9px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:34px;font-weight:500}.auth-card p{color:var(--muted);margin:0 auto 26px;font-size:14px;line-height:1.65}.auth-card small{color:var(--muted);margin-top:18px;font-size:10px;display:block}.primary-action,.logout-action{border:0;border-radius:12px;justify-content:center;align-items:center;min-height:46px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.primary-action{color:#fff;background:var(--teal);width:100%;box-shadow:0 10px 22px #197e7833}.primary-action:hover{background:#116a66}.secondary-link{color:var(--teal);font-size:12px;font-weight:750;text-decoration:none}.status-symbol{border-radius:15px;place-items:center;width:48px;height:48px;font-size:22px;font-weight:900;display:grid}.status-symbol.error{color:#9d4336;background:#f8e6e1}.context-card{text-align:left}.context-form{gap:10px;margin-top:22px;display:grid}.context-form label{color:var(--deep);font-size:11px;font-weight:800}.context-form select{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);font:inherit;background:#fff;border-radius:12px;padding:0 13px;font-size:13px}.context-card>.secondary-link{text-align:center;margin-top:20px;display:block}.profile-card{width:min(100%,720px)}.profile-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:28px 0;display:grid}.profile-details div,.permission-panel{background:#f3f7f5;border-radius:14px;padding:16px}.profile-details dt{color:var(--muted);font-size:10px;font-weight:750}.profile-details dd{overflow-wrap:anywhere;margin:6px 0 0;font-size:13px;font-weight:700}.permission-panel ul{flex-wrap:wrap;gap:8px;margin:13px 0 0;padding:0;list-style:none;display:flex}.permission-panel li{color:var(--deep);background:#fff;border:1px solid #cee2dc;border-radius:99px;padding:7px 9px;font-size:10px;font-weight:700}.logout-action{color:#8d3f35;background:#f9ece8;width:100%;margin-top:18px}.admin-caption{margin-top:26px}.admin-shell{background:radial-gradient(circle at 90% 0%, #238e831a, transparent 32%), var(--canvas);min-height:100vh;padding:44px clamp(22px,5vw,72px) 72px}.admin-header{justify-content:space-between;align-items:flex-end;gap:24px;width:min(1180px,100%);margin:0 auto 28px;display:flex}.admin-header h1{color:var(--deep);letter-spacing:-.035em;margin:7px 0 5px;font-family:Georgia,Times New Roman,serif;font-size:clamp(32px,4vw,48px);font-weight:500}.admin-header p,.record-heading p,.form-help{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.admin-links{flex-wrap:wrap;justify-content:flex-end;gap:16px;display:flex}.admin-panel,.admin-record{border:1px solid var(--line);background:#fff;border-radius:20px;width:min(1180px,100%);margin-inline:auto;box-shadow:0 16px 44px #1a38340f}.admin-panel{padding:26px}.admin-panel-title,.record-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.admin-panel-title h2,.record-heading h2{color:var(--deep);margin:5px 0 4px;font-size:20px}.count-badge{color:var(--teal);background:#e8f4f1;border-radius:99px;padding:8px 11px;font-size:10px;font-weight:800}.admin-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px;display:grid}.admin-form label:not(.choice-card),.choice-fieldset{color:var(--deep);gap:7px;font-size:11px;font-weight:800;display:grid}.admin-form input:not([type=checkbox]),.admin-form select,.admin-form textarea{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fbfdfc;border-radius:11px;padding:10px 12px;font-size:13px}.admin-form textarea{resize:vertical}.admin-form .full,.choice-fieldset{grid-column:1/-1}.choice-fieldset{border:1px solid var(--line);border-radius:14px;min-width:0;margin:0;padding:14px}.choice-fieldset legend{padding:0 6px}.choice-grid,.permission-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.permission-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.choice-card{min-width:0;color:var(--ink);cursor:pointer;background:#f8fbfa;border:1px solid #dce8e4;border-radius:10px;align-items:flex-start;gap:9px;padding:10px;display:flex}.choice-card input{accent-color:var(--teal);margin-top:2px}.choice-card span{gap:3px;min-width:0;display:grid}.choice-card strong{text-overflow:ellipsis;font-size:11px;overflow:hidden}.choice-card small{color:var(--muted);text-overflow:ellipsis;font-size:9px;overflow:hidden}.primary-action.compact,.secondary-action{cursor:pointer;border:0;border-radius:11px;align-self:end;width:auto;min-height:44px;padding:0 20px;font-size:12px;font-weight:800}.secondary-action{color:var(--deep);background:#e9f2ef}.form-help{margin-top:14px}.form-message{border-radius:12px;width:min(1180px,100%);margin:0 auto 18px;padding:12px 16px;font-size:12px;font-weight:700}.form-message.error{color:#8d3f35;background:#f9e9e5}.form-message.success{color:#17675f;background:#e4f3ee}.admin-list{gap:16px;width:min(1180px,100%);margin:22px auto 0;display:grid}.admin-record{padding:24px}.identity-state{color:var(--deep);justify-items:end;gap:4px;font-size:11px;display:grid}.identity-state small{color:var(--muted);font-size:9px}.inline-action{color:var(--teal);font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:800;text-decoration:underline}.status-pill{letter-spacing:.04em;text-transform:uppercase;border-radius:99px;padding:6px 9px;font-size:9px;font-weight:850;display:inline-flex}.status-pill.active{color:#17675f;background:#e0f2ec}.status-pill.invited{color:#76591c;background:#f8edcf}.status-pill.inactive,.status-pill.suspended,.status-pill.revoked,.status-pill.cancelled{color:#85483d;background:#f7e7e3}.status-pill.draft,.status-pill.scheduled{color:#76591c;background:#f8edcf}.status-pill.completed{color:#425e77;background:#e5edf4}.record-form{border-top:1px solid var(--line);padding-top:18px}.system-role-note{color:#536660;background:#f0f5f3;border-radius:12px;margin-top:18px;padding:14px;font-size:12px}.client-search{grid-template-columns:minmax(0,2fr) minmax(180px,.7fr) auto;align-items:end;gap:14px;margin-top:20px;display:grid}.client-search label{color:var(--deep);gap:7px;font-size:11px;font-weight:800;display:grid}.client-search input,.client-search select{border:1px solid var(--line);min-height:44px;color:var(--ink);font:inherit;background:#fbfdfc;border-radius:11px;padding:10px 12px;font-size:13px}.client-create-panel,.client-section{margin-top:22px}.client-directory{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:min(1180px,100%);margin:22px auto 0;display:grid}.client-card{border:1px solid var(--line);min-width:0;color:inherit;background:#fff;border-radius:18px;padding:22px;text-decoration:none;transition:border-color .15s,transform .15s;box-shadow:0 14px 38px #1a38340d}.client-card:hover{border-color:#a9cec5;transform:translateY(-2px)}.client-card-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.client-code{color:var(--muted);letter-spacing:.08em;font-size:10px;font-weight:800}.client-card h2{color:var(--deep);margin:17px 0 5px;font-size:18px}.client-card p{min-height:20px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;overflow:hidden}.client-card dl{border-top:1px solid var(--line);grid-template-columns:1.4fr 1fr 1fr;gap:8px;margin:20px 0 0;padding-top:15px;display:grid}.client-card dl div{min-width:0}.client-card dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:800}.client-card dd{color:var(--deep);text-overflow:ellipsis;margin:5px 0 0;font-size:12px;font-weight:800;overflow:hidden}.empty-state{min-height:170px;color:var(--muted);text-align:center;border:1px dashed #bfd2cd;border-radius:18px;grid-column:1/-1;place-content:center;gap:8px;display:grid}.empty-state strong{color:var(--deep)}.pagination{width:min(1180px,100%);color:var(--muted);grid-template-columns:1fr auto 1fr;align-items:center;margin:22px auto 0;font-size:12px;display:grid}.pagination a{color:var(--teal);font-weight:800;text-decoration:none}.pagination a:last-child{justify-self:end}.nested-records{gap:14px;margin-top:20px;display:grid}.nested-record{border:1px solid var(--line);background:#fbfdfc;border-radius:16px;padding:20px}.nested-record .record-heading h3{color:var(--deep);margin:8px 0 4px;font-size:16px}.nested-record .record-heading>small{color:var(--muted);font-size:9px}.compact-form{grid-template-columns:repeat(4,minmax(0,1fr))}.single-choice{align-self:end;min-height:44px}@media (max-width:1050px){.app-shell{grid-template-columns:84px 1fr}.sidebar{padding-inline:13px}.brand{justify-content:center;padding-inline:0}.brand>span:last-child,.nav-item:not(.active){font-size:0}.nav-item{justify-content:center;gap:0;padding-inline:8px;font-size:0}.nav-caption,.sidebar-footer>span:last-child{display:none}.metric-grid{grid-template-columns:repeat(2,1fr)}.client-directory,.compact-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.app-shell{display:block}.sidebar{width:100%;height:auto;padding:14px 18px;position:static}.brand{justify-content:flex-start;padding:0}.brand>span:last-child{display:block}.sidebar nav,.sidebar-footer{display:none}.content{padding:0 18px 30px}.topbar{min-height:82px}.profile>span:last-child{display:none}.hero{padding:30px 25px;display:block}.hero-status{width:100%;margin:24px 0 0}.client-search,.client-directory,.compact-form,.metric-grid,.dashboard-grid,.activity-list{grid-template-columns:1fr}.activity-panel{grid-column:auto}.auth-card,.profile-card{padding:30px 24px}.profile-details{grid-template-columns:1fr}.admin-shell{padding:28px 16px 48px}.admin-header,.admin-panel-title,.record-heading{flex-direction:column;align-items:flex-start}.admin-links{justify-content:flex-start}.admin-form,.choice-grid,.permission-choice-grid{grid-template-columns:1fr}.identity-state{justify-items:start}}
