/* IDRAK Journey admin: design tokens and component classes.
   Mirrors the design canvas; Blade components live in resources/views/components/admin.
   Loaded only on the admin host, never by the public website. */
:root{
  /* Neutrals */
  --bg:#F5F5F9; --surface:#FFFFFF; --surface-2:#FAFAFC; --surface-3:#F0F0F5; --surface-4:#E9E9F0;
  --border:#E6E6EE; --border-2:#D5D5E1;
  --ink:#16151F; --ink-2:#45445A; --ink-3:#686779; --ink-4:#8E8DA1;
  /* Brand: IDRAK teal (#113942) and gold (#B59C6C) from the logo */
  --p-25:#F4F8F9; --p-50:#E9F1F3; --p-100:#D3E3E7; --p-200:#A9C7CF; --p-300:#7AA4AF;
  --p-400:#4C8190; --p-500:#2A6573; --p-600:#113942; --p-700:#0E2D34; --p-800:#0A2328; --p-900:#0F3038; --gold:#B59C6C; --gold-bg:#F5F0E6;
  /* Semantic */
  --ok:#0B7A52; --ok-600:#12A06C; --ok-bg:#E7F6EF; --ok-bd:#B7E4CF;
  --warn:#A14F07; --warn-600:#E08A12; --warn-bg:#FEF4E2; --warn-bd:#F6D7A2;
  --err:#B42318; --err-600:#D92D20; --err-bg:#FDEDEB; --err-bd:#F5C5BF;
  --info:#1759C7; --info-600:#2E7DD7; --info-bg:#EAF2FE; --info-bd:#BCD4FA;
  /* Journey phases, as in the app */
  --ph-explore:#B59C6C; --ph-define:#113942; --ph-ideate:#F2BF00; --ph-prototype:#689080; --ph-implement:#52174A;
  --ph-explore-bg:#F5F0E6; --ph-define-bg:#E3ECEE; --ph-ideate-bg:#FFF7D1; --ph-prototype-bg:#E6EFEB; --ph-implement-bg:#F3E6F1;
  --app-accent:#D4F20B;
  /* Shape */
  --r-xs:4px; --r-sm:6px; --r:8px; --r-md:10px; --r-lg:12px; --r-xl:16px;
  --sh-xs:0 1px 2px rgba(22,21,31,.05);
  --sh-sm:0 1px 3px rgba(22,21,31,.07),0 1px 2px rgba(22,21,31,.04);
  --sh-md:0 10px 28px -8px rgba(22,21,31,.16),0 2px 6px rgba(22,21,31,.05);
  --sh-lg:0 28px 56px -14px rgba(22,21,31,.28),0 4px 12px rgba(22,21,31,.06);
  --focus:0 0 0 3px rgba(19,58,66,.22);
  --font:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*,*::before,*::after{box-sizing:border-box}
.ui{font-family:var(--font);font-size:14px;line-height:20px;color:var(--ink);-webkit-font-smoothing:antialiased;}
.ui h1,.ui h2,.ui h3,.ui h4,.ui h5,.ui p,.ui ul,.ui ol,.ui dl,.ui dd,.ui figure{margin:0}
.ui ul,.ui ol{padding:0;list-style:none}
.ui a{color:var(--p-700);text-decoration:none}
.ui a:hover{color:var(--p-800)}
.ui :focus-visible{outline:2px solid var(--p-500);outline-offset:2px}
.ui button{font-family:inherit}

/* ---------- Typography ---------- */
.t-display{font-size:32px;line-height:40px;font-weight:700;letter-spacing:-.025em}
.t-h1{font-size:24px;line-height:32px;font-weight:700;letter-spacing:-.018em}
.t-h2{font-size:18px;line-height:26px;font-weight:700;letter-spacing:-.01em}
.t-h3{font-size:15px;line-height:22px;font-weight:650}
.t-body{font-size:14px;line-height:20px}
.t-sm{font-size:13px;line-height:18px}
.t-xs{font-size:12px;line-height:16px}
.t-over{font-size:11px;line-height:16px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
.t-num{font-variant-numeric:tabular-nums}
.muted{color:var(--ink-3)} .ink2{color:var(--ink-2)} .strong{font-weight:600;color:var(--ink)}
.mono{font-family:var(--mono);font-size:12.5px;letter-spacing:-.01em}

/* ---------- Layout helpers ---------- */
.hstack{display:flex;align-items:center;gap:8px}
.vstack{display:flex;flex-direction:column}
.grow{flex:1 1 auto;min-width:0}
.hr{height:1px;background:var(--border);border:0;margin:0}
.vr{width:1px;align-self:stretch;background:var(--border)}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 14px;border-radius:var(--r);border:1px solid transparent;font:600 13px/1 var(--font);cursor:pointer;white-space:nowrap;text-decoration:none;transition:background .12s,border-color .12s,color .12s,box-shadow .12s}
.ui a.btn{color:inherit}
.btn-primary{background:var(--p-600);color:#fff;box-shadow:var(--sh-xs),inset 0 1px 0 rgba(255,255,255,.14)}
.ui a.btn-primary,.btn-primary:hover{color:#fff}
.btn-primary:hover{background:var(--p-700)}
.btn-secondary{background:#fff;color:var(--ink);border-color:var(--border-2);box-shadow:var(--sh-xs)}
.btn-secondary:hover{background:var(--surface-2);border-color:#C7C7D6}
.btn-soft{background:var(--p-50);color:var(--p-700)}
.btn-soft:hover{background:var(--p-100)}
.btn-ghost{background:transparent;color:var(--ink-2)}
.btn-ghost:hover{background:var(--surface-3);color:var(--ink)}
.btn-danger{background:var(--err-600);color:#fff;box-shadow:var(--sh-xs)}
.btn-danger:hover{background:var(--err)}
.btn-danger-soft{background:var(--err-bg);color:var(--err)}
.btn-link{background:none;border:0;padding:0;height:auto;color:var(--p-700)}
.btn-sm{height:30px;padding:0 10px;font-size:12.5px;gap:6px;border-radius:7px}
.btn-lg{height:42px;padding:0 18px;font-size:14px}
.btn-icon{width:36px;padding:0}
.btn-sm.btn-icon{width:30px}
.btn[disabled],.btn.is-disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.btn-group{display:inline-flex}
.btn-group .btn{border-radius:0;margin-left:-1px}
.btn-group .btn:first-child{border-radius:var(--r) 0 0 var(--r);margin-left:0}
.btn-group .btn:last-child{border-radius:0 var(--r) var(--r) 0}
.spin{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;animation:spin .8s linear infinite;flex:none}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- Form controls ---------- */
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.label{font-size:13px;line-height:18px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:6px}
.label .req{color:var(--err-600)}
.label .opt{font-weight:500;color:var(--ink-3)}
.help{font-size:12px;line-height:16px;color:var(--ink-3)}
.help.is-error{color:var(--err)}
.input,.select,.textarea{display:block;width:100%;height:36px;padding:0 12px;border:1px solid var(--border-2);border-radius:var(--r);background:#fff;font:400 14px/20px var(--font);color:var(--ink);box-shadow:var(--sh-xs);transition:border-color .12s,box-shadow .12s}
.input::placeholder,.textarea::placeholder{color:#8E8DA1}
.input:focus,.select:focus,.textarea:focus,.input.is-focus{outline:none;border-color:var(--p-500);box-shadow:var(--focus)}
.input.is-error,.textarea.is-error{border-color:var(--err-600);box-shadow:0 0 0 3px rgba(217,45,32,.12)}
.input[disabled],.input[readonly].is-locked{background:var(--surface-3);color:var(--ink-3);box-shadow:none}
.input-sm{height:30px;font-size:13px;padding:0 10px}
.textarea{height:auto;padding:9px 12px;resize:vertical;min-height:84px}
.select{appearance:none;-webkit-appearance:none;padding-right:34px;cursor:pointer;
  background:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%) calc(100% - 18px) 52%/5px 5px no-repeat,
             linear-gradient(135deg,var(--ink-3) 50%,transparent 50%) calc(100% - 13px) 52%/5px 5px no-repeat,#fff}
.input-wrap{position:relative;display:flex;align-items:center}
.input-wrap .ico{position:absolute;left:11px;display:flex;color:var(--ink-3);pointer-events:none}
.input-wrap .input{padding-left:36px}
.input-wrap .end{position:absolute;right:8px;display:flex;align-items:center;gap:6px}
.ig{display:flex}
.ig .affix{display:flex;align-items:center;padding:0 12px;border:1px solid var(--border-2);background:var(--surface-2);color:var(--ink-3);font-size:13px;white-space:nowrap}
.ig .affix:first-child{border-radius:var(--r) 0 0 var(--r);border-right:0}
.ig .affix:last-child{border-radius:0 var(--r) var(--r) 0;border-left:0}
.ig .input{border-radius:0}
.ig .input:first-child{border-radius:var(--r) 0 0 var(--r)}
.ig .input:last-child{border-radius:0 var(--r) var(--r) 0}
.ui input[type=checkbox],.ui input[type=radio]{accent-color:var(--p-600);width:16px;height:16px;margin:0;flex:none;cursor:pointer}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:20px;cursor:pointer}
.check input{margin-top:2px}
.check .sub{display:block;font-size:12px;line-height:16px;color:var(--ink-3)}
.switch{position:relative;display:inline-flex;width:36px;height:20px;flex:none}
.switch input{position:absolute;inset:0;opacity:0;margin:0;width:100%;height:100%;cursor:pointer;z-index:1}
.switch .track{width:36px;height:20px;border-radius:999px;background:var(--border-2);transition:background .15s;position:relative}
.switch .track::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .15s}
.switch input:checked + .track{background:var(--p-600)}
.switch input:checked + .track::after{transform:translateX(16px)}
.switch input:focus-visible + .track{box-shadow:var(--focus)}
.switch.sm,.switch.sm .track{width:30px;height:18px}
.switch.sm .track::after{width:14px;height:14px}
.switch.sm input:checked + .track::after{transform:translateX(12px)}
.dropzone{border:1.5px dashed var(--border-2);border-radius:var(--r-lg);background:var(--surface-2);padding:22px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;color:var(--ink-3);font-size:13px}
.token{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 4px 0 8px;border-radius:6px;background:var(--p-50);color:var(--p-700);font-size:12.5px;font-weight:600}
.form-row{display:grid;grid-template-columns:280px minmax(0,1fr);gap:32px;padding:22px 0;border-bottom:1px solid var(--border)}
.form-row:last-child{border-bottom:0}

/* ---------- Badges / tags / status ---------- */
.badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:999px;font:600 12px/1 var(--font);background:var(--surface-3);color:var(--ink-2);white-space:nowrap}
.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.badge.lg{height:26px;padding:0 10px;font-size:12.5px}
.b-ok{background:var(--ok-bg);color:var(--ok)}
.b-warn{background:var(--warn-bg);color:var(--warn)}
.b-err{background:var(--err-bg);color:var(--err)}
.b-info{background:var(--info-bg);color:var(--info)}
.b-primary{background:var(--p-50);color:var(--p-700)}
.b-dark{background:var(--ink);color:#fff}
.b-outline{background:#fff;box-shadow:inset 0 0 0 1px var(--border-2);color:var(--ink-2)}
.b-new{background:#FCEEF5;color:#A3245F}
.tag{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 7px;border-radius:6px;background:var(--surface-3);border:1px solid var(--border);color:var(--ink-2);font:500 12px/1 var(--mono);white-space:nowrap}
.count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--surface-4);color:var(--ink-2);font:700 11px/1 var(--font)}
.count.hot{background:var(--err-600);color:#fff}
.count.pri{background:var(--p-600);color:#fff}
.sdot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}
.phase{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--ink-2)}
.phase i{width:8px;height:8px;border-radius:2px;display:inline-block}

/* ---------- Cards ---------- */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-xs);min-width:0}
.card-hd{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border)}
.card-hd.flat{border-bottom:0;padding-bottom:0}
.card-title{font-size:15px;line-height:22px;font-weight:700;letter-spacing:-.005em}
.card-sub{font-size:13px;line-height:18px;color:var(--ink-3)}
.card-bd{padding:20px}
.card-ft{display:flex;align-items:center;gap:12px;padding:12px 20px;border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 var(--r-lg) var(--r-lg)}
.stat-label{font-size:13px;font-weight:500;color:var(--ink-3)}
.stat-value{font-size:28px;line-height:36px;font-weight:700;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.delta{display:inline-flex;align-items:center;gap:2px;height:20px;padding:0 6px;border-radius:6px;font:700 11.5px/1 var(--font)}
.delta.up{background:var(--ok-bg);color:var(--ok)}
.delta.down{background:var(--err-bg);color:var(--err)}
.delta.flat{background:var(--surface-3);color:var(--ink-3)}
.ico-tile{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--p-50);color:var(--p-600);flex:none}
.ico-tile.sm{width:32px;height:32px;border-radius:8px}
.ico-tile.ok{background:var(--ok-bg);color:var(--ok)} .ico-tile.warn{background:var(--warn-bg);color:var(--warn)}
.ico-tile.err{background:var(--err-bg);color:var(--err)} .ico-tile.info{background:var(--info-bg);color:var(--info)}
.ico-tile.neutral{background:var(--surface-3);color:var(--ink-2)}
.kv{display:grid;grid-template-columns:160px minmax(0,1fr);row-gap:12px;column-gap:16px;font-size:13.5px}
.kv dt{color:var(--ink-3)} .kv dd{color:var(--ink);font-weight:500}

/* ---------- Tables ---------- */
.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}
.tbl th{position:sticky;top:0;background:var(--surface-2);text-align:left;font:600 12px/16px var(--font);color:var(--ink-3);padding:10px 16px;border-bottom:1px solid var(--border);white-space:nowrap}
.tbl td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--ink-2);height:56px}
.tbl tr:last-child td{border-bottom:0}
.tbl tbody tr:hover td{background:#FAFAFE}
.tbl tr.is-selected td{background:var(--p-25)}
.tbl th.num,.tbl td.num{text-align:right;font-variant-numeric:tabular-nums}
.tbl .w-check{width:44px;padding-right:0}
.tbl .w-act{width:56px;text-align:right}
.tbl.compact td{height:42px;padding-top:8px;padding-bottom:8px}
.sort{display:inline-flex;align-items:center;gap:4px}
.sort.is-on{color:var(--ink)}
.cell-main{display:flex;align-items:center;gap:12px;min-width:0}
.cell-main .n{font-weight:600;color:var(--ink);line-height:18px}
.cell-main .s{font-size:12px;color:var(--ink-3);line-height:16px}
.bulkbar{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 16px;background:var(--ink);color:#fff;border-radius:12px;box-shadow:var(--sh-md);font-size:13px}
.bulkbar .btn-ghost{color:#E4E3EE}
.bulkbar .btn-ghost:hover{background:rgba(255,255,255,.1);color:#fff}

/* ---------- Avatars / misc ---------- */
.av{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font:700 12px/1 var(--font);background:var(--p-100);color:var(--p-700);flex:none}
.av.sm{width:24px;height:24px;font-size:10px} .av.lg{width:48px;height:48px;font-size:16px} .av.xl{width:64px;height:64px;font-size:20px}
.av.c2{background:#DDF3EF;color:#0B6B60} .av.c3{background:#FBEBCF;color:#8A5300} .av.c4{background:#FBE3EE;color:#9A2E5C} .av.c5{background:#E1ECFB;color:#1E5BB0}
.kbd{display:inline-flex;align-items:center;height:20px;padding:0 6px;border:1px solid var(--border-2);border-bottom-width:2px;border-radius:5px;background:#fff;color:var(--ink-3);font:500 11px/1 var(--mono)}
.bar{height:6px;background:var(--surface-4);border-radius:99px;overflow:hidden;display:flex}
.bar > span{display:block;height:100%;background:var(--p-600)}
.bar.lg{height:8px}

/* ---------- Tabs / segmented / nav ---------- */
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);overflow:hidden}
.tab{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:0;background:none;border-bottom:2px solid transparent;margin-bottom:-1px;font:600 13px/18px var(--font);color:var(--ink-3);cursor:pointer;white-space:nowrap}
.tab:hover{color:var(--ink)}
.tab.is-active{color:var(--p-700);border-bottom-color:var(--p-600)}
.tab.is-active .count{background:var(--p-100);color:var(--p-700)}
.seg{display:inline-flex;padding:3px;gap:2px;background:var(--surface-3);border-radius:10px}
.seg button{height:28px;padding:0 12px;border:0;background:none;border-radius:7px;font:600 12.5px/1 var(--font);color:var(--ink-3);cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.seg button.is-active{background:#fff;color:var(--ink);box-shadow:var(--sh-sm)}
.vnav{display:flex;flex-direction:column;gap:2px}
.vnav a{display:flex;align-items:center;gap:10px;height:36px;padding:0 12px;border-radius:8px;color:var(--ink-2);font-size:13.5px;font-weight:500}
.vnav a:hover{background:var(--surface-3);color:var(--ink)}
.vnav a.is-active{background:#fff;color:var(--p-700);font-weight:600;box-shadow:var(--sh-sm);border:1px solid var(--border)}
.loc{display:inline-flex;gap:2px;padding:2px;background:var(--surface-3);border-radius:8px}
.loc button{height:24px;padding:0 8px;border:0;background:none;border-radius:6px;font:700 11px/1 var(--font);letter-spacing:.04em;color:var(--ink-3);cursor:pointer;display:inline-flex;align-items:center;gap:4px}
.loc button.is-active{background:#fff;color:var(--ink);box-shadow:var(--sh-xs)}
.loc button .miss{width:6px;height:6px;border-radius:50%;background:var(--warn-600)}

/* ---------- Filters ---------- */
.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fchip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border:1px dashed var(--border-2);border-radius:8px;background:#fff;font:500 13px/1 var(--font);color:var(--ink-2);cursor:pointer;white-space:nowrap}
.fchip:hover{border-color:var(--ink-4)}
.fchip.is-set{border-style:solid;border-color:var(--p-200);background:var(--p-50);color:var(--p-800)}
.fchip b{font-weight:700}
.fchip .sep{width:1px;height:14px;background:currentColor;opacity:.25}
.views{display:flex;gap:4px;align-items:center}
.views a{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:8px;font-size:13px;font-weight:600;color:var(--ink-3)}
.views a.is-active{background:#fff;color:var(--ink);box-shadow:var(--sh-sm);border:1px solid var(--border)}

/* ---------- Overlays ---------- */
.menu{background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--sh-md);padding:6px;min-width:220px}
.menu-item{display:flex;align-items:center;gap:10px;height:34px;padding:0 10px;border-radius:8px;font-size:13px;color:var(--ink-2);cursor:pointer}
.menu-item:hover,.menu-item.is-hover{background:var(--surface-3);color:var(--ink)}
.menu-item.danger{color:var(--err)}
.menu-item .end{margin-left:auto}
.menu-sep{height:1px;background:var(--border);margin:6px -6px}
.menu-label{padding:6px 10px 4px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4)}
.scrim{background:rgba(22,21,31,.42)}
.modal{background:#fff;border-radius:16px;box-shadow:var(--sh-lg);overflow:hidden}
.modal-hd{display:flex;gap:14px;align-items:flex-start;padding:22px 24px 0}
.modal-bd{padding:16px 24px 20px}
.modal-ft{display:flex;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid var(--border);background:var(--surface-2)}
.drawer{background:#fff;box-shadow:var(--sh-lg);border-left:1px solid var(--border);display:flex;flex-direction:column}
.drawer-hd{display:flex;align-items:flex-start;gap:12px;padding:20px 24px;border-bottom:1px solid var(--border)}
.drawer-bd{padding:20px 24px;display:flex;flex-direction:column;gap:20px;flex:1;overflow:hidden}
.drawer-ft{display:flex;gap:8px;justify-content:flex-end;padding:14px 24px;border-top:1px solid var(--border);background:var(--surface-2)}
.tip{background:var(--ink);color:#fff;font-size:12px;line-height:16px;padding:6px 8px;border-radius:6px;box-shadow:var(--sh-md)}

/* ---------- Alerts / toasts ---------- */
.alert{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:10px;border:1px solid;font-size:13px;line-height:19px}
.alert .a-title{font-weight:700;color:var(--ink)}
.alert .a-body{color:var(--ink-2)}
.a-info{background:var(--info-bg);border-color:var(--info-bd);color:var(--info)}
.a-ok{background:var(--ok-bg);border-color:var(--ok-bd);color:var(--ok)}
.a-warn{background:var(--warn-bg);border-color:var(--warn-bd);color:var(--warn)}
.a-err{background:var(--err-bg);border-color:var(--err-bd);color:var(--err)}
.a-neutral{background:var(--surface-2);border-color:var(--border);color:var(--ink-3)}
.toast{display:flex;gap:12px;align-items:flex-start;padding:14px 14px 14px 16px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--sh-md);width:380px;font-size:13px;line-height:19px}

/* ---------- Pagination ---------- */
.pg{display:flex;gap:4px;align-items:center}
.pg button,.pg a{min-width:32px;height:32px;padding:0 8px;border-radius:8px;border:1px solid var(--border);background:#fff;font:600 13px/1 var(--font);color:var(--ink-2);display:inline-flex;align-items:center;justify-content:center;gap:4px;cursor:pointer}
.pg .is-active{background:var(--p-600);border-color:var(--p-600);color:#fff}
.pg .gap{border:0;background:none;min-width:20px;color:var(--ink-4)}

/* ---------- Loading / empty ---------- */
.sk{background:linear-gradient(90deg,#ECECF3 25%,#F5F5FA 50%,#ECECF3 75%);background-size:200% 100%;animation:sk 1.4s ease-in-out infinite;border-radius:6px}
@keyframes sk{0%{background-position:200% 0}100%{background-position:-200% 0}}
.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:40px 24px}
.empty .art{width:56px;height:56px;border-radius:16px;background:var(--p-50);color:var(--p-600);display:flex;align-items:center;justify-content:center;margin-bottom:6px;box-shadow:inset 0 0 0 1px var(--p-100)}

/* ---------- Content lifecycle ---------- */
.flow{display:flex;align-items:center}
.flow-step{display:flex;align-items:center;gap:8px;font:600 12.5px/1 var(--font);color:var(--ink-3);white-space:nowrap}
.flow-step .n{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border-2);display:flex;align-items:center;justify-content:center;font-size:11px;background:#fff}
.flow-step.done{color:var(--ink-2)}
.flow-step.done .n{background:var(--ok-600);border-color:var(--ok-600);color:#fff}
.flow-step.cur{color:var(--ink)}
.flow-step.cur .n{background:var(--p-600);border-color:var(--p-600);color:#fff;box-shadow:0 0 0 4px var(--p-100)}
.flow-line{width:24px;height:1.5px;background:var(--border-2);margin:0 8px}
.flow-line.done{background:var(--ok-600)}
.savebar{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 16px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--sh-md)}

/* ---------- Sensitive data ---------- */
.sensitive{border:1px dashed var(--warn-bd);background:repeating-linear-gradient(135deg,#FFFBF2 0 10px,#FEF5E4 10px 20px);border-radius:12px;padding:22px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}

/* ---------- Code / diff ---------- */
.code{font:400 12.5px/20px var(--mono);background:#16151F;color:#E4E3EE;border-radius:10px;padding:14px 16px;white-space:pre;overflow:hidden}
.code .k{color:#B8ABFF} .code .s{color:#8FD7B4} .code .c{color:#8A889F} .code .v{color:#F5C77E}
.diff{font:400 12.5px/22px var(--mono);border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff}
.diff div{padding:0 12px;white-space:pre-wrap}
.diff .del{background:#FDEEEC;color:#8C1D13}
.diff .add{background:#E8F6EF;color:#0A5B3D}
.diff .ctx{color:var(--ink-3)}
.var{font:500 12px/1 var(--mono);color:var(--p-700);background:var(--p-50);border-radius:4px;padding:2px 4px}

/* ---------- Shell ---------- */
.sb{background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;flex:none}
.sb-brand{height:64px;display:flex;align-items:center;gap:10px;padding:0 20px;border-bottom:1px solid var(--border);flex:none}
.sb-mark{width:30px;height:30px;border-radius:9px;background:var(--p-600);color:var(--app-accent);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 -2px 0 rgba(0,0,0,.15)}
.sb-scroll{flex:1;overflow:hidden;padding:12px 12px 8px;display:flex;flex-direction:column;gap:2px}
.sb-gh{width:100%;display:flex;align-items:center;gap:10px;height:36px;padding:0 10px;border:0;background:none;border-radius:8px;font:600 13.5px/1 var(--font);color:var(--ink-2);cursor:pointer;text-align:left}
.sb-gh:hover{background:var(--surface-3);color:var(--ink)}
.sb-gh.is-current{color:var(--ink)}
.sb-gh .chev{margin-left:auto;display:flex;color:var(--ink-4);transition:transform .15s}
.sb-gh.is-open .chev{transform:rotate(90deg)}
.sb-items{display:flex;flex-direction:column;gap:1px;margin:2px 0 8px 19px;padding-left:12px;border-left:1px solid var(--border)}
.nav-item{display:flex;align-items:center;gap:8px;height:32px;padding:0 10px;border-radius:8px;font-size:13px;font-weight:500;line-height:1}
.ui a.nav-item{color:var(--ink-3)}
.ui a.nav-item:hover{background:var(--surface-3);color:var(--ink)}
.ui a.nav-item.is-active{background:var(--p-50);color:var(--p-700);font-weight:650}
.nav-item .end{margin-left:auto}
.sb-foot{border-top:1px solid var(--border);padding:12px;flex:none}
.tb{height:64px;display:flex;align-items:center;gap:12px;padding:0 24px 0 20px;background:rgba(255,255,255,.92);border-bottom:1px solid var(--border);flex:none}
.env{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;font:700 11.5px/1 var(--font);letter-spacing:.02em}
.env.prod{background:var(--ok-bg);color:var(--ok)}
.env.beta{background:var(--warn-bg);color:var(--warn)}
.icon-btn{position:relative;width:36px;height:36px;border-radius:10px;border:0;background:none;color:var(--ink-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.icon-btn:hover{background:var(--surface-3);color:var(--ink)}
.icon-btn .pip{position:absolute;top:6px;right:6px;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:var(--err-600);color:#fff;font:700 10px/16px var(--font);text-align:center;box-shadow:0 0 0 2px #fff}
.page{padding:24px 32px 40px;display:flex;flex-direction:column;gap:20px;min-width:0}
.crumbs{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-4)}
.ui .crumbs a{color:var(--ink-3)}
.ui .crumbs a:hover{color:var(--ink)}
.crumbs .cur{color:var(--ink-2);font-weight:600}
.ph{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.ph-title{font-size:24px;line-height:32px;font-weight:700;letter-spacing:-.018em;display:flex;align-items:center;gap:10px}
.ph-desc{color:var(--ink-3);font-size:14px;line-height:20px;margin-top:4px}
.ph-actions{display:flex;align-items:center;gap:8px;flex:none}
.section-title{font-size:15px;font-weight:700;display:flex;align-items:center;gap:8px}

/* ---------- Page shell ---------- */
html{background:var(--bg)}
body.ui{margin:0;background:var(--bg);min-height:100vh}
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--p-600);color:#fff;padding:10px 14px;border-radius:8px;font-weight:600}
.ui .skip-link:focus{top:12px;color:#fff}
.adm-shell{display:flex;min-height:100vh}
.adm-shell > .sb{position:sticky;top:0;height:100vh;width:264px}
.adm-main{flex:1;min-width:0;display:flex;flex-direction:column}
.adm-main > .tb{position:sticky;top:0;z-index:20;backdrop-filter:saturate(1.4) blur(8px)}
.adm-main > main{outline:none;width:100%;max-width:1600px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sb-brand img{display:block}
.sb-scroll{overflow-y:auto}
.sb-group > summary{list-style:none}
.sb-group > summary::-webkit-details-marker{display:none}
.sb-group[open] > summary .chev{transform:rotate(90deg)}
.nav-item.is-soon{color:var(--ink-4);cursor:default}
.nav-item.is-soon:hover{background:none}
.nav-item .soon{margin-left:auto;font-size:10.5px;font-weight:600;color:var(--ink-4)}
.tb-user-meta{display:flex;flex-direction:column}
.tb-user{display:flex;align-items:center;gap:10px;border:0;background:none;padding:4px 6px 4px 4px;border-radius:10px;text-align:left}
.tb-menu-btn{display:none}
.auth{min-height:100vh;display:grid;grid-template-columns:minmax(360px,520px) minmax(0,1fr);background:var(--bg)}
.auth-brand{background:var(--p-600);color:#fff;padding:56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.auth-brand::after{content:"";position:absolute;right:-140px;bottom:-140px;width:440px;height:440px;border-radius:50%;border:56px solid rgba(181,156,108,.10)}
.auth-brand > *{position:relative;z-index:1}
.auth-main{display:flex;align-items:center;justify-content:center;padding:40px 24px}
.auth-card{width:100%;max-width:420px;padding:36px;box-shadow:var(--sh-md)}
.error-summary:empty{display:none}

/* ---------- Responsive ---------- */
@media (max-width:1279px){
  .adm-shell > .sb{width:232px}
}
@media (max-width:1023px){
  .adm-shell > .sb{position:fixed;left:0;top:0;z-index:50;width:288px;transform:translateX(-100%);transition:transform .2s ease;box-shadow:var(--sh-lg)}
  body.nav-open .adm-shell > .sb{transform:none}
  body.nav-open::after{content:"";position:fixed;inset:0;background:rgba(22,21,31,.42);z-index:40}
  .tb-menu-btn{display:inline-flex}
  .tb-search{display:none}
  .page{padding:20px 16px 32px}
  .ph{flex-direction:column;align-items:flex-start}
  .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .auth{grid-template-columns:1fr}
  .auth-brand{padding:32px 24px}
  .auth-brand .auth-logo{height:120px!important}
}
@media (max-width:639px){
  .kpi-grid{grid-template-columns:1fr!important}
  .tb .env,.tb-user-meta{display:none}
  .table-wrap{overflow-x:auto}
  .form-row{grid-template-columns:1fr;gap:12px}
  /* Phones: the brand panel shrinks to a header so the form is on screen. */
  .auth{grid-template-rows:auto 1fr}
  .auth-brand{padding:20px 16px;justify-content:flex-start}
  .auth-brand::after,.auth-badge,.auth-intro,.auth-host{display:none}
  .auth-hero{flex-direction:row!important;align-items:center!important;gap:14px!important}
  .auth-brand .auth-logo{height:56px!important}
  .auth-tagline{font-size:17px!important;line-height:24px!important}
  .auth-main{align-items:flex-start;padding:20px 16px}
  .auth-card{padding:24px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.ai{flex:none;display:block}
.flow{list-style:none;margin:0;padding:0}
/* Dropdowns built on <details> (no JS needed) */
.dd{position:relative}
.dd > summary{list-style:none;cursor:pointer}
.dd > summary::-webkit-details-marker{display:none}
.dd > .menu{position:absolute;right:0;top:calc(100% + 6px);z-index:60}
.dd.left > .menu{left:0;right:auto}
.menu form{margin:0}
.inline-form{display:inline}
.check-card{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border);border-radius:10px;cursor:pointer;background:#fff}
.check-card:has(input:checked){border-color:var(--p-200);background:var(--p-25)}
.perm{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;font-size:13px;cursor:pointer}
.perm:hover{background:var(--surface-2)}
.role-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:inherit}
.ui a.role-link{color:inherit}
.role-link:hover{background:var(--surface-3)}
.role-link.is-active{background:#fff;box-shadow:var(--sh-sm);outline:1px solid var(--border)}
.qr svg{display:block;width:168px;height:168px}
.codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.codes span{font:500 13px/1 var(--mono);padding:9px 10px;border-radius:8px;background:var(--surface-2);border:1px solid var(--border);text-align:center}
.diff-table td{font-size:12.5px;vertical-align:top;word-break:break-word}
.diff-table .old{background:#FDEEEC;color:#8C1D13}
.diff-table .new{background:#E8F6EF;color:#0A5B3D}
.pagination-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--border)}
@media (max-width:1023px){.roles-grid{grid-template-columns:1fr!important}}
/* Website CMS (admin › Website) */
.savebar{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 16px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--sh-xs)}
.cms-savebar{position:sticky;top:72px;z-index:5;flex-wrap:wrap}
.cms-meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:-8px}
.cms-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}
.cms-aside{display:flex;flex-direction:column;gap:16px}
.cms-fields{display:flex;flex-direction:column;gap:20px}
.cms-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.loc a{height:24px;padding:0 8px;border-radius:6px;font:700 11px/24px var(--font);letter-spacing:.04em;color:var(--ink-3);display:inline-flex;align-items:center;gap:4px}
.loc a:hover{color:var(--ink)}
.loc a.is-active{background:#fff;color:var(--ink);box-shadow:var(--sh-xs)}
.loc .miss{width:6px;height:6px;border-radius:50%;background:var(--warn-600)}
.lchip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 7px;border-radius:6px;font:700 11px/1 var(--font);letter-spacing:.04em;background:var(--surface-3);color:var(--ink-2)}
.lchip i{width:6px;height:6px;border-radius:50%;background:var(--border-2)}
.lchip-published i{background:var(--ok-600)}
.lchip-draft{background:#FEF4E2;color:#8A5406}
.lchip-draft i{background:var(--warn-600)}
.cms-item-n{width:28px;height:28px;flex:none;border-radius:8px;background:var(--p-50);color:var(--p-600);font-weight:800;font-size:12px;display:inline-flex;align-items:center;justify-content:center}
.cms-group{border:1px solid var(--border);border-radius:10px;padding:14px 16px 16px;margin:0;display:flex;flex-direction:column;gap:14px;min-width:0}
.cms-group legend{padding:0 6px;margin-left:-6px;font:700 13px/18px var(--font);color:var(--ink)}
.cms-section{border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}
.cms-section summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:10px 14px;font:600 13px/18px var(--font);color:var(--ink)}
.cms-section summary::-webkit-details-marker{display:none}
.cms-section summary .ai{transition:transform .15s}
.cms-section[open] summary .ai{transform:rotate(90deg)}
.cms-section summary .muted{font-weight:500;margin-left:6px}
.cms-section-bd{padding:4px 14px 16px;display:flex;flex-direction:column;gap:14px}
.cms-list{gap:8px}
.cms-items{display:flex;flex-direction:column;gap:10px}
.cms-item{border:1px solid var(--border);border-radius:10px;background:#fff}
.cms-item-hd{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 12px;border-bottom:1px solid var(--border);background:var(--surface-2);border-radius:10px 10px 0 0}
.cms-item-bd{padding:12px 14px 14px;display:flex;flex-direction:column;gap:14px}
.cms-item-bd.is-scalar > .field > .label{display:none}
.rt{border:1px solid var(--border-2);border-radius:8px;background:#fff;overflow:hidden;box-shadow:var(--sh-xs)}
.rt:focus-within{border-color:var(--p-400);box-shadow:0 0 0 3px var(--p-100)}
.rt.is-error{border-color:var(--err-600)}
.rt-bar{display:flex;align-items:center;gap:2px;padding:4px 6px;border-bottom:1px solid var(--border);background:var(--surface-2)}
.rt-btn{height:28px;min-width:28px;padding:0 8px;border:0;background:none;border-radius:6px;font:700 12.5px/1 var(--font);color:var(--ink-2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.rt-btn:hover{background:var(--surface-3);color:var(--ink)}
.rt textarea{display:block;width:100%;box-sizing:border-box;border:0;outline:0;resize:vertical;padding:10px 12px;font:500 13.5px/21px 'JetBrains Mono',ui-monospace,monospace;color:var(--ink);background:#fff;min-height:44px}
.cms-siblings{display:flex;flex-direction:column;padding:6px}
.cms-siblings a{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:8px;font-size:13px;font-weight:600;color:var(--ink-2)}
.cms-siblings a:hover{background:var(--surface-2)}
.cms-siblings a.is-active{background:var(--p-25);color:var(--ink)}
.cms-siblings .cms-item-n{width:24px;height:24px;font-size:11px}
.cms-history{display:flex;flex-direction:column}
.cms-history > .hstack{gap:8px;padding:10px 16px;border-bottom:1px solid var(--border)}
.cms-history > .hstack:last-child{border-bottom:0}
.cms-history form{margin:0}
.serp-title{font-size:15px;line-height:20px;color:#1A0DAB;margin:1px 0}
.meter{display:inline-block;vertical-align:middle;width:72px;height:4px;border-radius:2px;background:var(--surface-3);overflow:hidden}
.meter span{display:block;height:100%;border-radius:2px}
.meter-ok span{background:var(--ok-600)} .meter-warn span{background:var(--warn-600)} .meter-err span{background:var(--err-600)}
.count-hint{font-variant-numeric:tabular-nums}
.count-hint.over{color:var(--err)}
@media (max-width:1279px){.cms-grid{grid-template-columns:1fr}}
@media (max-width:1023px){.cms-savebar{top:64px}.cms-facts{grid-template-columns:1fr}}
@media (max-width:639px){.cms-section summary .muted{display:none}.cms-savebar{position:static}}
/* Settings */
.set-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:28px;align-items:start}
.set-main{display:flex;flex-direction:column;gap:20px;max-width:900px;min-width:0}
.vnav{display:flex;flex-direction:column;gap:2px;position:sticky;top:88px}
.vnav a,.vnav-later{display:flex;align-items:center;justify-content:space-between;gap:10px;height:36px;padding:0 12px;border-radius:8px;color:var(--ink-2);font-size:13.5px;font-weight:500}
.vnav a:hover{background:var(--surface-3);color:var(--ink)}
.vnav a.is-active{background:#fff;color:var(--p-700);font-weight:600;box-shadow:var(--sh-sm);border:1px solid var(--border)}
.vnav-later{color:var(--ink-4,#9998AA);cursor:default}
.set-row{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;padding:18px 0;border-bottom:1px solid var(--border)}
.set-row:first-child{padding-top:4px}
.set-row:last-child{border-bottom:0}
.set-row .help{margin-top:4px}
.set-secrets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.set-secret{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;font-size:12.5px}
.set-secret.is-missing{border-color:#F5C5BF;background:#FFFBFA}
@media (max-width:1023px){.set-layout{grid-template-columns:1fr}.vnav{position:static;flex-direction:row;flex-wrap:wrap}.set-row{grid-template-columns:1fr;gap:10px}.set-secrets{grid-template-columns:1fr}}
/* Website images */
.img-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.img-slots.is-single{grid-template-columns:minmax(0,260px)}
.img-slot{margin:0;display:flex;flex-direction:column;gap:10px;min-width:0}
.img-slot figcaption{display:flex;flex-direction:column;gap:6px}
.img-frame{background:var(--surface-3);border:1px solid var(--border);border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;max-height:340px}
.img-slots:not(.is-wide):not(.is-single) .img-frame{max-width:180px}
.img-frame img{width:100%;height:100%;object-fit:contain;display:block}
.img-upload{display:flex;gap:6px;align-items:center}
.img-upload .input{flex:1;min-width:0;padding-top:4px;font-size:12px}
@media (max-width:1023px){.img-slots{grid-template-columns:1fr}}
/* AI screens (docs/design/ai-engagement): provider tile, prompt list and layers, console grid */
.pv{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font:800 15px/1 var(--font);flex:none}
.pl{display:flex;align-items:center;gap:8px;height:34px;padding:0 10px;border-radius:8px;font-size:13px;color:var(--ink-2)}
.ui a.pl{color:var(--ink-2)}
.pl:hover{background:var(--surface-3)}
.ui a.pl.on,.pl.on{background:var(--p-50);color:var(--p-800);font-weight:650}
.pl .badge{margin-left:auto;height:18px;font-size:10.5px}
.layer{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff}
.layer.is-locked .ed{color:var(--ink-3)}
.layer-hd{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--surface-2);border-bottom:1px solid var(--border)}
.layer-hd .nm{font:700 12px/1 var(--font);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2)}
.layer-hd .badge{height:18px;font-size:10.5px}
.ed{font:400 12.5px/21px var(--mono);color:#2A2937;padding:12px 14px;white-space:pre-wrap;background:#fff;overflow-wrap:anywhere}
textarea.ed{display:block;width:100%;border:0;resize:vertical;min-height:84px;outline:none}
textarea.ed:focus-visible{box-shadow:inset 0 0 0 2px var(--p-200)}
.layer.is-error{border-color:var(--err,#C8372D)}
.code.wrap{white-space:pre-wrap;overflow-wrap:anywhere;max-height:520px;overflow:auto}
.ai-off{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:10px;background:#FDEEEC;color:#8C1D13;border:1px solid #F4C7C2;font-weight:600;font-size:13.5px}
.ai-off .grow{flex:1}
.prompt-grid{display:grid;grid-template-columns:230px minmax(0,1fr) 300px;gap:16px;align-items:start}
.cmp-grid{display:grid;gap:16px;align-items:start}
.cmp-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.run-out{max-height:360px;overflow:auto}
.score-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.score-row .select{width:84px}
@media (max-width:1279px){.prompt-grid{grid-template-columns:200px minmax(0,1fr)}.prompt-grid > aside{grid-column:1 / -1}}
@media (max-width:1023px){.prompt-grid,.cmp-grid.two,.provider-cards{grid-template-columns:1fr!important}}
/* Journey content (docs/design/journey-content): screen list, locale chips, queue items, phone preview */
.scr{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;border:1px solid transparent;font-size:13px;width:100%;background:none;text-align:left;color:inherit}
.ui a.scr{color:inherit}
.scr:hover{background:var(--surface-3)}
.scr.on{background:#fff;border-color:var(--p-200);box-shadow:0 0 0 3px var(--p-50)}
.scr .no{width:22px;height:22px;border-radius:6px;background:var(--surface-3);color:var(--ink-2);font:700 11px/22px var(--font);text-align:center;flex:none}
.scr.on .no{background:var(--p-600);color:#fff}
.scr .grip{color:var(--ink-4);cursor:grab;flex:none}
.scr.dragging{opacity:.5}
.lc{display:inline-flex;align-items:center;justify-content:center;width:24px;height:20px;border-radius:5px;font:700 10px/1 var(--font);letter-spacing:.02em}
.lc.ok{background:#E7F6EF;color:#0B7A52}.lc.miss{background:#FEF4E2;color:#A14F07;box-shadow:inset 0 0 0 1px #F6D7A2}.lc.old{background:#EAF2FE;color:#1759C7}.lc.off{background:var(--surface-3);color:var(--ink-4)}
.qi{display:flex;flex-direction:column;gap:4px;padding:12px 16px;border-bottom:1px solid var(--surface-3)}
.qi.on{background:var(--p-25);box-shadow:inset 3px 0 0 var(--p-600)}
.builder{display:grid;grid-template-columns:300px minmax(0,1fr) 420px;min-height:calc(100vh - 210px);border-top:1px solid var(--border);margin:0 -32px -32px}
.builder > *{min-width:0}
.builder-left{border-right:1px solid var(--border);padding:16px;display:flex;flex-direction:column;gap:6px;background:var(--surface-2)}
.builder-centre{padding:20px;background:var(--bg);background-image:radial-gradient(var(--border) 1px,transparent 1px);background-size:16px 16px;display:flex;flex-direction:column;align-items:center;gap:16px}
.builder-right{border-left:1px solid var(--border);background:#fff;display:flex;flex-direction:column}
.phone{width:300px;border-radius:40px;background:#16151F;padding:12px;box-shadow:var(--sh-lg)}
.phone-screen{border-radius:30px;background:#F7F4EE;min-height:560px;padding:20px 18px;display:flex;flex-direction:column;gap:12px;overflow:hidden;color:#16151F}
.phone-bar{display:flex;align-items:center;gap:10px;color:#45445A}
.phone-bar .track{flex:1;height:5px;border-radius:9px;background:#E3DED3;overflow:hidden}
.phone-bar .track span{display:block;height:100%;background:#B59C6D}
.phone h3{font:700 20px/1.25 var(--font);text-align:center;margin:6px 0 0}
.phone .sub{font-size:13px;color:#6B6A7B;text-align:center;white-space:pre-wrap}
.phone .opt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.phone .opt{background:#fff;border-radius:12px;padding:10px;font-size:12px;text-align:center;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.phone .opt .img{height:56px;border-radius:9px;background:#EDE6D8;margin-bottom:6px;display:flex;align-items:center;justify-content:center;color:#B5AC98;overflow:hidden}
.phone .opt .img img{width:100%;height:100%;object-fit:cover}
.phone .row{background:#fff;border-radius:10px;padding:10px 12px;font-size:13px;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.phone .in{background:#fff;border:1px solid #E3DED3;border-radius:10px;padding:10px 12px;font-size:12.5px;color:#9A97A8;min-height:38px}
.phone .btn-phone{margin-top:auto;background:#16151F;color:#fff;border-radius:12px;padding:12px;text-align:center;font:600 13px/1 var(--font)}
.phone .warn{font-size:11px;color:#A14F07;text-align:center}
.cond{display:grid;grid-template-columns:minmax(0,1.4fr) 130px minmax(0,1fr) 28px;gap:8px;align-items:center}
@media (max-width:1279px){.builder{grid-template-columns:260px minmax(0,1fr)}.builder-right{grid-column:1 / -1;border-left:0;border-top:1px solid var(--border)}}
@media (max-width:1023px){.builder{grid-template-columns:1fr;margin:0}.builder-left{border-right:0}}
.ui [hidden]{display:none!important}
.ui fieldset{border:0;margin:0;padding:0;min-width:0}
.ui legend{padding:0}
.tag.wrap{white-space:normal;word-break:break-all;height:auto;padding:3px 7px;line-height:16px}
/* AI provider page (docs/design/ai-provider-page): provider tile, two-part share bars, day columns */
.pv.lg{width:48px;height:48px;border-radius:12px;font-size:18px}
.share{display:flex;gap:2px;height:12px}
.share i{display:block;height:100%;border-radius:3px}
.share i:first-child{border-radius:99px 3px 3px 99px}
.share i:last-child{border-radius:3px 99px 99px 3px}
.share i:only-child{border-radius:99px}
.col{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px}
.col b{display:block;width:100%;max-width:18px;border-radius:4px 4px 0 0;background:#113942}
.col span{font:700 11.5px/14px var(--font);color:var(--ink);white-space:nowrap}
@media (max-width:1279px){.tiles-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}.charts-row{grid-template-columns:1fr!important}}
@media (max-width:639px){.tiles-4{grid-template-columns:1fr!important}}
.help-faq summary::marker{color:var(--ink-3)}
.help-faq[open] summary{padding-bottom:6px}
@media (max-width:900px){.help-layout{grid-template-columns:minmax(0,1fr)!important}}
[data-help-item][hidden],[data-help-group][hidden]{display:none!important}
.help-article ol{list-style:decimal}.help-article ul{list-style:disc}.help-article li::marker{color:var(--ink-3);font-weight:600}
.adm-foot{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:14px 32px 18px;border-top:1px solid var(--line);font-size:12px;line-height:18px;color:var(--ink-3)}
.adm-foot a{display:inline-flex;align-items:center;gap:4px;color:var(--ink-2);font-weight:600}
.adm-foot a:hover{color:var(--ink)}
.adm-foot .mono{font-size:11.5px}
@media (max-width:760px){.adm-foot{padding:14px 16px 18px}.adm-foot .grow{flex-basis:100%;height:0}}
@media (max-width:760px){.adm-foot>.adm-foot-sep:nth-child(2){display:none}.adm-foot>span:first-child{flex-basis:100%}}
@media (max-width:760px){.billing-tiles{grid-template-columns:minmax(0,1fr)!important}}
.health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media (max-width:1280px){.health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.health-grid{grid-template-columns:minmax(0,1fr)}}
.health-card{display:flex;flex-direction:column;gap:10px}
.hdot{width:10px;height:10px;border-radius:50%;flex:none;background:var(--ink-4,#c4c9d1)}
.hdot-ok{background:#16A34A}.hdot-warn{background:#E08A12}.hdot-fail{background:#DC2626}
.hbars{display:flex;gap:3px;height:28px;margin:4px 0 2px}
.hbar{flex:1;border-radius:2px;background:#E5E7EB}
.hbar-ok{background:#16A34A}.hbar-warn{background:#E08A12}.hbar-fail{background:#DC2626}
