@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(/a/x/inter-variable.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:100 800;font-display:swap;src:url(/a/x/jetbrains-mono.woff2) format("woff2")}

:root{
  --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  --fs:13px;--fs-sm:11.5px;--fs-xs:10.5px;--fs-lg:15px;--fs-xl:18px;--fs-2xl:24px;
  --r:6px;--r-sm:4px;--r-md:6px;--r-lg:10px;--r-xl:14px;
  --bg:#ffffff;--bg-2:#ffffff;--bg-3:#f1f4f7;--bg-4:#e6ebf0;--ink:#0f172a;--ink-2:#334155;--ink-3:#64748b;--ink-4:#94a3b8;--line:#e2e7ed;--line-2:#cdd5de;
  --pri:#00bdff;--pri-2:#009bd1;--pri-soft:#e6f8ff;--pri-ink:#006285;--on-pri:#002d3e;--link:#0079a3;--pri-deep:#0079a3;
  --nav:#002d3e;--nav-2:#0a4257;--nav-ink:#ffffff;--nav-ink-2:rgba(255,255,255,.74);--nav-line:rgba(255,255,255,.16);
  --ok:#059669;--ok-soft:#ecfdf5;--warn:#d97706;--warn-soft:#fffbeb;--dng:#e11d48;--dng-soft:#fff1f2;--info:#0284c7;--info-soft:#f0f9ff;--vio:#7c3aed;--vio-soft:#f5f3ff;
  --ok-ink:#047857;--warn-ink:#b45309;--dng-ink:#be123c;--info-ink:#0369a1;--vio-ink:#6d28d9;--on-st:#fff;
  --shadow:0 1px 2px rgba(15,23,42,.06),0 1px 3px rgba(15,23,42,.08);--shadow-lg:0 10px 30px rgba(15,23,42,.18);
  --top:44px;--side:216px;--side-c:52px;--row:30px;--ctl:28px;
  --tag-slate:#64748b;--tag-red:#dc2626;--tag-orange:#ea580c;--tag-amber:#d97706;--tag-green:#16a34a;--tag-teal:#0d9488;--tag-blue:#2563eb;--tag-indigo:#4f46e5;--tag-violet:#7c3aed;--tag-pink:#db2777;
  color-scheme:light;
}
html[data-theme=dark]{
  --bg:#0b1220;--bg-2:#111a2e;--bg-3:#172238;--bg-4:#1f2c45;--ink:#e6ebf5;--ink-2:#c3cbdc;--ink-3:#8b97ad;--ink-4:#5d6a83;--line:#22304a;--line-2:#2d3d5c;
  --pri:#00bdff;--pri-2:#33caff;--pri-soft:#083344;--pri-ink:#a6e9ff;--link:#4dd0ff;--nav:#001e2a;--nav-2:#07374a;
  --ok:#34d399;--ok-soft:#052e16;--warn:#fbbf24;--warn-soft:#3b2405;--dng:#fb7185;--dng-soft:#4c0519;--info:#38bdf8;--info-soft:#082f49;--vio:#a78bfa;--vio-soft:#2e1065;--ok-ink:#34d399;--warn-ink:#fbbf24;--dng-ink:#fb7185;--info-ink:#38bdf8;--vio-ink:#a78bfa;--on-st:#0b1220;
  --shadow:0 1px 2px rgba(0,0,0,.4);--shadow-lg:0 10px 30px rgba(0,0,0,.6);color-scheme:dark;
}
@media (prefers-color-scheme:dark){html:not([data-theme=light]):not([data-theme=dark]){
  --bg:#0b1220;--bg-2:#111a2e;--bg-3:#172238;--bg-4:#1f2c45;--ink:#e6ebf5;--ink-2:#c3cbdc;--ink-3:#8b97ad;--ink-4:#5d6a83;--line:#22304a;--line-2:#2d3d5c;
  --pri:#00bdff;--pri-2:#33caff;--pri-soft:#083344;--pri-ink:#a6e9ff;--link:#4dd0ff;--nav:#001e2a;--nav-2:#07374a;--ok:#34d399;--ok-soft:#052e16;--warn:#fbbf24;--warn-soft:#3b2405;--dng:#fb7185;--dng-soft:#4c0519;--info:#38bdf8;--info-soft:#082f49;--vio:#a78bfa;--vio-soft:#2e1065;--ok-ink:#34d399;--warn-ink:#fbbf24;--dng-ink:#fb7185;--info-ink:#38bdf8;--vio-ink:#a78bfa;--on-st:#0b1220;
  --shadow:0 1px 2px rgba(0,0,0,.4);--shadow-lg:0 10px 30px rgba(0,0,0,.6);color-scheme:dark}}

*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font:var(--fs)/1.45 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{overflow:hidden}
#r{height:100%}
a{color:var(--link,var(--pri));text-decoration:none}a:hover{text-decoration:underline}
h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.01em}
h1{font-size:var(--fs-xl)}h2{font-size:var(--fs-lg)}h3{font-size:var(--fs)}h4{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)}
p{margin:0 0 .5em}
small,.small{font-size:var(--fs-sm)}.xs{font-size:var(--fs-xs)}
.muted{color:var(--ink-3)}.faint{color:var(--ink-4)}.mono{font-family:var(--mono);font-size:12px}
.num{text-align:right;font-variant-numeric:tabular-nums}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hidden{display:none!important}
.b{font-weight:600}.i{font-style:italic}.u{text-decoration:underline}.caps{text-transform:uppercase;letter-spacing:.06em;font-size:var(--fs-xs);font-weight:600;color:var(--ink-3)}
.ok{color:var(--ok)}.warn{color:var(--warn)}.dng{color:var(--dng)}.info{color:var(--info)}.pri{color:var(--link)}
.ic{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-3px}
.ic-sm{width:13px;height:13px}.ic-lg{width:20px;height:20px}.ic-xl{width:28px;height:28px}

html.busy::before{content:"";position:fixed;top:0;left:0;height:2px;width:35%;background:var(--pri);z-index:9999;animation:busy 1s infinite linear}
@keyframes busy{0%{left:-35%}100%{left:100%}}
.boot{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--ink-3)}
.spinner{width:28px;height:28px;border:3px solid var(--line-2);border-top-color:var(--pri-2);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

.app{display:grid;grid-template-rows:var(--top) 1fr;grid-template-columns:var(--side) 1fr;height:100%;background:var(--bg)}
.app.side-collapsed{grid-template-columns:var(--side-c) 1fr}
.topbar{grid-column:1/3;display:flex;align-items:center;gap:8px;padding:0 10px;background:var(--bg-2);border-bottom:1px solid var(--line);z-index:30}
.brand{display:flex;align-items:center;gap:8px;font-weight:700;letter-spacing:-.02em;min-width:0}
.brand .logo{width:26px;height:26px;border-radius:7px;background:rgba(255,255,255,.14);color:#fff;display:grid;place-items:center;font-size:10.5px;font-weight:700;letter-spacing:.03em;flex:none}
.co-switch{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:var(--r);border:1px solid transparent;cursor:pointer;max-width:240px}
.co-switch:hover{background:var(--bg-3);border-color:var(--line)}
.gs{flex:1;max-width:560px;position:relative;margin:0 8px}
.gs input{width:100%;height:30px;padding:0 30px 0 32px;border-radius:8px;border:1px solid var(--line);background:var(--bg-3);color:var(--ink);font:inherit}
.gs input:focus{outline:2px solid var(--pri-2);outline-offset:-1px;background:var(--bg-2)}
.gs .gs-field>.ic{position:absolute;left:10px;top:7px;color:var(--ink-4)}
.gs .kbd{position:absolute;right:8px;top:6px}
.kbd{display:inline-block;padding:0 5px;border:1px solid var(--line-2);border-bottom-width:2px;border-radius:4px;font:11px var(--mono);color:var(--ink-3);background:var(--bg-2);line-height:16px}
.top-actions{display:flex;align-items:center;gap:2px;margin-left:auto}
.side{background:var(--bg-2);border-right:1px solid var(--line);overflow-y:auto;overflow-x:hidden;padding:8px 6px;display:flex;flex-direction:column;gap:1px;scrollbar-width:thin}
.side-group{padding:10px 8px 3px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4);white-space:nowrap;overflow:hidden}
.side-item{display:flex;align-items:center;gap:9px;height:30px;padding:0 8px;border-radius:var(--r);color:var(--ink-2);cursor:pointer;white-space:nowrap;text-decoration:none!important;font-weight:500;user-select:none}
.side-item:hover{background:var(--bg-3);color:var(--ink)}
.side-item.active{background:var(--bg-3);color:var(--nav);font-weight:600;box-shadow:inset 3px 0 0 var(--pri-2)}
.side-item .ic{color:var(--ink-3)}.side-item.active .ic{color:var(--link)}
html[data-theme=dark] .side-item.active{color:var(--ink)}
.side-item .cnt{margin-left:auto;font-size:var(--fs-xs);color:var(--ink-4);font-variant-numeric:tabular-nums}
.side-collapsed .side-item span,.side-collapsed .side-group,.side-collapsed .side-item .cnt{display:none}
.side-collapsed .side-item{justify-content:center;padding:0}
.main{overflow:auto;position:relative;padding:14px 18px 40px;scroll-behavior:smooth}
.main.flush{padding:0}
.page-hd{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.page-hd .ttl{min-width:0}
.page-title{font-size:var(--fs-xl);font-weight:700;letter-spacing:-.02em;display:flex;align-items:center;gap:8px}
.page-sub{color:var(--ink-3);margin-top:2px}
.crumbs{display:flex;gap:6px;font-size:var(--fs-sm);color:var(--ink-3);margin-bottom:4px;flex-wrap:wrap}
.crumbs a{color:var(--ink-3)}.crumbs a:hover{color:var(--link)}
.page-actions{margin-left:auto;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.toolbar .spacer,.spacer{flex:1}
.row{display:flex;align-items:center;gap:8px}.row.top{align-items:flex-start}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.center{justify-content:center}.end{justify-content:flex-end}
.stack{display:flex;flex-direction:column;gap:8px}.stack.tight{gap:4px}.stack.loose{gap:16px}
.gap-2{gap:2px}.gap-4{gap:4px}.gap-12{gap:12px}.gap-16{gap:16px}
.grid{display:grid;gap:12px}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.cols-auto{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.split{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}
.split.left{grid-template-columns:300px minmax(0,1fr)}
.split.wide{grid-template-columns:minmax(0,1fr) 400px}
.rail{position:sticky;top:0;display:flex;flex-direction:column;gap:12px}
.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.ml-a{margin-left:auto}
.p-0{padding:0}.p-2{padding:8px}.p-3{padding:12px}
.w-100{width:100%}.h-100{height:100%}
.sep{height:1px;background:var(--line);margin:8px 0}.vsep{width:1px;background:var(--line);align-self:stretch;margin:0 4px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--ctl);padding:0 10px;border-radius:var(--r);border:1px solid var(--line-2);background:var(--bg-2);color:var(--ink);font:inherit;font-weight:500;cursor:pointer;white-space:nowrap;user-select:none;text-decoration:none!important;line-height:1}
.btn:hover{background:var(--bg-3);border-color:var(--ink-4)}
.btn:active{transform:translateY(.5px)}
.btn:disabled,.btn[disabled]{opacity:.55;cursor:not-allowed}
.btn:focus-visible,.input:focus-visible,.select:focus-visible,.textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--pri-2);outline-offset:1px}
.btn-primary{background:var(--pri);border-color:var(--pri);color:var(--on-pri)}.btn-primary:hover{background:var(--pri-2);border-color:var(--pri-2)}
.btn-secondary{background:var(--pri-soft);border-color:transparent;color:var(--pri-ink)}.btn-secondary:hover{background:var(--pri-soft);filter:brightness(.97)}
.btn-ghost{background:transparent;border-color:transparent;color:var(--ink-2)}.btn-ghost:hover{background:var(--bg-3);border-color:transparent;color:var(--ink)}
.btn-danger{background:var(--dng);border-color:var(--dng);color:var(--on-st)}.btn-danger:hover{filter:brightness(.92)}
.btn-danger-ghost{background:transparent;border-color:transparent;color:var(--dng)}.btn-danger-ghost:hover{background:var(--dng-soft)}
.btn-ok{background:var(--ok);border-color:var(--ok);color:var(--on-st)}
.btn-link{background:none;border:0;color:var(--link);padding:0;height:auto}.btn-link:hover{text-decoration:underline;background:none}
.btn-sm{height:24px;padding:0 7px;font-size:var(--fs-sm)}.btn-sm .ic{width:13px;height:13px}
.btn-lg{height:36px;padding:0 16px;font-size:var(--fs-lg);border-radius:8px}
.btn-icon{width:var(--ctl);padding:0}.btn-icon.btn-sm{width:24px}
.btn-group{display:inline-flex}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-radius:var(--r) 0 0 var(--r)}.btn-group .btn:last-child{border-radius:0 var(--r) var(--r) 0}.btn-group .btn+.btn{margin-left:-1px}
.btn-group .btn.on{background:var(--pri-soft);color:var(--pri-ink);border-color:var(--pri-2);z-index:1}
.input,.select,.textarea{height:var(--ctl);padding:0 8px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--bg-2);color:var(--ink);font:inherit;width:100%;min-width:0}
.input:hover,.select:hover,.textarea:hover{border-color:var(--ink-4)}
.input::placeholder{color:var(--ink-4)}
.input[readonly],.input:disabled,.select:disabled,.textarea:disabled{background:var(--bg-3);color:var(--ink-3)}
.textarea{height:auto;min-height:64px;padding:6px 8px;resize:vertical;line-height:1.4}
.select{padding-right:24px;appearance:none;background-image: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='%2364748b' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 7px center}
.select[multiple]{height:auto;min-height:80px;background-image:none;padding:4px}
.input-sm{height:24px;font-size:var(--fs-sm)}
.input.mono{font-family:var(--mono)}
.fld{display:flex;flex-direction:column;gap:3px;min-width:0}
.fld>span,.fld .lbl{font-size:var(--fs-sm);font-weight:500;color:var(--ink-2);display:flex;gap:4px;align-items:center}
.fld.req>span::after,.fld.req .lbl::after{content:"*";color:var(--dng)}
.fld-help{color:var(--ink-3);font-size:var(--fs-xs)}
.fld-err{color:var(--dng);font-size:var(--fs-xs);font-weight:500}
.fld.err .input,.fld.err .select,.fld.err .textarea{border-color:var(--dng);box-shadow:0 0 0 2px var(--dng-soft)}
.fld.inline{flex-direction:row;align-items:center;gap:10px}.fld.inline>span{width:140px;flex:none;justify-content:flex-end}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
.form-grid.cols-1{grid-template-columns:1fr}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.span2{grid-column:span 2}.span3{grid-column:span 3}.span-all{grid-column:1/-1}
.form-sec{grid-column:1/-1;display:flex;align-items:center;gap:8px;margin-top:6px;padding-bottom:4px;border-bottom:1px solid var(--line);font-weight:600}
.form-sec:first-child{margin-top:0}
.ro{min-height:var(--ctl);display:flex;align-items:center;padding:0 2px;color:var(--ink)}
.ro-lock{gap:6px;cursor:help}
.switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;min-height:var(--ctl);font-weight:500}
.switch input{position:absolute;opacity:0;width:0;height:0}
.switch i{width:32px;height:18px;border-radius:9px;background:var(--line-2);position:relative;transition:background .15s;flex:none}
.switch i::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .15s;box-shadow:0 1px 2px rgba(0,0,0,.3)}
.switch input:checked+i{background:var(--pri)}.switch input:checked+i::after{left:16px}
.switch input:focus-visible+i{outline:2px solid var(--pri-2);outline-offset:2px}
.check,.radio{display:inline-flex;align-items:center;gap:6px;cursor:pointer;min-height:24px}
.check input,.radio input{width:15px;height:15px;accent-color:var(--pri);margin:0}
.chips{display:flex;flex-wrap:wrap;gap:4px}
.chip{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:11px;background:var(--bg-3);border:1px solid var(--line);font-size:var(--fs-sm);color:var(--ink-2);white-space:nowrap}
.chip.on,.chip.active{background:var(--pri-soft);border-color:var(--pri-2);color:var(--pri-ink)}
.chip.sel{background:var(--pri);color:var(--on-pri);border-color:var(--pri)}
.chip .x{cursor:pointer;opacity:.6}.chip .x:hover{opacity:1}
.search{position:relative}.search .input{padding-left:28px}.search .ic{position:absolute;left:8px;top:6px;color:var(--ink-4)}
.search.p-2 .ic{left:16px;top:50%;transform:translateY(-50%)}
.lookup{position:relative}
.lookup .pop{width:100%;max-height:260px;overflow:auto}
.lookup-item{display:flex;flex-direction:column;padding:6px 10px;cursor:pointer}.lookup-item:hover,.lookup-item.active{background:var(--bg-3)}
.lookup-item small{color:var(--ink-3)}

.tbl-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-2)}
.tbl{width:100%;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}
.tbl th,.tbl td{height:var(--row);padding:0 10px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:middle}
.tbl th{position:sticky;top:0;background:var(--bg-3);color:var(--ink-3);font-weight:600;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;z-index:2;user-select:none}
.tbl th.sort{cursor:pointer}.tbl th.sort:hover{color:var(--ink)}
.tbl th .ic{width:12px;height:12px;vertical-align:-2px}
.tbl tbody tr:hover td{background:var(--bg-3)}
.tbl tbody tr.sel td{background:var(--pri-soft)}
.tbl tbody tr.link{cursor:pointer}
.tbl tbody tr:last-child td{border-bottom:0}
.tbl td.num,.tbl th.num{text-align:right}
.tbl td.c,.tbl th.c{text-align:center}
.tbl .chk{width:32px;padding:0 0 0 10px}
.tbl .chk input{width:14px;height:14px;accent-color:var(--pri);vertical-align:middle;margin:0}
.tbl td .avatar{vertical-align:middle}
.tbl.dense th,.tbl.dense td{height:26px;padding:0 8px;font-size:var(--fs-sm)}
.tbl.wrapcells td{white-space:normal}
.tbl tfoot td{background:var(--bg-3);font-weight:600;border-top:1px solid var(--line-2)}
.tbl a.rec{color:var(--ink);font-weight:500}.tbl a.rec:hover{color:var(--link)}
.pager{display:flex;align-items:center;gap:8px;padding:6px 10px;border-top:1px solid var(--line);color:var(--ink-3);font-size:var(--fs-sm);background:var(--bg-2)}
.pager .btn{height:24px}
.bulkbar{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--pri-soft);border:1px solid var(--pri-2);border-radius:var(--r-lg);margin-bottom:8px;color:var(--pri-ink);font-weight:500}

.badge{display:inline-flex;align-items:center;gap:4px;height:18px;padding:0 6px;border-radius:9px;font-size:var(--fs-xs);font-weight:600;background:var(--bg-4);color:var(--ink-2);white-space:nowrap;line-height:1}
.badge-ok{background:var(--ok-soft);color:var(--ok-ink)}.badge-warn{background:var(--warn-soft);color:var(--warn-ink)}.badge-dng{background:var(--dng-soft);color:var(--dng-ink)}.badge-info{background:var(--info-soft);color:var(--info-ink)}.badge-pri{background:var(--pri-soft);color:var(--pri-ink)}.badge-vio{background:var(--vio-soft);color:var(--vio-ink)}
.badge-solid{background:var(--pri);color:var(--on-pri)}
.badge.lg{height:22px;padding:0 9px;font-size:var(--fs-sm)}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ink-4);flex:none}
.dot-ok{background:var(--ok)}.dot-warn{background:var(--warn)}.dot-dng{background:var(--dng)}.dot-info{background:var(--info)}.dot-pri{background:var(--pri)}
.avatar{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--pri-soft);color:var(--pri-ink);font-size:11px;font-weight:700;flex:none;overflow:hidden;text-transform:uppercase}
.avatar img{width:100%;height:100%;object-fit:cover}
.avatar-sm{width:20px;height:20px;font-size:9px}.avatar-lg{width:40px;height:40px;font-size:15px}.avatar-xl{width:56px;height:56px;font-size:20px}
.avatar.a1{background:#fde68a;color:#78350f}.avatar.a2{background:#bbf7d0;color:#14532d}.avatar.a3{background:#bfdbfe;color:#1e3a8a}.avatar.a4{background:#fbcfe8;color:#831843}.avatar.a5{background:#ddd6fe;color:#4c1d95}.avatar.a6{background:#fed7aa;color:#7c2d12}.avatar.a7{background:#99f6e4;color:#134e4a}
.tag{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:4px;font-size:var(--fs-xs);font-weight:600;color:#fff;background:var(--tag-slate);white-space:nowrap}
.tag-slate{background:var(--tag-slate)}.tag-red{background:var(--tag-red)}.tag-orange{background:var(--tag-orange)}.tag-amber{background:var(--tag-amber)}.tag-green{background:var(--tag-green)}.tag-teal{background:var(--tag-teal)}.tag-blue{background:var(--tag-blue)}.tag-indigo{background:var(--tag-indigo)}.tag-violet{background:var(--tag-violet)}.tag-pink{background:var(--tag-pink)}
.user-chip{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.stage-pill{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px 0 6px;border-radius:11px;background:var(--bg-3);border:1px solid var(--line);font-weight:600;font-size:var(--fs-sm)}
.sla{display:inline-flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums;font-weight:600;font-size:var(--fs-sm)}
.sla-ok{color:var(--ok)}.sla-warn{color:var(--warn)}.sla-dng{color:var(--dng)}

.card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0}
.card-hd{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);min-height:38px}
.card-hd h3{flex:1;min-width:0;display:flex;align-items:center;gap:6px}
.card-hd .cnt{color:var(--ink-4);font-weight:500}
.card-bd{padding:12px}.card-bd.p-0{padding:0}.card-bd.tight{padding:8px 12px}
.card-ft{padding:8px 12px;border-top:1px solid var(--line);display:flex;gap:6px;align-items:center;background:var(--bg-3);border-radius:0 0 var(--r-lg) var(--r-lg)}
.card.flat{box-shadow:none}
.card.accent{border-top:3px solid var(--pri-2)}
.stat{padding:10px 12px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);display:flex;flex-direction:column;gap:2px;min-width:0;position:relative}
.stat-l{font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);display:flex;gap:6px;align-items:center}
.stat-v{font-size:22px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.2}
.stat-d{font-size:var(--fs-sm);color:var(--ink-3)}
.stat-d.up{color:var(--ok)}.stat-d.down{color:var(--dng)}
.stat .ic{color:var(--ink-4)}
.stat.link{cursor:pointer}.stat.link:hover{border-color:var(--pri-2)}
.stat.hot{border-color:var(--dng);background:var(--dng-soft)}
.kv{display:grid;grid-template-columns:minmax(110px,32%) 1fr;gap:4px 12px;margin:0;align-items:baseline}
.kv dt{color:var(--ink-3);font-size:var(--fs-sm);font-weight:500}
.kv dd{margin:0;min-width:0;word-break:break-word;min-height:20px}
.kv dd:empty::after,.kv dd.empty::after{content:"—";color:var(--ink-4)}
.kv.compact{gap:2px 10px}
.kv .editable{cursor:text;border-radius:4px;margin:-1px -4px;padding:1px 4px}.kv .editable:hover{background:var(--bg-3);outline:1px dashed var(--line-2)}

.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:12px;overflow-x:auto;scrollbar-width:none}
.tabs.tabs-wrap{flex-wrap:wrap;overflow:visible;row-gap:2px}
.tabs::-webkit-scrollbar{display:none}
.tab{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;color:var(--ink-3);font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;user-select:none;background:none;border-top:0;border-left:0;border-right:0;font:inherit}
.tab:hover{color:var(--ink)}.tab.active{color:var(--link);border-bottom-color:var(--pri-2)}
.tab .cnt{background:var(--bg-4);color:var(--ink-3);border-radius:9px;padding:0 6px;font-size:var(--fs-xs);font-weight:600;line-height:16px}
.tab.active .cnt{background:var(--pri-soft);color:var(--pri-ink)}
.tabs.pills{border:0;gap:4px}.tabs.pills .tab{border:1px solid var(--line);border-radius:14px;height:26px;margin:0}.tabs.pills .tab.active{background:var(--pri-soft);border-color:var(--pri-2)}
.seg{display:inline-flex;background:var(--bg-3);border-radius:var(--r);padding:2px;gap:2px}
.seg .btn{height:22px;border:0;background:transparent;font-size:var(--fs-sm)}.seg .btn.on{background:var(--bg-2);box-shadow:var(--shadow)}

.alert{display:flex;gap:8px;align-items:flex-start;padding:8px 12px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--bg-3);font-size:var(--fs-sm)}
.alert .ic{margin-top:1px}
.alert-info{background:var(--info-soft);border-color:transparent;color:var(--info-ink)}.alert-ok{background:var(--ok-soft);border-color:transparent;color:var(--ok-ink)}.alert-warn{background:var(--warn-soft);border-color:transparent;color:var(--warn-ink)}.alert-danger,.alert-dng{background:var(--dng-soft);border-color:transparent;color:var(--dng-ink)}
.alert b{font-weight:600}
.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 16px;color:var(--ink-3);gap:6px}
.empty .ic{width:36px;height:36px;color:var(--ink-4);stroke-width:1.5}
.empty h3{color:var(--ink-2)}

.timeline{display:flex;flex-direction:column;position:relative;padding-left:22px}
.timeline::before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:2px;background:var(--line)}
.tl-item{position:relative;padding:4px 0 10px}
.tl-dot{position:absolute;left:-19px;top:6px;width:16px;height:16px;border-radius:50%;background:var(--bg-2);border:2px solid var(--line-2);display:grid;place-items:center;color:var(--ink-3)}
.tl-dot .ic{width:9px;height:9px}
.tl-dot.ok{border-color:var(--ok);color:var(--ok)}.tl-dot.pri{border-color:var(--pri-2);color:var(--link)}.tl-dot.warn{border-color:var(--warn);color:var(--warn)}.tl-dot.dng{border-color:var(--dng);color:var(--dng)}.tl-dot.info{border-color:var(--info);color:var(--info)}
.tl-hd{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.tl-hd .when{margin-left:auto;color:var(--ink-3);font-size:var(--fs-xs);white-space:nowrap}
.tl-body{color:var(--ink-2);margin-top:2px;white-space:pre-wrap;word-break:break-word}
.tl-day{font-size:var(--fs-xs);font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;margin:6px 0 4px}

.kanban{display:flex;gap:10px;overflow-x:auto;align-items:flex-start;padding-bottom:8px;min-height:60vh}
.kcol{flex:0 0 268px;background:var(--bg-3);border:1px solid var(--line);border-radius:var(--r-lg);display:flex;flex-direction:column;max-height:calc(100vh - 190px)}
.kcol-hd{display:flex;align-items:center;gap:6px;padding:8px 10px;font-weight:600;border-bottom:1px solid var(--line);position:sticky;top:0}
.kcol-hd .cnt{color:var(--ink-3);font-weight:500}.kcol-hd .sum{margin-left:auto;font-size:var(--fs-xs);color:var(--ink-3);font-variant-numeric:tabular-nums}
.kcol-bd{padding:8px;display:flex;flex-direction:column;gap:6px;overflow-y:auto;min-height:60px;flex:1}
.kcol.drag-over{background:var(--pri-soft);border-color:var(--pri-2)}
.kcard{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);padding:8px 10px;box-shadow:var(--shadow);cursor:grab;display:flex;flex-direction:column;gap:4px}
.kcard:hover{border-color:var(--ink-4)}.kcard.dragging{opacity:.5}
.kcard .kt{font-weight:600;display:flex;gap:6px;align-items:center}
.kcard .ks{color:var(--ink-3);font-size:var(--fs-sm)}
.kcard .kf{display:flex;align-items:center;gap:6px;margin-top:2px}
.kcard.hot{border-left:3px solid var(--dng)}.kcard.warm{border-left:3px solid var(--warn)}

.cal{display:grid;grid-template-columns:48px repeat(var(--days,7),minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-2);overflow:hidden;position:relative}
.cal-hd{height:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-bottom:1px solid var(--line);border-left:1px solid var(--line);font-size:var(--fs-sm);color:var(--ink-3);position:sticky;top:0;background:var(--bg-3);z-index:2}
.cal-hd b{color:var(--ink);font-size:var(--fs-lg)}.cal-hd.today b{color:var(--link)}
.cal-time{height:48px;font-size:var(--fs-xs);color:var(--ink-4);text-align:right;padding:2px 6px 0 0;border-top:1px solid var(--line)}
.cal-cell{height:48px;border-left:1px solid var(--line);border-top:1px solid var(--line);position:relative}
.cal-cell.off{background:var(--bg-3)}
.cal-cell.drop.drag-over{background:var(--pri-soft)}
.cal-evt{position:absolute;left:2px;right:2px;border-radius:5px;padding:2px 6px;font-size:var(--fs-xs);font-weight:600;background:var(--pri-soft);color:var(--pri-ink);border-left:3px solid var(--pri-2);overflow:hidden;cursor:pointer;z-index:1;line-height:1.3}
.cal-evt.viewing{background:var(--info-soft);color:var(--info-ink);border-color:var(--info)}.cal-evt.valuation{background:var(--vio-soft);color:var(--vio-ink);border-color:var(--vio)}.cal-evt.task{background:var(--warn-soft);color:var(--warn-ink);border-color:var(--warn)}.cal-evt.busy{background:var(--bg-4);color:var(--ink-3);border-color:var(--ink-4)}.cal-evt.cancelled{opacity:.5;text-decoration:line-through}.cal-evt.slot{background:transparent;border:1px dashed var(--ok);color:var(--ok)}
.cal-evt:hover{filter:brightness(.95);z-index:3}
.cal-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--bg-2)}
.cal-month .dow{padding:6px;text-align:center;font-size:var(--fs-xs);font-weight:600;color:var(--ink-3);background:var(--bg-3);border-bottom:1px solid var(--line)}
.cal-day{min-height:92px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:4px;display:flex;flex-direction:column;gap:2px}
.cal-day.other{background:var(--bg-3);color:var(--ink-4)}.cal-day .d{font-size:var(--fs-sm);font-weight:600;align-self:flex-end}.cal-day.today .d{background:var(--pri);color:var(--on-pri);border-radius:50%;width:20px;height:20px;display:grid;place-items:center}
.cal-day .cal-evt{position:static;padding:1px 5px}
.agenda .ag-day{display:grid;grid-template-columns:70px 1fr;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}
.agenda .ag-t{color:var(--ink-3);font-weight:600;font-size:var(--fs-sm)}

.stepper{display:flex;gap:4px;margin-bottom:14px;overflow-x:auto}
.step{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--r);color:var(--ink-3);font-weight:500;white-space:nowrap;flex:1;min-width:0}
.step i{width:22px;height:22px;border-radius:50%;border:2px solid var(--line-2);display:grid;place-items:center;font-size:var(--fs-xs);font-style:normal;font-weight:700;flex:none}
.step.active{color:var(--pri-ink);background:var(--pri-soft)}.step.active i{border-color:var(--pri);background:var(--pri);color:var(--on-pri)}
.step.done{color:var(--ink-2)}.step.done i{border-color:var(--ok);background:var(--ok);color:var(--on-st)}
.step .ic{width:12px;height:12px}
.wizard{max-width:980px;margin:0 auto}
.wizard .card-ft{justify-content:flex-end}
.progress{height:6px;background:var(--bg-4);border-radius:3px;overflow:hidden;width:100%}
.progress>i{display:block;height:100%;background:var(--pri);border-radius:3px}
.progress.ok>i{background:var(--ok)}.progress.warn>i{background:var(--warn)}.progress.dng>i{background:var(--dng)}
.score{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;font-weight:700;font-size:var(--fs-sm);background:var(--bg-4)}
.score.hot{background:var(--dng);color:var(--on-st)}.score.warm{background:var(--warn);color:var(--on-st)}.score.cold{background:var(--info-soft);color:var(--info-ink)}

.dropdown{position:relative;display:inline-block}
.pop{display:none;position:absolute;top:calc(100% + 4px);left:0;min-width:200px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);z-index:50;padding:4px}
.pop.right{left:auto;right:0}.pop.up{top:auto;bottom:calc(100% + 4px)}.pop.wide{min-width:320px}.pop.xwide{min-width:460px;max-width:90vw}
.pop.open{display:block;animation:pop .12s ease-out}
@keyframes pop{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
.menu{display:flex;flex-direction:column}
.menu-item{display:flex;align-items:center;gap:8px;height:30px;padding:0 10px;border-radius:var(--r);color:var(--ink);cursor:pointer;white-space:nowrap;background:none;border:0;font:inherit;text-align:left;width:100%}
.menu-item:hover{background:var(--bg-3)}.menu-item.danger{color:var(--dng)}.menu-item .ic{color:var(--ink-3)}.menu-item.danger .ic{color:var(--dng)}
.menu-item .kbd{margin-left:auto}
.menu-item .menu-count{margin-left:auto;padding-left:10px;font-size:var(--fs-xs);color:var(--ink-3);font-variant-numeric:tabular-nums}
.menu-hd{padding:6px 10px 2px;font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4)}
.menu-sep{height:1px;background:var(--line);margin:4px 0}
.pop .lookup-item,.pop .menu-item small{font-size:var(--fs-xs)}
.modal{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:100;align-items:flex-start;justify-content:center;padding:6vh 16px;overflow:auto;backdrop-filter:blur(2px)}
.modal.open{display:flex}
.modal-dialog{background:var(--bg-2);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);width:100%;max-width:560px;display:flex;flex-direction:column;max-height:88vh;animation:pop .15s ease-out;border:1px solid var(--line)}
.modal-dialog.lg{max-width:860px}.modal-dialog.xl{max-width:1100px}.modal-dialog.sm{max-width:420px}
.modal-hd{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line)}
.modal-hd h2{flex:1}
.modal-bd{padding:16px;overflow:auto}
.modal-ft{display:flex;gap:6px;justify-content:flex-end;align-items:center;padding:10px 16px;border-top:1px solid var(--line);background:var(--bg-3);border-radius:0 0 var(--r-xl) var(--r-xl)}
.toasts{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:6px;z-index:200;pointer-events:none}
.ask-wrap{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:150;display:flex;align-items:flex-start;justify-content:center;padding:18vh 16px 16px}
.ask-box{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 18px 50px rgba(15,23,42,.25);width:100%;max-width:420px;padding:18px 18px 14px}
.ask-msg{margin:0 0 16px;font-size:15px;line-height:1.45;color:var(--ink);white-space:pre-line}
.ask-row{display:flex;justify-content:flex-end;gap:8px}
.toast{padding:9px 14px;border-radius:var(--r-lg);background:var(--ink);color:#fff;box-shadow:var(--shadow-lg);font-weight:500;opacity:0;transform:translateY(6px);transition:all .25s;max-width:380px;pointer-events:auto}
.toast.in{opacity:1;transform:none}
.toast-success{background:var(--ok)}.toast-danger{background:var(--dng)}.toast-warn{background:var(--warn)}.toast-info{background:#1e293b}
html[data-theme=dark] .toast{color:#0b1220}html[data-theme=dark] .toast-info{background:#e2e8f0}

.list{display:flex;flex-direction:column;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.li{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--line);position:relative;background:var(--bg-2);cursor:pointer;min-height:48px}
.li:last-child{border-bottom:0}.li:hover{background:var(--bg-3)}
.li-m{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.li-t{font-weight:600;display:flex;gap:6px;align-items:center;min-width:0}
.li-s{color:var(--ink-3);font-size:var(--fs-sm);display:flex;gap:6px;align-items:center;min-width:0;flex-wrap:wrap}
.li-r{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:var(--fs-sm);color:var(--ink-3);white-space:nowrap}
.swipe-actions{position:absolute;right:0;top:0;bottom:0;display:flex;transform:translateX(100%);transition:transform .2s}
.swiped-left .swipe-actions{transform:none}
.li>.li-tick{display:none;flex:none;width:20px;height:20px;margin:0;accent-color:var(--pri)}
.list.sel-mode .li>.li-tick{display:block}.list.sel-mode .li.li-on{background:var(--pri-soft)}
.li[data-swipe]{-webkit-touch-callout:none}.list.sel-mode .li{-webkit-user-select:none;user-select:none}
.sf-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 8px}.sf-chip{cursor:pointer;border:1px solid var(--line);background:var(--bg-2);font:inherit}
.tel-web{position:fixed;right:16px;bottom:16px;z-index:1250;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:8px 10px;min-width:240px;max-width:330px;font-size:var(--fs-sm)}
.tel-web .tw-hd{display:flex;align-items:center;gap:8px}.tel-web .tw-who{color:var(--ink-2);font-variant-numeric:tabular-nums}
.tel-web .tw-clock{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:700}
.tel-web .tw-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tel-web .tw-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:8px}
.tel-web .btn.on{background:var(--pri-soft);border-color:var(--pri-2);color:var(--pri-ink)}
.tel-web.tw-ready,.tel-web.tw-starting{min-width:0;padding:5px 10px;opacity:.9}.tel-web.tw-ready .tw-hd b,.tel-web.tw-starting .tw-hd b{font-weight:500;color:var(--ink-3)}
.tel-web.tw-ringing{border-color:var(--ok);box-shadow:0 0 0 3px var(--ok-soft),var(--shadow-lg)}.tel-web.tw-oncall{border-color:var(--ok)}
.tel-web.tw-error,.tel-web.tw-off{border-color:var(--warn)}
@media (max-width:767px){.tel-web{right:8px;left:8px;max-width:none;bottom:calc(72px + env(safe-area-inset-bottom))}}
.modal-dock{position:fixed;left:16px;bottom:0;z-index:1300;display:flex;gap:6px;align-items:flex-end;max-width:calc(100vw - 390px);overflow-x:auto;scrollbar-width:none}
.modal-dock.hidden{display:none}
.dock-tab{display:flex;align-items:center;flex:none;max-width:250px;background:var(--bg-2);border:1px solid var(--line);border-bottom:0;border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:var(--shadow-lg)}
.dock-open{display:flex;align-items:center;gap:6px;min-width:0;border:0;background:transparent;padding:9px 4px 9px 12px;font:inherit;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer}
.dock-open span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dock-open:hover span{text-decoration:underline}
.dock-x{border:0;background:transparent;padding:9px 10px 9px 6px;cursor:pointer;color:var(--ink-3)}.dock-x:hover{color:var(--dng)}
@media (max-width:767px){.modal-dock{left:8px;right:8px;max-width:none;z-index:90;bottom:calc(64px + env(safe-area-inset-bottom))}.dock-tab{max-width:200px}}
@media (max-width:767px){#modal.modal.min .modal-dialog{left:8px;right:8px;width:auto;bottom:calc(64px + env(safe-area-inset-bottom))}body:has(#modal.modal.min) .modal-dock{bottom:calc(118px + env(safe-area-inset-bottom))}}
@media (min-width:768px){body:has(.tel-live .tel-card) .tel-web{right:392px}}
@media (max-width:767px){body:has(.tel-web) .tel-live{bottom:calc(80px + var(--tw-h, 90px) + env(safe-area-inset-bottom))}}
@media (max-width:767px){
  .tel-live{max-height:calc(100dvh - 70px - var(--top, 48px) - 8px - env(safe-area-inset-top));overflow-y:auto;overscroll-behavior:contain}
  body:has(.tel-web) .tel-live{max-height:calc(100dvh - 80px - var(--tw-h, 90px) - var(--top, 48px) - 8px - env(safe-area-inset-bottom) - env(safe-area-inset-top))}
  body:has(#modal .modal-dialog) .tel-live{display:none}
  body:has(#modal .modal-dialog) .tel-web{top:calc(8px + env(safe-area-inset-top));bottom:auto}
  body:has(.tel-web):has(#modal .modal-dialog) .modal-dialog{max-height:calc(100dvh - var(--tw-h, 90px) - 24px - env(safe-area-inset-top))}
}
.camp-frame{width:100%;min-height:360px;border:0;display:block}
.fcmp-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,2fr) auto;gap:10px;align-items:center}
.fcmp-bar{position:relative;height:12px;background:var(--bg-3);border-radius:6px;overflow:hidden}.fcmp-bar>i{position:absolute;left:0;top:0;bottom:0;border-radius:6px}
.fw-page{display:inline-block;max-width:340px;vertical-align:bottom}
.sf-chips .sf-chip .chip-n{margin-left:6px;background:var(--bg-3);color:var(--ink-2)}.sf-chips .sf-chip.on .chip-n{background:var(--bg-2);color:var(--pri-ink)}
@media (max-width:767px){.sf-chips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.sf-chips>*{flex:none}}
@media (max-width:767px){#lst>.bulkbar{position:fixed;left:8px;right:8px;bottom:calc(68px + env(safe-area-inset-bottom));z-index:41;margin:0;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;box-shadow:var(--shadow-lg);background:linear-gradient(var(--pri-soft),var(--pri-soft)),var(--bg-2)}
  #lst>.bulkbar>*{flex:none}#lst>.bulkbar>.spacer{display:none}body:has(#lst>.bulkbar:not(.hidden)) .fab{display:none}#lst:has(>.bulkbar:not(.hidden)){padding-bottom:56px}}
.hide-blank .sec-blank{display:none}
.user-pane{display:grid;grid-template-columns:236px minmax(0,1fr);gap:16px;align-items:start}
.upl{position:sticky;top:0;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);display:flex;flex-direction:column;max-height:calc(100vh - 140px);overflow:hidden}
.upl .search{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line)}.upl .search .input{flex:1;min-width:0}
.upl-list{overflow:auto;flex:1;padding:4px}
.upl-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;min-width:0}.upl-row:hover{background:var(--bg-3)}
.upl-row.on{background:var(--pri-soft)}.upl-row.on b{color:var(--pri-ink)}
.upl-row .two-line{min-width:0;flex:1}.upl-row .two-line b,.upl-row .two-line small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.upl-all{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--link);cursor:pointer}
@media (max-width:1100px){.user-pane{grid-template-columns:minmax(0,1fr)}.upl{display:none}}
.udd-row{padding:6px 0;border-bottom:1px solid var(--line)}.udd-row:last-child{border-bottom:0}
.pick-hist td.num,.pick-hist th.num{text-align:right;font-variant-numeric:tabular-nums}.pick-hist td{vertical-align:middle}
.sbx-st{align-items:flex-start}
.inbox-folders .btn .cnt,.inbox-bar .chip .cnt{margin-left:5px;font-size:var(--fs-xs);color:var(--ink-3);font-weight:600}.inbox-folders .btn.on .cnt{color:inherit}
.ib-sels{display:contents}
.appr-desc{color:var(--ink-2)!important;white-space:normal}
.gs-row{min-width:0}.gs-row>.menu-item{min-width:0;flex:1}.gs-row .two-line{min-width:0;overflow:hidden}.gs-row .two-line>span,.gs-row .two-line>small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:767px){.inbox-bar .ib-fold{display:none!important}.inbox-bar.flt-open .ib-fold{display:flex!important;flex-wrap:wrap;gap:4px;width:100%}.inbox-bar.flt-open .ib-flt-btn{background:var(--pri-soft)}}
.bar-mini{display:inline-block;height:8px;min-width:120px;background:var(--bg-3);border-radius:4px;overflow:hidden;vertical-align:middle}.bar-mini>i{display:block;height:100%;background:var(--pri);border-radius:4px}
.row>.bar-mini:not(.grow-1){flex:0 0 160px}
.det-fold .card-hd h3{cursor:pointer;flex:1}
.det-fold .card-hd h3::after{content:"";display:inline-block;width:7px;height:7px;margin-left:8px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:rotate(45deg) translateY(-2px);transition:transform .15s}
.det-fold .card.folded .card-hd h3::after{transform:rotate(-45deg)}
.det-fold .card.folded>.card-bd,.det-fold .card.folded>.card-ft{display:none}
.swipe-actions-l{position:absolute;left:0;top:0;bottom:0;display:flex;transform:translateX(-100%);transition:transform .2s}
.swiped-right .swipe-actions-l{transform:none}
.swipe-actions-l .btn{height:100%;border-radius:0;border:0;width:64px;flex-direction:column;gap:2px;font-size:var(--fs-xs)}
.li-h{padding:6px 12px;font-size:var(--fs-sm);font-weight:600;color:var(--ink-2);background:var(--bg-3);border-bottom:1px solid var(--line)}
.li-sel{display:flex;align-items:center;align-self:stretch;padding-right:2px;cursor:pointer}.li-sel input{width:20px;height:20px}
.li-tags{margin-left:0;margin-top:2px}
.swipe-actions .btn{height:100%;border-radius:0;border:0;width:64px;flex-direction:column;gap:2px;font-size:var(--fs-xs)}

.thumb{width:64px;height:48px;object-fit:cover;border-radius:4px;background:var(--bg-4);flex:none}
.thumb.lg{width:120px;height:84px}.thumb.sq{width:40px;height:40px}
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.media-tile{position:relative;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;background:var(--bg-4);border:1px solid var(--line);cursor:grab}
.media-tile img{width:100%;height:100%;object-fit:cover;display:block}
.media-tile .ord{position:absolute;top:4px;left:4px;background:rgba(15,23,42,.75);color:#fff;font-size:var(--fs-xs);font-weight:700;padding:1px 6px;border-radius:9px}
.media-tile .acts{position:absolute;bottom:0;left:0;right:0;display:flex;gap:2px;padding:4px;background:linear-gradient(transparent,rgba(15,23,42,.7));opacity:0;transition:opacity .15s}
.media-tile:hover .acts{opacity:1}
.media-tile.primary{outline:2px solid var(--pri-2)}
.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:2px dashed var(--line-2);border-radius:var(--r-lg);padding:20px;text-align:center;color:var(--ink-3);background:var(--bg-3);cursor:pointer;transition:border-color .15s,background .15s}
.dropzone:hover,.dropzone:focus-within{border-color:var(--pri-2);background:var(--pri-soft);color:var(--ink-2)}
.dropzone.drag-over{border-color:var(--pri-2);background:var(--pri-soft)}
.code{font-family:var(--mono);font-size:12px;background:var(--bg-3);border:1px solid var(--line);border-radius:var(--r);padding:8px 10px;white-space:pre-wrap;word-break:break-all}
.hl{background:var(--warn-soft)}
.notif{display:flex;gap:10px;padding:8px 10px;border-radius:var(--r);cursor:pointer;align-items:flex-start}
.notif:hover{background:var(--bg-3)}.notif.unread{background:var(--pri-soft)}
.notif .ic{margin-top:2px;color:var(--ink-3)}
.badge-count{position:absolute;top:2px;right:2px;min-width:16px;height:16px;border-radius:8px;background:var(--dng);color:var(--on-st);font-size:10px;font-weight:700;display:grid;place-items:center;padding:0 4px}
.rel{position:relative}
.matrix td.y{background:var(--ok-soft);color:var(--ok-ink);font-weight:700;text-align:center}.matrix td.n{background:var(--dng-soft);color:var(--dng-ink);text-align:center}.matrix td.p{background:var(--warn-soft);color:var(--warn-ink);text-align:center}
.two-line{display:flex;flex-direction:column;line-height:1.25}.two-line small{color:var(--ink-3)}
.status-strip{display:flex;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--bg-2)}
.status-strip .st{flex:1;padding:8px 6px 8px 18px;text-align:center;position:relative;color:var(--ink-3);font-weight:600;font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%);margin-right:-10px;background:var(--bg-3)}
.status-strip .st.done{background:var(--ok-soft);color:var(--ok-ink)}.status-strip .st.active{background:var(--pri);color:var(--on-pri)}
.status-strip .st:last-child{clip-path:none;margin-right:0}
.status-strip .st.lost-pill{flex:0 0 auto;clip-path:none;margin-left:14px;margin-right:0;padding:8px 14px;border-left:1px solid var(--line);color:var(--dng)}
.status-strip .st.lost-pill.active{background:var(--dng);color:var(--on-st)}
@media (max-width:767px){.status-strip{overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}.status-strip::-webkit-scrollbar{display:none}
  .status-strip .st{flex:0 0 auto;scroll-snap-align:center;padding:10px 10px 10px 20px;min-height:40px}}
.pill-nav{display:flex;gap:4px;flex-wrap:wrap}
.fab{display:none}
.bottom-nav{display:none}
.bar-chart{display:flex;align-items:flex-end;gap:4px;height:80px}
.bar-chart i{flex:1;background:var(--pri);border-radius:3px 3px 0 0;min-height:2px;opacity:.85}
.bar-chart i:hover{opacity:1}
.hbar{display:grid;grid-template-columns:140px 1fr 60px;gap:8px;align-items:center;font-size:var(--fs-sm)}
.hbar .progress{height:10px}
.funnel .fstage{display:grid;grid-template-columns:140px 1fr 60px 60px;gap:8px;align-items:center;padding:3px 0}
.funnel .fbar{height:18px;background:var(--pri);border-radius:3px;min-width:2px}
.legend{display:flex;gap:10px;flex-wrap:wrap;font-size:var(--fs-sm);color:var(--ink-3)}
.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px}
.map-box{position:relative;background:var(--bg-3);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.map-box img{display:block;width:100%}
.map-pin{position:absolute;transform:translate(-50%,-100%);color:var(--dng);filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}
.print-only{display:none}

html:has(body.auth){height:100%;background:#001a24}
body.auth{
  --bg:#001a24;--bg-2:rgba(255,255,255,.08);--bg-3:rgba(255,255,255,.1);--bg-4:rgba(255,255,255,.14);
  --ink:#eaf6fa;--ink-2:#d1d5db;--ink-3:#9ca3af;--ink-4:#6b7280;--line:rgba(255,255,255,.1);--line-2:rgba(255,255,255,.2);
  --pri:#00bdff;--pri-2:#33caff;--pri-soft:rgba(0,189,255,.2);--pri-ink:#66d7ff;--on-pri:#002d3e;--link:#33caff;
  --ok:#86efac;--ok-soft:rgba(20,83,45,.3);--warn:#fcd34d;--warn-soft:rgba(120,53,15,.3);--dng:#fca5a5;--dng-soft:rgba(127,29,29,.3);--info:#7dd3fc;--info-soft:rgba(12,74,110,.3);--ok-ink:#86efac;--warn-ink:#fcd34d;--dng-ink:#fca5a5;--info-ink:#7dd3fc;--on-st:#001a24;
  color-scheme:dark;position:relative;min-height:100%;height:auto;margin:0;overflow-x:hidden;overflow-y:auto;color:var(--ink);
  font-family:Inter,-apple-system,"Segoe UI",sans-serif;font-size:14px;line-height:1.5;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  background:linear-gradient(to bottom right,#001a24,#002d3e,#001a24) fixed;display:block;
}
body.auth::before,body.auth::after{content:"";position:fixed;z-index:0;border-radius:9999px;filter:blur(64px);pointer-events:none}
body.auth::before{top:0;right:0;width:600px;height:600px;background:rgba(0,189,255,.1);transform:translate(25%,-50%)}
body.auth::after{bottom:0;left:0;width:500px;height:500px;background:rgba(43,143,172,.08);transform:translate(-25%,33%)}
.auth-wrap{position:relative;z-index:1;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px 24px}
.auth-box{width:100%;max-width:384px}
@keyframes auth-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.auth-brand{display:block;text-align:center;margin:0 0 40px;padding:0;border:0;animation:auth-in .5s ease-out both}
.auth-wordmark{display:block;height:56px;width:auto;margin:0 auto 12px}
.auth-brand p{margin:0;font-size:14px;line-height:20px;font-weight:500;letter-spacing:.025em;color:rgba(147,205,221,.7)}
.auth-card{width:auto;padding:32px;border:1px solid rgba(0,189,255,.22);border-radius:16px;background:rgba(0,45,62,.55);-webkit-backdrop-filter:blur(40px) saturate(160%);backdrop-filter:blur(40px) saturate(160%);
  box-shadow:0 0 0 1px rgba(255,255,255,.1),0 25px 50px -12px rgba(0,0,0,.3);animation:auth-in .5s ease-out .15s both}
@media (prefers-reduced-motion:reduce){.auth-brand,.auth-card{animation:none}}
.auth-card h1,.auth-card h2{margin:0 0 4px!important;font-size:20px;line-height:28px;font-weight:600;letter-spacing:0;color:#fff}
.auth-sub{margin:0 0 24px;font-size:14px;line-height:20px;color:#9ca3af}
.auth-sub b,.auth-head b{font-weight:600;color:#e5e7eb}
.auth-head{text-align:center;margin:0 0 24px}.auth-head .auth-sub{margin:0}
.auth-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 0 12px;border-radius:9999px;background:rgba(255,255,255,.1);color:#33caff}
.auth-icon svg{width:24px;height:24px}.auth-icon.is-bad{background:rgba(239,68,68,.2);color:#f87171}
.auth-note{margin:8px 0 0;font-size:14px;line-height:20px;color:rgba(102,215,255,.9)}
.auth-alert{display:flex;align-items:flex-start;gap:10px;margin:0 0 20px;padding:12px 16px;border-radius:12px;font-size:14px;line-height:20px;border:1px solid rgba(239,68,68,.3);background:rgba(127,29,29,.3);color:#fca5a5}
.auth-alert svg{flex:none;width:16px;height:16px;margin-top:2px;color:#f87171}
.auth-alert.is-ok{border-color:rgba(34,197,94,.3);background:rgba(20,83,45,.3);color:#86efac}.auth-alert.is-ok svg{color:#4ade80}
.auth-form{margin:0}.auth-form>*+*{margin-top:16px}.auth-form.is-wide>*+*{margin-top:20px}
.auth-label{display:block;margin:0 0 6px;font-size:14px;line-height:20px;font-weight:500;color:#d1d5db}
.auth-input{display:block;width:100%;height:auto;padding:12px 16px;font:inherit;font-size:15.2px;line-height:1.5;color:#eaf6fa;background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.12);border-radius:12px;outline:0;transition:all .2s ease}
.auth-input::placeholder{color:rgba(255,255,255,.35)}
.auth-input:focus,.auth-code input:focus{background:rgba(0,189,255,.08);border-color:#00bdff;box-shadow:0 0 0 4px rgba(0,189,255,.2)}
.auth-input:-webkit-autofill{-webkit-text-fill-color:#eaf6fa;box-shadow:0 0 0 1000px #0b3a4c inset;caret-color:#eaf6fa}
.auth-input.is-code{text-align:center;letter-spacing:.4em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:18px;line-height:28px}
.auth-pw{position:relative;display:block}.auth-pw .auth-input{padding-right:48px}
.auth-eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;padding:0;border:0;background:none;color:#6b7280;cursor:pointer;transition:color .15s}
.auth-eye:hover,.auth-eye:focus-visible{color:#d1d5db;outline:0}.auth-eye svg{width:20px;height:20px}
.auth-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:4px;font-size:14px;line-height:20px}
.auth-check{display:flex;align-items:center;gap:8px;cursor:pointer;color:#9ca3af}.auth-check input{width:16px;height:16px;margin:0;border-radius:4px;accent-color:#00bdff}
.auth-link{color:#33caff;font-weight:500;text-decoration:none;transition:color .15s}.auth-link:hover{color:#66d7ff;text-decoration:none}
.auth-back,.auth-card a.auth-back{color:#6b7280;font-weight:500;text-decoration:none;transition:color .15s}.auth-back:hover,.auth-card a.auth-back:hover{color:#d1d5db;text-decoration:none}.auth-card .auth-under.is-split a.auth-back{font-weight:400}
.auth-btn{display:flex;width:100%;justify-content:center;align-items:center;padding:12.5px 24px;font:inherit;font-size:15.7px;line-height:1.5;font-weight:700;letter-spacing:-.01em;color:#002d3e;
  background:#00bdff;border:0;border-radius:12px;cursor:pointer;transition:all .2s ease;text-decoration:none}
.auth-btn:hover{background:#33caff;transform:translateY(-.5px);box-shadow:0 6px 20px rgba(0,189,255,.38);text-decoration:none}
.auth-btn:active{transform:translateY(0)}.auth-btn.is-busy{opacity:.75;pointer-events:none}
.auth-btn2{display:flex;width:100%;min-height:48px;margin-top:12px;align-items:center;justify-content:center;gap:8px;padding:0 16px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:none;
  color:#fff!important;font:inherit;font-size:14px;line-height:20px;font-weight:600;cursor:pointer;text-decoration:none!important;transition:background .15s}
.auth-btn2:hover{background:rgba(255,255,255,.05)}.auth-btn2 svg{flex:none;width:20px;height:20px}
.auth-under{margin:24px 0 0;text-align:center;font-size:14px;line-height:20px}
.auth-under.is-split{display:flex;align-items:center;justify-content:space-between;text-align:left}.auth-under form{margin:0}
.auth-linkbtn{display:inline;padding:0;border:0;background:none;font:inherit;font-size:14px;line-height:20px;font-weight:500;color:#33caff;cursor:pointer;transition:color .15s}
.auth-linkbtn:hover{color:#66d7ff}.auth-linkbtn:disabled{color:#6b7280;cursor:default}
.auth-timer{margin:16px 0 0;text-align:center;font-size:12px;line-height:16px;color:#6b7280}.auth-timer b{font-weight:600;color:#d1d5db}.auth-timer b.is-over{color:#ef4444}
.auth-foot{margin:32px 0 0;text-align:center;font-size:12px;line-height:16px;letter-spacing:.025em;color:rgba(87,174,198,.5)}
.auth-foot a{color:inherit;text-decoration:none}.auth-foot a:hover{color:rgba(147,205,221,.8)}
.auth-fine{margin:16px 0 0;font-size:12px;line-height:16px;color:#6b7280}.auth-fine b{color:#d1d5db;font-weight:600}
.auth-code{display:flex;justify-content:center;gap:10px}
.auth-code input{width:48px;height:56px;padding:0;text-align:center;font:inherit;font-size:20px;line-height:28px;font-weight:600;color:#fff;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.1);border-radius:12px;outline:0;transition:all .15s}
.auth-code.is-sending input{opacity:.6}
.auth-code-on>.auth-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.auth-card .muted,.auth-card p.small{color:#9ca3af}.auth-card p{font-size:14px;line-height:20px}.auth-card a{color:#33caff;font-weight:500}.auth-card a:hover{color:#66d7ff}
.auth-card .stack{gap:16px}.auth-card .fld{gap:6px}.auth-card .fld>span{font-size:14px;line-height:20px;font-weight:500;color:#d1d5db}
.auth-card .fld input,.auth-card .fld select{height:auto;padding:12px 16px;font-size:15.2px;line-height:1.5;color:#eaf6fa;background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.12);border-radius:12px;outline:0;transition:all .2s ease}
.auth-card .fld input::placeholder{color:rgba(255,255,255,.35)}
.auth-card .fld input:focus,.auth-card .fld select:focus{background:rgba(0,189,255,.08);border-color:#00bdff;box-shadow:0 0 0 4px rgba(0,189,255,.2)}
.auth-card .btn{height:auto;min-height:48px;padding:0 16px;border-radius:8px;font-size:14px;font-weight:600;background:none;border:1px solid rgba(255,255,255,.2);color:#fff}
.auth-card .btn:hover{background:rgba(255,255,255,.05)}
.auth-card .btn-primary,.auth-card .btn-primary.btn-lg{width:100%;min-height:0;padding:12.5px 24px;font-size:15.7px;line-height:1.5;font-weight:700;letter-spacing:-.01em;color:#002d3e;background:#00bdff;border:0;border-radius:12px;transition:all .2s ease}
.auth-card .btn-primary:hover{background:#33caff;transform:translateY(-.5px);box-shadow:0 6px 20px rgba(0,189,255,.38)}
.auth-card .btn.is-busy{opacity:.75;pointer-events:none}
.auth-card .alert{display:flex;gap:10px;margin:0 0 20px;padding:12px 16px;border-radius:12px;font-size:14px;line-height:20px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:#d1d5db}
.auth-card .alert-danger{border-color:rgba(239,68,68,.3);background:rgba(127,29,29,.3);color:#fca5a5}
.auth-card .alert-ok{border-color:rgba(34,197,94,.3);background:rgba(20,83,45,.3);color:#86efac}
.auth-card form + p,.auth-card form + form{margin-top:16px}.auth-card>p.small:last-child{margin-bottom:0}
.sso-or{display:flex;align-items:center;gap:10px;margin:20px 0 4px;color:#6b7280;font-size:12px}.sso-or::before,.sso-or::after{content:"";flex:1;border-top:1px solid rgba(255,255,255,.1)}
.sso-btns{display:block}.sso-btn{display:flex;width:100%;min-height:48px;margin-top:12px;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:none;color:#fff!important;font-size:14px;font-weight:600;text-decoration:none!important;transition:background .15s}
.sso-btn:hover{background:rgba(255,255,255,.05)}.sso-btn svg{flex:none}.sso-alt{margin-top:12px;text-align:center}
.auth-passkey{display:flex;justify-content:center;margin-top:12px;width:100%}.auth-passkey + p{margin-top:14px}
.auth-alts{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.auth-alts p{margin:0 4px 0 0}.auth-alts form{margin:0}
.auth-alts .btn{min-height:36px;padding:0 12px;font-size:13px}
.signin-number{font-size:44px;font-weight:700;letter-spacing:3px;text-align:center;padding:14px 0;margin:8px 0 6px;border:1px dashed rgba(0,189,255,.45);border-radius:12px;background:rgba(0,189,255,.07);color:#fff}
@media (max-width:400px){.auth-wrap{padding:36px 16px}.auth-card{padding:24px 20px}.auth-code{gap:6px}.auth-code input{width:42px;height:52px}}

@media (max-width:1100px){.split,.split.left,.split.wide{grid-template-columns:minmax(0,1fr)}.rail{position:static}.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-6{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:767px){
  :root{--fs:14px;--ctl:36px;--row:40px;--top:48px}
  .app{grid-template-columns:minmax(0,1fr);grid-template-rows:var(--top) 1fr 56px}
  .side{display:none}
  .topbar{grid-column:1}
  .gs{max-width:none;min-width:0}.gs .kbd{display:none}.gs-form,.gs-field{min-width:0}
  .co-switch span.name{display:none}
  .main{padding:10px 12px 90px}
  .page-hd{flex-direction:column;gap:6px}.page-actions{margin-left:0;width:100%}.page-actions .btn{flex:1}
  .cols-2,.cols-3,.cols-4,.cols-6{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form-grid,.form-grid.cols-3,.form-grid.cols-4{grid-template-columns:1fr}.span2,.span3{grid-column:auto}
  .fld.inline{flex-direction:column;align-items:stretch}.fld.inline>span{width:auto;justify-content:flex-start}
  .tbl th,.tbl td{padding:0 8px}
  .hide-m{display:none!important}
  .bottom-nav{display:flex;grid-row:3;background:var(--bg-2);border-top:1px solid var(--line);justify-content:space-around;align-items:stretch;padding-bottom:env(safe-area-inset-bottom)}
  .bn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:10px;color:var(--ink-3);font-weight:600;cursor:pointer;text-decoration:none!important;position:relative}
  .bn.active{color:var(--link)}.bn .ic{width:22px;height:22px;stroke-width:1.8}
  .fab{display:grid;position:fixed;right:16px;bottom:72px;width:52px;height:52px;border-radius:50%;background:var(--pri);color:var(--on-pri);place-items:center;box-shadow:var(--shadow-lg);z-index:40;border:0;cursor:pointer}
  .fab .ic{width:24px;height:24px}
  .modal{padding:0;align-items:flex-end}.modal-dialog,.modal-dialog.lg,.modal-dialog.xl{max-width:none;max-height:94vh;border-radius:var(--r-xl) var(--r-xl) 0 0}
  .toasts{left:12px;right:12px;bottom:70px}.toast{max-width:none}
  .kanban{gap:8px}.kcol{flex:0 0 84vw}
  .btn{height:var(--ctl)}.btn-sm{height:30px}
  .tabs{margin-bottom:8px}.tab{height:38px}
  .stat-v{font-size:20px}
  .pop.xwide,.pop.wide{min-width:0;width:calc(100vw - 24px);left:auto;right:0}
  .split .rail{order:-1}
  .cal-hd b{font-size:var(--fs)}
}
@media (min-width:768px){.only-m{display:none!important}}
@media print{
  body{overflow:visible;background:#fff}
  .topbar,.side,.bottom-nav,.fab,.page-actions,.toolbar,.tabs,.no-print{display:none!important}
  .app{display:block}.main{padding:0;overflow:visible}
  .print-only{display:block}
  .card{box-shadow:none;break-inside:avoid}
}

.cal2-wrap{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-2);overflow:hidden}
.cal2-hd{display:grid;grid-template-columns:48px repeat(7,minmax(0,1fr));border-bottom:1px solid var(--line);background:var(--bg-3)}
.cal2-hd .cal-hd{position:static;border-bottom:0}
.cal2{display:grid;grid-template-columns:48px repeat(7,minmax(0,1fr));max-height:calc(100vh - 260px);overflow-y:auto}
.cal2-times{display:flex;flex-direction:column}
.cal2-col{position:relative;height:768px;border-left:1px solid var(--line);background:repeating-linear-gradient(to bottom,var(--line) 0 1px,transparent 1px 48px)}
.cal2-col.today{background-color:var(--pri-soft);background-image:repeating-linear-gradient(to bottom,var(--line) 0 1px,transparent 1px 48px)}
.cal2-slot{position:absolute;left:0;right:0;height:48px;cursor:pointer}
.cal2-slot:hover{background:rgba(0,189,255,.1)}
.cal2-col .cal-evt{left:3px;right:3px}
.cal-evt .faint{font-weight:400;opacity:.8}
@media (max-width:767px){.cal2-wrap{display:none}}
.ag-hd{font-weight:700;font-size:var(--fs-sm);color:var(--ink-2);padding:10px 2px 4px;border-bottom:1px solid var(--line)}.ag-hd.today{color:var(--link)}

.gm-pill{position:absolute;transform:translate(-50%,calc(-100% - 6px));background:var(--pri);color:var(--on-pri);font:600 11px/1 var(--font);padding:5px 8px;border-radius:12px;box-shadow:0 2px 6px rgba(15,23,42,.35);white-space:nowrap;cursor:pointer;user-select:none}
.gm-pill::after{content:"";position:absolute;left:50%;bottom:-5px;transform:translateX(-50%);border:5px solid transparent;border-top-color:inherit;border-bottom:0;border-top-color:var(--pri)}
.gm-pill:hover{z-index:10;filter:brightness(1.12)}
.gm-dot{position:absolute;transform:translate(-50%,-50%);width:16px;height:16px;border-radius:50%;background:var(--dng);border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.45)}
.map-pick{cursor:crosshair}

[hidden]{display:none!important}
.opt-editor{display:flex;flex-direction:column;gap:6px;min-width:0}
.opt-head{display:flex;align-items:center;gap:6px}
.opt-head .opt-title{font-weight:600;color:var(--ink-2)}
.opt-head .sp{flex:1}
.opt-list{display:flex;flex-direction:column;gap:4px;max-height:min(46vh,420px);overflow:auto;padding:2px;margin:0 -2px}
.opt-row{display:flex;align-items:center;gap:6px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);padding:2px 4px 2px 2px;min-height:34px}
.opt-row:hover{border-color:var(--line-2)}
.opt-row:focus-within{border-color:var(--pri-2);box-shadow:0 0 0 2px var(--pri-soft)}
.opt-row.dragging{opacity:.6;border-style:dashed;background:var(--bg-3)}
.opt-row .drag-handle{border:0;background:none;color:var(--ink-4);cursor:grab;padding:3px 2px;display:flex;touch-action:none;border-radius:4px}
.opt-row .drag-handle:hover,.opt-row .drag-handle:focus-visible{color:var(--ink-2);background:var(--bg-3);outline:none}
.opt-row .opt-input{flex:1;min-width:0;border-color:transparent;background:transparent;font-size:var(--fs)}
.opt-row .opt-input:hover{border-color:var(--line)}
.opt-row .opt-input:focus{border-color:var(--pri-2);background:var(--bg-2)}
.opt-row .opt-color{width:96px;flex:none;border-left-width:6px}
.opt-editor.no-color .opt-color{display:none}
.opt-color[data-c=slate]{border-left-color:var(--tag-slate)}.opt-color[data-c=red]{border-left-color:var(--tag-red)}.opt-color[data-c=orange]{border-left-color:var(--tag-orange)}
.opt-color[data-c=amber]{border-left-color:var(--tag-amber)}.opt-color[data-c=green]{border-left-color:var(--tag-green)}.opt-color[data-c=teal]{border-left-color:var(--tag-teal)}
.opt-color[data-c=blue]{border-left-color:var(--tag-blue)}.opt-color[data-c=indigo]{border-left-color:var(--tag-indigo)}.opt-color[data-c=violet]{border-left-color:var(--tag-violet)}.opt-color[data-c=pink]{border-left-color:var(--tag-pink)}
.opt-used{flex:none;min-width:34px;text-align:center;font-size:var(--fs-xs);color:var(--ink-3);background:var(--bg-3);border-radius:10px;padding:1px 7px;font-variant-numeric:tabular-nums}
.opt-used.zero{visibility:hidden}
.merge-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.merge-row .select{width:auto;min-width:170px;flex:0 1 auto}
.opt-row .opt-x{flex:none;color:var(--ink-4)}
.opt-row .opt-x:hover{color:var(--dng)}
.opt-add{align-self:flex-start}
.opt-editor.fixed .opt-add,.opt-editor.fixed .opt-x,.opt-editor.fixed .opt-used{display:none}
.opt-hint{margin:2px 0 0}
@media (max-width:767px){.opt-row .opt-color{width:74px}.opt-list{max-height:none}}

.grow-1{flex:1;min-width:0}
.ch-row{min-height:30px}
.ch-row .two-line a{display:block;max-width:100%}

.mig-slot{display:flex;gap:10px;align-items:center;padding:10px 12px;border:1px dashed var(--line-2);border-radius:var(--r-lg);background:var(--bg-2);min-width:0}
.mig-slot.ok{border-style:solid;border-color:var(--ok);background:var(--ok-soft)}
.mig-step{padding:7px 2px;border-bottom:1px solid var(--line);align-items:center}
.mig-step:last-child{border-bottom:0}
.ic.spin{animation:rems-spin 1s linear infinite}
@keyframes rems-spin{to{transform:rotate(360deg)}}
.chip.new{border-color:var(--pri-2);color:var(--pri-ink);background:var(--pri-soft)}
.chip.on{background:var(--pri);color:var(--on-pri);border-color:var(--pri)}

.filter-row{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
.filter-row .input,.filter-row .select{width:auto;min-width:150px;flex:0 1 auto}
.filter-row .fld{min-width:240px;flex:0 1 280px}

.recent-row{padding:6px 0;border-top:1px solid var(--line);min-width:0}
.recent-row .row{min-width:0}
@media (max-width:767px){.task-li{flex-wrap:wrap;row-gap:6px}.task-li .li-m{flex:1 1 calc(100% - 40px);min-width:0}.task-li .li-r{order:3;margin-left:30px;flex-direction:row;align-items:center;gap:8px}.task-li .task-acts{order:4;margin-left:auto}.task-li .task-acts .btn{padding:6px 8px}}
.col-list{display:flex;flex-direction:column;gap:2px;max-height:60vh;overflow:auto}
.col-row{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:var(--r-sm);background:var(--bg-2)}
.col-row label{cursor:pointer}
.col-row .drag-handle{background:transparent;border:0}
.file-fld{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.files-fld .file-chip{display:inline-flex;align-items:center;gap:2px;max-width:100%;padding:2px 2px 2px 8px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg-2)}.files-fld .file-chip .truncate{max-width:220px}   .file-thumb img{height:64px;width:auto;border-radius:var(--r-sm);border:1px solid var(--line);display:block}.file-thumb.sm img{height:28px}
.secret-key{font-size:18px;letter-spacing:1px;padding:10px 12px;border:1px dashed var(--line-2,var(--line));border-radius:var(--r-md);background:var(--bg-2);word-break:break-all;margin-top:8px}
.code-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;font-size:15px;padding:10px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-2)}
.pk-block{padding-top:12px;border-top:1px solid var(--line)}.pk-block p{margin:4px 0 8px}
.pk-row{padding:6px 8px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-2)}
.sr-host:empty,.main:has(.sr-page) ~ .sr-host{display:none}
.sr-panel{position:fixed;top:62px;right:16px;z-index:150;width:min(340px,calc(100vw - 32px));display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:var(--bg-2);
  border:1px solid var(--warn);border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}
.sr-panel p{margin:0}
.sr-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0}
.sr-num{height:52px;font-size:22px;font-weight:700;justify-content:center}
.inbox{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:0;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-2);height:calc(100vh - 170px);min-height:420px;overflow:hidden}
.inbox-list{border-right:1px solid var(--line);overflow-y:auto}
.inbox-item{display:flex;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line);cursor:pointer;min-width:0}
.inbox-item:hover{background:var(--bg-3)}.inbox-item.sel{background:var(--pri-soft)}.inbox-item.unread b{color:var(--ink)}.inbox-item.unread .small{color:var(--ink);font-weight:600}
.inbox-m{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.inbox-thread{display:flex;flex-direction:column;min-width:0;min-height:0}.inbox-thread.empty{align-items:center;justify-content:center}
.inbox-head{display:flex;gap:10px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line)}
.inbox-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px}
.bubble{max-width:72%;padding:8px 11px;border-radius:12px;background:var(--bg-3);align-self:flex-start;white-space:pre-wrap;word-break:break-word}
.bubble.out{align-self:flex-end;background:var(--pri-soft)}.bubble.bad{border:1px solid var(--dng)}
.bubble-meta{font-size:11px;color:var(--ink-3);margin-top:3px;display:flex;align-items:center;gap:2px;flex-wrap:wrap}.bubble-note{width:100%;color:var(--dng)}
.inbox-reply{border-top:1px solid var(--line);padding:10px 12px;display:flex;flex-direction:column;gap:6px}.inbox-reply textarea{min-height:44px;resize:vertical}
@media (max-width:767px){.inbox{grid-template-columns:1fr;height:calc(100vh - 190px)}.inbox.has-sel .inbox-list{display:none}.inbox:not(.has-sel) .inbox-thread{display:none}.bubble{max-width:88%}}
.ff-list{display:flex;flex-direction:column;gap:6px}
.ff-row{display:grid;grid-template-columns:22px minmax(0,1.3fr) minmax(0,.95fr) minmax(0,1.4fr) 96px minmax(0,1.1fr) minmax(0,.9fr) 28px;grid-template-areas:"h l t m r o p x";gap:6px;align-items:center}
.ff-row .c-h{grid-area:h}.ff-row .c-l{grid-area:l}.ff-row .c-t{grid-area:t}.ff-row .c-m{grid-area:m}.ff-row .c-r{grid-area:r}.ff-row .c-o{grid-area:o}.ff-row .c-p{grid-area:p}.ff-row .c-x{grid-area:x}
.ff-row .input,.ff-row .select{width:100%;min-width:0}
.ff-row[data-item]{padding:5px 6px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg)}
.ff-row.ff-hd{font-size:var(--fs-xs);font-weight:600;color:var(--ink-4);text-transform:uppercase;letter-spacing:.04em;padding:0 7px}
.ff-preview{display:block;width:100%;height:680px;border:0;background:#f6f7fb;border-radius:0 0 var(--r-lg) var(--r-lg)}
.code-snip{display:block;font-family:var(--mono);font-size:var(--fs-xs);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);padding:6px 8px;white-space:pre-wrap;word-break:break-all;margin:4px 0;color:var(--ink-2)}
@media (max-width:1600px){.ff-row{grid-template-columns:22px minmax(0,1fr) minmax(0,1fr) 28px;grid-template-areas:"h l l x" "h t m m" "h r o o" "h p p p"}.ff-row.ff-hd{display:none}}
.flt-panel{padding:6px 8px}
@media (max-width:767px){.pop.xwide{min-width:0;width:calc(100vw - 24px);left:auto;right:0}}
.bulkbar{flex-wrap:wrap}.bulkbar .sel-all{gap:6px;display:inline-flex;align-items:center}.bulkbar .sel-all input{margin:0}
.kcol-more{width:100%;justify-content:center;margin-top:4px}
.agenda .cal-evt{position:static;left:auto;right:auto}
@media (max-width:767px){.grid.stack-m{grid-template-columns:1fr}.inbox{height:calc(100vh - 214px)}body:has(.inbox.has-sel) .fab{display:none}}
.tpl-preview{white-space:pre-wrap;border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;background:var(--bg);font-size:var(--fs)}.tpl-preview.whatsapp,.tpl-preview.sms{max-width:420px;border-radius:14px}
.inbox-ctx{display:flex;flex-wrap:wrap;gap:6px;padding:6px 12px;border-bottom:1px solid var(--line);background:var(--bg)}.inbox-ctx .chip.dng{color:var(--dng)}
@media (max-width:767px){.rep-split .rail{order:1}}
.fa-grid td .fa-sel{min-width:120px}.fa-sel.fa-read{border-color:var(--warn);background:var(--warn-soft)}.fa-sel.fa-hidden{border-color:var(--dng);background:var(--dng-soft);color:var(--dng-ink)}
.flt-panel{max-height:72vh;overflow:auto}.flt-row{align-items:start}.flt-row+.flt-row{border-top:1px dashed var(--line);padding-top:8px}.flt-ov .chips{max-height:150px;overflow:auto}
@media (max-width:767px){.flt-row.cols-3{grid-template-columns:1fr}.flt-ov.cols-2{grid-template-columns:1fr}}
.cal2-slot{height:24px}.cal2-slot.drag-over{background:var(--pri-soft);outline:1px dashed var(--pri-2)}
.cal-evt[draggable="true"]{cursor:grab}.cal-evt.dragging{opacity:.5}
.cal2:has(.cal-evt.dragging) .cal-evt{pointer-events:none}
.cal-hd .cal-evt.allday{position:static;margin-top:3px;font-size:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:100%;align-self:stretch;box-sizing:border-box}
.cal2-hd .cal-hd{min-width:0;overflow:hidden}.cal-hd .cal-evt.allday.cal-overdue{display:block}.cal-hd .cal-evt.allday.cal-overdue .ic{vertical-align:-2px}
.cal-evt.m.cal-overdue{display:block;text-overflow:ellipsis}.cal-evt.m.cal-overdue .ic{vertical-align:-2px}
.cal-now{position:absolute;left:0;right:0;height:2px;background:var(--dng);z-index:2;pointer-events:none}.cal-now::before{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--dng)}
.tbl-wrap.tbl-scroll{max-height:calc(100vh - 250px)}
.tbl tfoot td{position:sticky;bottom:0;background:var(--bg-3);border-top:1px solid var(--line-2);font-size:var(--fs-sm)}
.main:has(form[data-dirty-guard]) .page-hd{position:sticky;top:-14px;z-index:6;background:var(--bg);padding-top:22px;padding-bottom:8px;box-shadow:0 1px 0 var(--line)}
.main:has(form[data-dirty-guard]) .ly-tray{top:96px;max-height:calc(100vh - 220px)}
.main:has(form[data-dirty-guard]) .ly-tray{max-height:calc(100vh - 300px)}.ly-tray>*{flex-shrink:0}
.ly-f.pend{outline:1px dashed var(--warn,#d97706);outline-offset:-2px}
.bp-add-acts{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:8px}
table.fld-tbl td{white-space:normal}
table.fld-tbl .fld-l{display:flex;align-items:flex-start;gap:6px}.fld-l>.two-line{flex:1;min-width:0}.fld-l .mono{word-break:break-all}
@media (max-width:767px){.tbl-wrap.tbl-scroll{max-height:none}}
.hide-blank .kv .blank{display:none}
@media (max-width:767px){.split.keep-order .rail{order:0}
  #gs-pop.open{position:fixed;left:8px;right:8px;top:52px;width:auto;min-width:0;max-width:none;max-height:calc(100vh - 120px);overflow:auto}}
.rec-open{color:var(--ink-4);display:inline-flex}.rec-open:hover{color:var(--link)}
.tbl th .col-menu-btn{border:0;background:transparent;color:var(--ink-4);padding:0 2px;margin-left:2px;cursor:pointer;opacity:0;line-height:1;vertical-align:middle}
.tbl th:hover .col-menu-btn,.tbl th .dropdown:has(.pop.open) .col-menu-btn,.tbl th .col-menu-btn:focus-visible{opacity:1}
.tbl th:has(.pop.open),.tbl th:has([data-pop-open]){z-index:20}
.viz-combo .v-val2{fill:var(--viz-2,#009fd6);font-weight:600}.viz-combo .v-val{paint-order:stroke;stroke:var(--bg-2);stroke-width:3px;stroke-linejoin:round}   
.tbl th .pop,.tbl tfoot .pop{text-transform:none;letter-spacing:normal;font-weight:400;font-size:var(--fs);color:var(--ink);max-height:60vh;overflow:auto}
.tbl th .col-rs{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize}
.tbl th .col-rs:hover{background:var(--pri-soft)}
html.col-resizing,html.col-resizing *{cursor:col-resize!important;user-select:none}
.tbl .cw{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tbl.wrap td{white-space:normal;height:auto;padding-top:6px;padding-bottom:6px}.tbl.wrap .cw{white-space:normal}
.tbl th.pinned,.tbl td.pinned{position:sticky}
.tbl td.pinned{z-index:1;background:var(--bg-2)}.tbl th.pinned{z-index:3}
.tbl .pinned-last{box-shadow:inset -1px 0 0 var(--line)}
.tbl tfoot td{z-index:2}.tbl tfoot td.pinned{z-index:3;background:var(--bg-3)}
.tbl th.row-menu,.tbl td.row-menu{width:40px;padding:0 4px;text-align:right}
.tbl .row-menu-btn{opacity:.35}.tbl tr:hover .row-menu-btn,.tbl .row-menu-btn:focus-visible,.tbl .dropdown:has(.pop.open) .row-menu-btn{opacity:1}
.row-badges{display:inline-flex;gap:4px;margin-left:2px}
.rb{display:inline-flex;align-items:center;gap:3px;font-size:var(--fs-xs);color:var(--ink-3);background:var(--bg-3);border:1px solid var(--line);border-radius:10px;padding:0 6px;height:18px;font-variant-numeric:tabular-nums}
button.rb{cursor:pointer;font-family:inherit}button.rb:hover{color:var(--link);border-color:var(--pri-2)}
.alpha-bar{display:flex;flex-wrap:wrap;gap:2px;margin:0 0 6px}
.alpha-bar .alpha{border:0;background:transparent;color:var(--ink-3);font:inherit;font-size:var(--fs-xs);min-width:22px;height:22px;border-radius:var(--r);cursor:pointer;padding:0 4px}
.alpha-bar .alpha:hover{background:var(--bg-3);color:var(--ink)}.alpha-bar .alpha.on{background:var(--pri-soft);color:var(--link);font-weight:600}
.tbl tfoot .agg-btn{border:0;background:transparent;display:inline-flex;align-items:baseline;gap:4px;cursor:pointer;color:inherit;padding:0;font:inherit}
.tbl tfoot .agg-btn small{color:var(--ink-4);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em}
.tbl tfoot .agg-btn .ic{align-self:center;color:var(--ink-4)}
html.busy-long body::after{content:"Working…";position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:6px 14px;border-radius:16px;font-size:var(--fs-sm);box-shadow:var(--shadow-lg);z-index:9999;pointer-events:none}
@media print{
  .bulkbar,.alpha-bar,.pager,.row-menu,.col-menu-btn,.col-rs,.tbl .chk,.row-badges button,.tbl tfoot .agg-btn .ic{display:none!important}
  .tbl-wrap,.tbl-wrap.tbl-scroll{max-height:none;overflow:visible;border:0}
  .tbl th,.tbl td.pinned,.tbl tfoot td{position:static;box-shadow:none}
}
.chip .chip-edit{border:0;background:transparent;color:inherit;font:inherit;padding:0;cursor:pointer}.chip .chip-edit:hover{text-decoration:underline}

.co-tabs{margin-bottom:8px}
.cur-preview{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2);max-width:100%}
.cur-home .card-bd{align-items:center}
small.fx-eq{color:var(--ink-3)}
small.fx-eq:empty{display:none}

.modal-dialog:has(#msgf){max-width:920px}
.compose.form-grid{gap:10px 14px}
.rte{display:flex;flex-direction:column}
.rte-bar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:4px;border:1px solid var(--line);border-bottom:0;border-radius:var(--r) var(--r) 0 0;background:var(--bg-3)}
.rte-bar .btn-icon{width:28px;height:28px}.rte-bar .btn.on{background:var(--pri-soft);color:var(--pri-ink)}
.rte-sep{width:1px;height:18px;background:var(--line-2);margin:0 4px}
.rte-plain{margin-left:auto}
.rte-ed{min-height:220px;max-height:46vh;overflow:auto;padding:12px 14px;border:1px solid var(--line);border-radius:0 0 var(--r) var(--r);background:#fff;color:#1f2430;font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.55;outline:none;white-space:normal}
.rte-ed:focus{border-color:var(--pri-2);box-shadow:0 0 0 3px var(--pri-soft)}
.rte-ed a{color:#2563eb}.rte-ed blockquote{margin:6px 0;padding-left:12px;border-left:3px solid #cbd5e1;color:#475569}
.rte-ed table{border-collapse:collapse}.rte-ed td,.rte-ed th{border:1px solid #cbd5e1;padding:4px 8px}.rte-ed img{max-width:100%}
.rte-ed table[border="0"] td,.rte-ed table[border="0"] th{border:1px dashed #e2e8f0}
.srch-flt>summary{list-style:none;cursor:pointer}.srch-flt>summary::-webkit-details-marker{display:none}
.srch-flt:not([open])~.srch-flt-f{display:none}.srch-flt-f{flex-direction:column;align-items:stretch}
.rte-pal.rte-tblmenu{flex-direction:column;align-items:stretch;gap:8px;width:300px;padding:10px}
.rte-tbl-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 8px}.rte-tbl-grid .fld{margin:0}.rte-tbl-grid .fld>span{font-size:var(--fs-sm);color:var(--ink-2)}
.rte-tblbar{gap:2px}.rte-tblset{flex-basis:100%;display:flex;flex-direction:column;gap:8px;padding:8px 4px 4px;border-top:1px solid var(--line);margin-top:4px}
.rte-tblset .btn-primary{align-self:flex-end}
.rte-src{min-height:220px;font-family:var(--mono);font-size:12px;border-radius:0 0 var(--r) var(--r)}
.cmp-att:empty{display:none}
.chip.att{height:auto;min-height:26px;padding:2px 4px 2px 8px;max-width:100%}.chip.att .truncate{max-width:260px}
.chip.att .x{border:0;background:none;padding:0 2px;cursor:pointer;color:inherit;display:inline-flex}
.cmp-frame{width:100%;height:340px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
#cmp-prev .cmp-prev-in{margin-top:12px}
.picker{position:fixed;z-index:300;min-width:240px;max-width:320px;max-height:260px;overflow:auto;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:4px}
.picker-hd{font-size:var(--fs-xs);color:var(--ink-3);padding:4px 8px;text-transform:uppercase;letter-spacing:.04em}
.picker-it{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:var(--fs-sm)}
.picker-it small{color:var(--ink-4);font-family:var(--mono);font-size:var(--fs-xs)}
.picker-it.on,.picker-it:hover{background:var(--pri-soft);color:var(--pri-ink)}
.date-echo{display:block;font-size:var(--fs-xs);color:var(--ink-3);margin-top:2px}.date-echo:empty{display:none}
@media (max-width:767px){.rte-ed{min-height:160px}.compose.form-grid.cols-2{grid-template-columns:1fr}.compose .span2{grid-column:auto}}
.view-switch .btn{width:28px;padding:0;justify-content:center}
.tbl.sheet td[data-f]{cursor:cell}
.tbl.sheet td[data-f]:hover{box-shadow:inset 0 0 0 1px var(--line-2)}
.tbl.sheet td.cell-sel{box-shadow:inset 0 0 0 2px var(--pri-2);position:relative}
.tbl.sheet td.cell-sel::after{content:"";position:absolute;right:1px;bottom:1px;width:7px;height:7px;background:var(--pri);cursor:crosshair}
.tbl.sheet td.fill-tgt{background:var(--pri-soft)!important;box-shadow:inset 1px 0 0 var(--pri-2),inset -1px 0 0 var(--pri-2)}
html.filling,html.filling *{cursor:crosshair!important;user-select:none}
.tbl.sheet td.editing{padding:3px 4px;height:auto;min-width:230px;white-space:normal;vertical-align:top}
.cell-form{display:flex;align-items:flex-start;gap:4px}.cell-form>.fld{flex:1;min-width:0;margin:0}
.cell-form .fld>span:first-child,.cell-form .fld>.hint{display:none}
.cell-btns{display:flex;gap:2px;padding-top:1px}
.grid-add{margin-top:8px}
.grid-add-form{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;padding:10px;border:1px dashed var(--line-2);border-radius:var(--r-lg);margin-top:6px;background:var(--bg-2)}
.grid-add-fields{display:flex;gap:8px;flex-wrap:wrap;flex:1}.grid-add-fields>*{min-width:150px;flex:1}
.kcard{position:relative}
.kcard .kcard-sel{position:absolute;top:8px;right:8px;margin:0;opacity:0;transition:opacity .1s}
.kcard:hover .kcard-sel,.kcard .kcard-sel:checked,.kcard .kcard-sel:focus-visible,.kanban:has(.kcard-sel:checked) .kcard-sel{opacity:1}
.kcard:has(.kcard-sel:checked){outline:2px solid var(--pri-2);outline-offset:-1px}
.kcol-hd .kcol-l{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kcol-hd .kcol-act{margin-left:auto;display:inline-flex}.kcol-hd .kcol-act .btn{height:22px;width:22px}
.kcol.folded{flex:0 0 46px;min-width:46px}
.kcol.folded .kcol-bd,.kcol.folded .sum{display:none}
.kcol.folded .kcol-hd{flex-direction:column;align-items:center;gap:8px;padding:8px 4px;border-bottom:0}
.kcol.folded .kcol-l{writing-mode:vertical-rl;max-height:40vh}
.kcol.folded .kcol-act{margin:0;flex-direction:column-reverse}
.sv{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-2);margin-bottom:12px;overflow:hidden}
.sv-hd{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-3);border-bottom:1px solid var(--line)}
.sv-hd h3{margin:0;font-size:var(--fs);font-weight:600}
.sv-hd .cnt{font-size:var(--fs-xs);background:var(--bg-2);border:1px solid var(--line);border-radius:10px;padding:0 7px;color:var(--ink-3)}
.sv-hd .sum{font-size:var(--fs-sm);font-weight:600}
.sv.folded .sv-bd{display:none}.sv.folded .sv-hd{border-bottom:0}.sv.folded .sv-fold .ic{transform:rotate(-90deg)}
.sv .tbl-wrap{border:0;border-radius:0}.sv .tbl-wrap.tbl-scroll{max-height:none}
.gt{--lbl:240px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-2);overflow:auto;max-height:calc(100vh - 250px)}
.gt-hd,.gt-body{min-width:calc(var(--lbl) + 560px)}
.gt-hd,.gt-row{display:grid;grid-template-columns:var(--lbl) 1fr}
.gt-hd{position:sticky;top:0;z-index:3;background:var(--bg-3);border-bottom:1px solid var(--line)}
.gt-hd .gt-lbl{padding:8px 10px;font-weight:600;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);display:flex;align-items:flex-end;border-right:1px solid var(--line)}
.gt-scale{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr))}
.gt-d{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:4px 0;border-left:1px solid var(--line);font-size:var(--fs-xs);color:var(--ink-3);min-width:0}
.gt-d small{height:13px;color:var(--ink-4);white-space:nowrap;font-size:10px}
.gt-d.wkend{background:var(--bg-4)}.gt-d.today b{color:var(--dng)}
.scale-weeks .gt-d b{font-weight:500;font-size:10px}
.gt-m{padding:8px;border-left:1px solid var(--line);font-size:var(--fs-sm);font-weight:600;white-space:nowrap;overflow:hidden}
.gt-body{position:relative}
.gt-row{border-bottom:1px solid var(--line);min-height:36px}
.gt-row .gt-lbl{padding:4px 10px;display:flex;flex-direction:column;justify-content:center;min-width:0;border-right:1px solid var(--line)}
.gt-row .gt-lbl a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gt-row .gt-lbl small{color:var(--ink-3);font-size:var(--fs-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gt-track{position:relative;background-image:linear-gradient(to right,var(--line) 1px,transparent 1px);background-size:calc(100% / var(--n)) 100%}
.scale-months .gt-track{background-size:calc(700% / var(--n)) 100%}
.gt-bar{position:absolute;top:6px;bottom:6px;min-width:6px;border-radius:12px;padding:0 10px;display:flex;align-items:center;font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;cursor:pointer;background:var(--pri-soft);color:var(--link);box-shadow:inset 0 0 0 1px currentColor;user-select:none}
.gt-bar span{overflow:hidden;text-overflow:ellipsis}
.gt-bar[data-tl]{cursor:grab}.gt-bar.dragging{cursor:grabbing;box-shadow:var(--shadow-lg),inset 0 0 0 1px currentColor;z-index:2}
.gt-bar.t-ok{background:var(--ok-soft);color:var(--ok-ink)}.gt-bar.t-warn{background:var(--warn-soft);color:var(--warn-ink)}.gt-bar.t-dng{background:var(--dng-soft);color:var(--dng-ink)}.gt-bar.t-info{background:var(--info-soft);color:var(--info-ink)}
.gt-bar.cut-l{border-top-left-radius:0;border-bottom-left-radius:0}.gt-bar.cut-r{border-top-right-radius:0;border-bottom-right-radius:0}
.gt-bar .gt-grip{position:absolute;right:0;top:0;bottom:0;width:9px;cursor:ew-resize}
.gt-grp{padding:6px 10px;font-weight:600;background:var(--bg-3);border-bottom:1px solid var(--line);font-size:var(--fs-sm)}
.gt-now-wrap{position:absolute;top:0;bottom:0;left:var(--lbl);right:0;pointer-events:none;z-index:1}
.gt-now{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--dng)}
.gt-empty{padding:28px;text-align:center}
@media (max-width:767px){.gt{--lbl:130px;max-height:none}}
.gallery{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.gallery.size-s{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.gallery.size-l{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.gallery.one{grid-template-columns:minmax(0,1fr)}
.tile{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-2);overflow:hidden;cursor:pointer;transition:box-shadow .12s,border-color .12s}
.tile:hover{box-shadow:var(--shadow-lg);border-color:var(--line-2)}
.tile:has(input[name="ids[]"]:checked){outline:2px solid var(--pri-2);outline-offset:-1px}
.tile-img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--bg-3);border:0;border-radius:0}
.size-s .tile-img{aspect-ratio:4/3}
.tile-init{display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:600;color:#fff}
.tile-sel{position:absolute;top:8px;left:8px;z-index:1;display:flex;background:var(--bg-2);border-radius:6px;padding:3px;opacity:0;transition:opacity .1s;box-shadow:var(--shadow)}
.tile-sel input{margin:0}
.tile:hover .tile-sel,.tile-sel:has(input:checked),.tile-sel:focus-within,.gallery:has(input[name="ids[]"]:checked) .tile-sel{opacity:1}
.tile-badge{position:absolute;top:8px;right:8px;z-index:1}
.tile:not(:has(.tile-img)) .tile-badge{position:static;align-self:flex-end;margin:10px 12px -6px}
.tile-bd{padding:10px 12px 12px;display:flex;flex-direction:column;gap:3px;min-width:0}
.tile-t{font-weight:600;font-size:var(--fs-lg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tile-s{color:var(--ink-3);font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tile-f{display:flex;gap:6px;font-size:var(--fs-sm);min-width:0;align-items:baseline}.tile-f>span:first-child{color:var(--ink-3);flex:0 0 auto}.tile-f>*:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tile-amt{font-weight:600;margin-top:4px;font-size:var(--fs-lg)}
.tile-f.strong>b{font-weight:600}.tile-f.muted{color:var(--ink-3);font-size:var(--fs-xs)}.col-row .select-sm{height:26px;font-size:var(--fs-xs);width:auto;padding:0 6px}
.tile-design{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px}
.tile-prev-wrap{border-left:1px dashed var(--line);padding-left:16px}
@media (max-width:767px){.tile-design{grid-template-columns:1fr}.tile-prev-wrap{border-left:0;padding-left:0}.gallery{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}}
@media print{.view-switch,.gal-bar,.sv-bar,.gt-top,.kcol-act,.tile-sel,.kcard-sel{display:none!important}.gt{max-height:none;overflow:visible}}
.setup-shell{display:grid;grid-template-columns:224px minmax(0,1fr);gap:20px;align-items:start}
.setup-main{min-width:0}
.setup-rail{position:sticky;top:0;max-height:calc(100vh - var(--top) - 16px);overflow:auto;padding:4px 10px 12px 0;border-right:1px solid var(--line);scrollbar-width:thin}
.sr-top{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:8px}
.sr-home{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--link);text-decoration:none}
.sr-search{margin-bottom:6px}.sr-search .input{width:100%}
.sr-grp summary{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:600;font-size:var(--fs-sm);padding:6px 6px;border-radius:var(--r);list-style:none;color:var(--ink)}
.sr-grp summary::-webkit-details-marker{display:none}
.sr-grp summary:hover{background:var(--bg-3)}
.sr-items{display:flex;flex-direction:column;padding:0 0 6px 22px}
.sr-item{padding:4px 8px;border-radius:var(--r);color:var(--ink-3);font-size:var(--fs-sm);text-decoration:none}
.sr-item:hover{background:var(--bg-3);color:var(--ink)}
.sr-item.active{background:var(--pri-soft);color:var(--link);font-weight:600}
@media (max-width:767px){.setup-shell{display:block}}
.setup-cols{columns:4 230px;column-gap:16px}
.sh-grp{break-inside:avoid;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:12px 14px;margin:0 0 16px}
.sh-grp h3{display:flex;align-items:center;gap:8px;font-size:var(--fs);margin:0 0 6px}
.sh-items{display:flex;flex-direction:column}
.sh-item{display:flex;flex-direction:column;padding:3px 0 3px 24px;color:var(--ink-2);text-decoration:none}
.sh-item:hover .sh-l{color:var(--link);text-decoration:underline}
.sh-l{display:inline-flex;align-items:center;gap:4px}
.sh-s{display:none;color:var(--ink-4);font-size:var(--fs-xs);line-height:1.3}
.with-desc .sh-s{display:block}
.cz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;align-items:start}
.cz-grp .card-hd{gap:6px}.cz-gl{flex:1;font-weight:600}
.cz-grp.off{opacity:.6}
.cz-items{display:flex;flex-direction:column;gap:2px;min-height:24px}
.cz-item{display:flex;align-items:center;gap:6px;padding:4px 2px;border-radius:var(--r)}
.cz-item.off .cz-l{color:var(--ink-4);text-decoration:line-through}
.cz-item .cz-l{flex:1;display:inline-flex;align-items:center;gap:6px}
.cz-item.dragging,.cz-grp.dragging{background:var(--pri-soft)}
.oc-wrap{overflow-x:auto;padding:18px 12px 10px}
.oc,.oc ul{display:flex;justify-content:center;margin:0;padding:18px 0 0;list-style:none;position:relative}
.oc{padding-top:0;min-width:max-content;margin:0 auto}
.oc li{display:flex;flex-direction:column;align-items:center;position:relative;padding:18px 5px 0}
.oc li::before,.oc li::after{content:"";position:absolute;top:0;right:50%;width:50%;height:18px;border-top:1px solid var(--line-2)}
.oc li::after{right:auto;left:50%;border-left:1px solid var(--line-2)}
.oc li:only-child::before,.oc li:only-child::after{display:none}
.oc li:only-child{padding-top:0}
.oc li:first-child::before,.oc li:last-child::after{border:0 none}
.oc li:last-child::before{border-right:1px solid var(--line-2);border-radius:0 6px 0 0}
.oc li:first-child::after{border-radius:6px 0 0 0}
.oc ul::before{content:"";position:absolute;top:0;left:50%;border-left:1px solid var(--line-2);width:0;height:18px}
.oc>li{padding-top:0}.oc>li::before,.oc>li::after{display:none}
.oc-node{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:132px;max-width:190px;padding:8px 26px 8px 10px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);cursor:grab;position:relative;text-align:center}
.oc-node:hover{border-color:var(--pri-2)}
.oc-node.dragging{opacity:.45}.oc-node.drag-over{outline:2px dashed var(--pri-2);outline-offset:2px;background:var(--pri-soft)}
.oc-name{display:inline-flex;align-items:center;gap:4px;font-weight:600;color:var(--ink)}
.oc-sub{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);color:var(--ink-3)}
.oc-menu{position:absolute;top:2px;right:2px}
.oc-person{cursor:pointer;padding-right:10px}
.oc-top{display:flex;align-items:center;justify-content:center;gap:6px;margin:6px 12px 12px;padding:8px;border:1px dashed var(--line-2);border-radius:var(--r);color:var(--ink-4);font-size:var(--fs-sm)}
.oc-top.drag-over{border-color:var(--pri-2);color:var(--link);background:var(--pri-soft)}
.matrix tr.grp-row td{background:var(--bg-3);color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;padding-top:6px;padding-bottom:6px}
.tbl:not(.matrix) tr.grp-row td{background:var(--bg-3);padding-top:5px;padding-bottom:5px}
.sr-conds{display:flex;flex-direction:column;gap:4px}
.sr-cond{display:flex;align-items:center;gap:8px;padding:4px 6px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-3)}
.sr-n{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--pri-soft);color:var(--pri-ink);font-size:var(--fs-xs);font-weight:600;flex:none}
.sr-l{flex:1;min-width:0}button.sr-edit{background:none;border:0;padding:0;text-align:left;font:inherit;color:inherit;cursor:pointer}button.sr-edit:hover{text-decoration:underline}
.sr-builder{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.4fr) auto;gap:8px;align-items:end;padding:8px;border:1px dashed var(--line-2);border-radius:var(--r)}
.lk-panel{padding:10px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2)}
.addr-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 12px;align-items:end}
@media (max-width:767px){.addr-grid{grid-template-columns:1fr 1fr}}
.sr-builder .fld.span2{grid-column:1/-1}
@media (max-width:767px){.sr-builder{grid-template-columns:1fr}}
.sh-row{padding:4px 0;border-bottom:1px solid var(--line)}
.audit-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.audit-filters input[type=search]{width:190px}
.audit-filters .select{width:auto;max-width:170px}
@media (max-width:1400px){.audit-filters input[type=search]{width:160px}.audit-filters .select{max-width:150px}}
html.mob .rel-nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}html.mob .rel-nav::-webkit-scrollbar{display:none}html.mob .rel-nav .chip{flex:none}
.rel-m .li{cursor:default}.rel-m .li-s{font-size:var(--fs-xs);color:var(--ink-3)}.rel-m .li-r .rel-act{flex-wrap:nowrap}
html.mob .stack>.card:last-child{margin-bottom:72px}
.rlx-filter>summary{display:inline-flex;align-items:center;gap:4px;cursor:pointer;color:var(--ink-2);font-size:var(--fs-sm);list-style:none}.rlx-filter>summary::-webkit-details-marker{display:none}
.rlx-filter[open]>summary{color:var(--link)}.rlx-filter form{border:1px solid var(--line);border-radius:var(--r-md,8px);margin-top:6px;background:var(--bg-2)}
.pk-path{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.pk-step{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 10px;border-radius:12px;border:1px solid var(--line);background:var(--bg-2);color:var(--ink-2);font:inherit;font-size:var(--fs-xs);cursor:default}
button.pk-step{cursor:pointer}button.pk-step:hover{border-color:var(--pri-2);color:var(--link)}.pk-step.on{background:var(--pri);border-color:var(--pri);color:var(--on-pri)}
.pk-step.pk-positive:not(.on) svg{color:var(--ok)}.pk-step.pk-negative:not(.on) svg{color:var(--dng)}.pk-step.on.pk-positive{background:var(--ok);border-color:var(--ok)}.pk-step.on.pk-negative{background:var(--dng);border-color:var(--dng)}
.rc-row .rc-std{width:70px;text-align:right}
button.badge-btn{border:0;font-family:inherit;cursor:pointer}button.badge-btn:hover{filter:brightness(.95);text-decoration:underline}
.fa-grid th.c,.fa-grid td.c{width:96px;text-align:center}.fa-grid th .two-line{align-items:center}.fa-grid input[type=radio]{width:16px;height:16px}
html.mob .logins-top{grid-template-columns:1fr}html.mob .logins-top>.span2{grid-column:auto}
.audit-filters input[type=date]{width:auto}
.select.sel-auto{width:auto;min-width:160px;max-width:240px}
.ip-row .input:first-child{flex:1}.ip-row .input.mono{width:220px;flex:none}
.ftypes{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:6px;max-height:60vh;overflow:auto}
.ftype{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2);text-align:left;cursor:pointer;color:var(--ink);min-width:0}
.ftype:hover{border-color:var(--pri-2);background:var(--pri-soft)}.ftype svg{flex:none;margin-top:2px;color:var(--link)}
.ftype small{color:var(--ink-3);font-size:var(--fs-xs);line-height:1.3}
.fx-builder{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:12px}
.fx-main textarea{font-family:var(--mono);font-size:var(--fs-sm)}
.fx-side{display:flex;flex-direction:column;gap:6px;min-width:0}
.fx-list{display:flex;flex-direction:column;max-height:170px;overflow:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2)}
.fx-item{display:flex;justify-content:space-between;gap:8px;padding:4px 8px;border:0;background:none;color:var(--ink);text-align:left;cursor:pointer;font-size:var(--fs-sm)}
.fx-item:hover{background:var(--pri-soft)}.fx-item small{color:var(--ink-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}
@media (max-width:767px){.fx-builder{grid-template-columns:1fr}}
.sfe-head,.sfe-row{display:grid;grid-template-columns:22px minmax(0,1.2fr) 140px minmax(0,1.4fr) 32px;gap:6px;align-items:center}
.sfe-head{font-size:var(--fs-xs);color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;padding:0 0 4px}.sfe-head span:first-child{grid-column:2}
.sfe-list{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}
.subform{display:flex;flex-direction:column;gap:6px;align-items:flex-start;width:100%}.subform .subform-tbl{width:100%}
.subform-tbl td{padding:3px 4px}.subform-tbl .input,.subform-tbl .select{width:100%}
.mlookup{position:relative;display:flex;flex-direction:column;gap:6px}.mlk-chips:empty{display:none}
.mlk-chips .chip .x{border:0;background:none;color:inherit;cursor:pointer;padding:0 0 0 4px;display:inline-flex}
.help-tip{display:inline-flex;margin-left:4px;cursor:help;vertical-align:middle}
.fld-preview{border:1px dashed var(--line-2);border-radius:var(--r);padding:10px 12px;margin:0;min-width:0;background:var(--bg-3)}
.fld-preview .fld{margin:0}
.flags{flex-wrap:wrap}
.ly-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.ly-editor{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
.ly-canvas{display:flex;flex-direction:column;gap:12px;min-width:0;align-items:flex-start}.ly-canvas>*{align-self:stretch}.ly-canvas>.btn{align-self:flex-start}
.ly-secs{display:flex;flex-direction:column;gap:12px}
.ly-sec{border:1px dashed var(--line-2);border-radius:var(--r-lg);background:var(--bg-2);padding:10px 12px;min-width:0}.ly-sec.dragging{opacity:.6}
.ly-sh{display:flex;align-items:center;gap:6px;margin-bottom:8px;flex-wrap:wrap}
.ly-sn{font-weight:600;flex:1 1 200px;min-width:140px;max-width:340px}
.ly-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-height:44px;border-radius:var(--r);padding:2px}
.ly-fields.one,.ly-sec:has(select[name^="sc_"] option[value="1"]:checked) .ly-fields{grid-template-columns:minmax(0,1fr)}
.ly-fields:empty::before{content:"Drop fields here";grid-column:1/-1;display:flex;align-items:center;justify-content:center;min-height:40px;border:1px dashed var(--line-2);border-radius:var(--r);color:var(--ink-4);font-size:var(--fs-sm)}
.ly-fields.drag-over{background:var(--pri-soft);outline:1px dashed var(--pri-2)}
.ly-f{display:flex;align-items:center;gap:6px;min-width:0;padding:3px 4px 3px 2px;border:1px solid var(--line);border-left:3px solid var(--line-2);border-radius:var(--r);background:var(--bg);font-size:var(--fs-sm)}
.ly-f.full{grid-column:1/-1}.ly-f.req{border-left-color:var(--dng)}.ly-f.dragging{opacity:.55;border-style:dashed}
.ly-f .drag-handle,.ly-sh .drag-handle{border:0;background:none;color:var(--ink-4);cursor:grab;padding:3px 2px;display:flex;touch-action:none;border-radius:4px}
.ly-f .drag-handle:hover,.ly-f .drag-handle:focus-visible,.ly-sh .drag-handle:hover,.ly-sh .drag-handle:focus-visible{color:var(--ink-2);background:var(--bg-3);outline:none}
.ly-fl{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}
.ly-ft{flex:0 1 auto;max-width:45%;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--fs-xs)}
.ly-f .dropdown{flex:none}
.ly-tray{position:sticky;top:12px;display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-2);padding:10px;max-height:calc(100vh - 140px);overflow:auto;min-width:0}
.ly-tray-hd{display:flex;align-items:center;gap:6px;font-weight:600;font-size:var(--fs-sm);color:var(--ink-2)}
.ly-new{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.ly-nf{display:flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);color:var(--ink);font-size:var(--fs-xs);cursor:grab;text-align:left;min-width:0}
.ly-nf span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ly-nf svg{flex:none;color:var(--link)}
.ly-nf:hover{border-color:var(--pri-2);background:var(--pri-soft)}.ly-nf.dragging{opacity:.5}
.ly-ns{justify-content:center;font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.ly-unused{max-height:320px;overflow:auto;background:var(--bg);border:1px solid var(--line);padding:6px}
.ly-left{font-size:var(--fs-xs);color:var(--pri-ink);margin:0}
.ly-note{display:flex;align-items:center;gap:6px;margin:8px 0 0;font-size:var(--fs-xs);color:var(--ink-3)}
.ly-foot{grid-column:1/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding:10px 0 10px;position:sticky;bottom:0;z-index:5;background:var(--bg-2);box-shadow:0 -6px 12px -10px rgba(0,0,0,.35)}
.layout-chooser{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.mtpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.mtpl{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2);cursor:pointer;min-width:0}
.mtpl:hover{border-color:var(--ink-4)}.mtpl.on,.mtpl:has(input:checked){border-color:var(--pri-2);background:var(--pri-soft)}
.mtpl input{margin-top:3px}.mtpl svg{flex:none;color:var(--link);margin-top:1px}.mtpl small{color:var(--ink-3);font-size:var(--fs-xs);line-height:1.3}
.plain-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}
@media (max-width:980px){.ly-editor{grid-template-columns:minmax(0,1fr)}.ly-tray{position:static;max-height:none}}
@media (max-width:600px){.ly-fields{grid-template-columns:minmax(0,1fr)}}
.tag-custom{background:var(--tc,#0f766e)}.tag-none{background:transparent;color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line-2)}
.opt-editor.v2 .opt-row{flex-wrap:wrap;flex-shrink:0}
.opt-editor.v2 .opt-input{flex:0 1 auto;width:auto;field-sizing:content;min-width:12ch;max-width:100%}
.opt-editor.v2 .opt-input:not(:focus){border-radius:999px;font-weight:600;font-size:var(--fs-sm);color:#fff;background:var(--tag-slate);border-color:transparent;height:24px;padding:0 10px}
.opt-editor.v2 .opt-row:has(.opt-color[data-c=red]) .opt-input:not(:focus){background:var(--tag-red)}.opt-editor.v2 .opt-row:has(.opt-color[data-c=orange]) .opt-input:not(:focus){background:var(--tag-orange)}
.opt-editor.v2 .opt-row:has(.opt-color[data-c=amber]) .opt-input:not(:focus){background:var(--tag-amber)}.opt-editor.v2 .opt-row:has(.opt-color[data-c=green]) .opt-input:not(:focus){background:var(--tag-green)}
.opt-editor.v2 .opt-row:has(.opt-color[data-c=teal]) .opt-input:not(:focus){background:var(--tag-teal)}.opt-editor.v2 .opt-row:has(.opt-color[data-c=blue]) .opt-input:not(:focus){background:var(--tag-blue)}
.opt-editor.v2 .opt-row:has(.opt-color[data-c=indigo]) .opt-input:not(:focus){background:var(--tag-indigo)}.opt-editor.v2 .opt-row:has(.opt-color[data-c=violet]) .opt-input:not(:focus){background:var(--tag-violet)}
.opt-editor.v2 .opt-row:has(.opt-color[data-c=pink]) .opt-input:not(:focus){background:var(--tag-pink)}.opt-editor.v2 .opt-row:has(.opt-color[data-c=custom]) .opt-input:not(:focus){background:var(--tc,#0f766e)}
.opt-editor.v2 .opt-row:has(.opt-color[data-c=none]) .opt-input:not(:focus){background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2)}
.opt-editor.no-color.v2 .opt-input:not(:focus){background:transparent;color:var(--ink);border-radius:var(--r);font-weight:400}
.opt-editor.v2 .opt-used{margin-left:auto}
.opt-color[data-c=none]{border-left-color:var(--line-2)}.opt-color[data-c=custom]{border-left-color:var(--tc,#0f766e)}
.opt-row .opt-hex{display:none;width:30px;height:26px;padding:0 2px;border:1px solid var(--line);border-radius:6px;background:var(--bg-2);cursor:pointer;flex:none}
.opt-row:has(.opt-color[data-c=custom]) .opt-hex{display:inline-block}
.opt-row .opt-cat{width:100px;flex:none}
.opt-off{display:inline-flex;align-items:center;gap:3px;font-size:var(--fs-xs);color:var(--ink-3);padding:2px 6px;border-radius:10px;cursor:pointer;flex:none}
.opt-off input{margin:0}.opt-off span{display:none}.opt-off:has(input:checked){background:var(--warn-soft);color:var(--ink)}.opt-off:has(input:checked) span{display:inline}
.opt-row.off .opt-input,.opt-row:has(.opt-off input:checked) .opt-input{opacity:.55;text-decoration:line-through}
.opt-renamed{flex-basis:100%;display:flex;align-items:center;gap:6px;padding:2px 30px 4px;font-size:var(--fs-xs);color:var(--ink-3)}
.opt-renamed[hidden]{display:none}.opt-renamed .btn-link{padding:0;height:auto}
.opt-search{width:180px}
.opt-editor.max .opt-list{max-height:none}
.opt-foot{align-items:center}.opt-foot .opt-paste{flex-basis:100%}
.pk-props{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}
.msel{position:relative;min-width:0}.msel-dd{position:relative}
.msel-sum{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;min-height:32px}.msel-sum::-webkit-details-marker{display:none}
.msel-txt{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msel-n{font-size:var(--fs-xs);color:var(--ink-3);white-space:nowrap}
.msel-pop{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:8px;display:flex;flex-direction:column;gap:6px}
.msel-tools .input{flex:1;min-width:0}
.msel-list{display:flex;flex-direction:column;max-height:240px;overflow:auto}
.msel-opt{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:6px;cursor:pointer;font-size:var(--fs-sm)}.msel-opt:hover{background:var(--bg-3)}
.fv-hist{margin-left:4px;vertical-align:middle}
.vc-hint:empty{display:none}.vc-hint .fld-err,.vc-hint .fld-warn{display:flex;align-items:center;gap:4px}
.fld-warn{color:var(--warn-ink,#b45309);font-size:var(--fs-xs)}
.mf-pick{display:flex;flex-direction:column;gap:6px}.mf-list{max-height:120px;overflow:auto}.mf-list .chip{cursor:pointer;border:1px solid var(--line)}
.rel-row{display:flex;align-items:center;gap:8px}.rel-row .input{flex:1;min-width:0}
.card.folded>.card-bd,.card.folded>.card-ft{display:none}.card.folded .rel-fold svg{transform:rotate(180deg)}
@media (max-width:767px){.opt-editor{padding-bottom:64px}.opt-row .opt-cat{width:96px}.opt-search{width:120px}}
.stor-big{font-size:26px;font-weight:600;letter-spacing:-.01em}
.stor-bar{display:flex;height:14px;border-radius:7px;overflow:hidden;background:var(--bg-3)}.stor-bar span{display:block;height:100%}
.stor-rec{background:var(--pri)}.stor-file{background:var(--info,#0ea5e9)}
.stor-fname{display:inline-block;max-width:190px;vertical-align:bottom}html.mob .stor-fname{max-width:160px}
.stor-k0{background:var(--pri)}.stor-k1{background:var(--info,#0ea5e9)}.stor-k2{background:var(--ok,#16a34a)}.stor-k3{background:var(--warn,#d97706)}
.stor-k4{background:var(--vio,#7c3aed)}.stor-k5{background:var(--dng,#dc2626)}.stor-k6{background:#0d9488}.stor-k7{background:var(--ink-3,#94a3b8)}
.stor-bar.near{box-shadow:inset 0 0 0 1px var(--warn)}.stor-bar.full{box-shadow:inset 0 0 0 1px var(--dng)}
.stor-key{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.stor-free details{border:1px solid var(--warn-line,#fde68a);background:var(--warn-soft,#fffbeb);border-radius:var(--r-lg,10px)}
.stor-free summary{display:flex;align-items:center;gap:8px;padding:14px 16px;cursor:pointer;list-style:none}.stor-free summary::-webkit-details-marker{display:none}
.stor-free summary .link{margin-left:auto;color:var(--link)}.stor-free details[open] summary .link{visibility:hidden}
.stor-free .list{border-top:1px solid var(--warn-line,#fde68a);background:var(--bg)}.stor-free .li{display:flex;align-items:center;gap:10px;padding:10px 16px}
.stor-free .li-m{flex:1;min-width:0}.stor-free .li-s{color:var(--ink-3);font-size:var(--fs-xs)}
#bks .radio{white-space:nowrap}
.stor-files{grid-template-columns:minmax(0,2fr) minmax(0,5fr);align-items:start}@media (max-width:900px){.stor-files{grid-template-columns:minmax(0,1fr)}}
.bin-with h4{margin:0 0 6px;font-size:var(--fs-sm)}.bin-with ul{list-style:none;margin:0;padding:0}.bin-with li{display:flex;align-items:center;gap:6px}
.tt-tree{padding:6px 10px 10px}.tt-root{display:flex;align-items:center;gap:8px;padding:6px;font-weight:600}
.tt-kids{margin-left:12px;padding-left:14px;border-left:1px dashed var(--line-2,var(--line))}.tt-kids.tt-top{margin-left:10px}
.tt-node>.tt-kids{display:none}.tt-node.open>.tt-kids{display:block}
.tt-row{display:flex;align-items:center;gap:8px;min-height:36px;padding:2px 6px;border-radius:var(--r)}.tt-row:hover{background:var(--bg-3)}
.tt-tog{flex:none;width:22px;height:22px;display:grid;place-items:center;border:0;background:none;color:var(--ink-3);cursor:pointer;border-radius:6px}.tt-tog.none{cursor:default}
.tt-tog svg{transition:transform .15s}.tt-node.open>.tt-row>.tt-tog svg{transform:rotate(90deg)}
.tt-name{border:0;background:none;padding:0;font:inherit;font-weight:500;color:var(--ink);cursor:pointer;text-align:left}.tt-name:hover{color:var(--link)}
.tt-mgr{display:inline-flex;align-items:center;gap:4px;color:var(--link);font-size:var(--fs-sm)}.tt-meta{color:var(--ink-3);font-size:var(--fs-xs)}
.tt-acts{margin-left:auto;display:flex;gap:2px;opacity:0;transition:opacity .1s}.tt-row:hover .tt-acts,.tt-row:focus-within .tt-acts{opacity:1}
@media (hover:none){.tt-acts{opacity:1}}
.tt-node.off>.tt-row .tt-name{color:var(--ink-3);text-decoration:line-through}
.stage-tbl .stage-pill{white-space:nowrap}.stage-tbl tbody tr.dragging{opacity:.6;background:var(--pri-soft)}
.sr-cond.on{background:var(--pri-soft)}.wrap-any{white-space:normal;display:inline-block;min-width:220px}.tr-edit{border:1px solid var(--line);border-radius:var(--r-lg,10px);padding:10px 12px}
.doc-editor .doc-paper .rte-ed{min-height:620px;max-height:none;padding:28px 36px;font-family:Georgia,"Times New Roman",serif;font-size:15px;line-height:1.55;color:#111;background:#fff}
.sw-oc input:checked ~ span::before{content:attr(data-on)}.sw-oc input:not(:checked) ~ span::before{content:attr(data-off);color:var(--ink-3)}
.icp{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:4px;max-height:176px;overflow:auto;padding:2px}
.icp-it{position:relative;display:flex;align-items:center;justify-content:center;height:36px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2);color:var(--ink-2);cursor:pointer}
.icp-it input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.icp-it:hover{border-color:var(--pri-2);color:var(--ink)}
.icp-it:has(input:checked){border-color:var(--pri-2);background:var(--pri-soft);color:var(--pri-ink);box-shadow:0 0 0 1px var(--pri-2)}
.icp-it:has(input:focus-visible){outline:2px solid var(--pri-2);outline-offset:1px}
.cal-evt.cal-more{background:var(--bg-3);border:1px dashed var(--line);color:var(--ink-2);font-weight:600;display:flex;align-items:center;justify-content:center;cursor:pointer}
.cal-evt.cal-more:hover{background:var(--bg-2);color:var(--ink)}
.doc-editor .doc-paper .rte-ed table{border-collapse:collapse;width:100%}
.rte-ed .mf{display:inline-block;padding:0 6px;margin:0 1px;border-radius:9px;background:#e6f8ff;border:1px solid #a6e4fa;color:#006285;font-family:Arial,Helvetica,sans-serif;font-size:.84em;line-height:1.5;white-space:nowrap;cursor:default;vertical-align:baseline}
.rte-ed .mf:hover{background:#e0e7ff}.doc-editor .doc-paper .rte-ed th{background:#f2f2f2;text-align:left}
.doc-editor .doc-paper .rte-ed td,.doc-editor .doc-paper .rte-ed th{border:1px solid #bbb;padding:5px 8px;vertical-align:top}
.doc-editor .doc-paper .rte-ed tr[title^="each:"]>td{background:#eaf3ff}.doc-editor .doc-paper .rte-ed tr[title^="each:"]>td:first-child{box-shadow:inset 3px 0 0 #2a78d6}
.doc-editor .doc-paper .rte-ed tr[title^="if:"]>td,.doc-editor .doc-paper .rte-ed tr[title^="if:"]>th{background:#fff6e0}
.doc-editor .doc-paper .rte-ed hr[style*="page-break"]{border:0;border-top:2px dashed #c7cdd6;margin:18px 0}
.doc-editor .doc-paper .rte-src{min-height:620px}
.doc-flist{max-height:340px}.doc-fhd{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-4);padding:8px 8px 2px;position:sticky;top:0;background:var(--bg-2)}
.doc-help p{margin:0}.doc-help code{font-family:var(--mono);font-size:12px;background:var(--bg-3);padding:0 3px;border-radius:3px}
.cmp-frame.doc-frame{height:72vh}
.doc-mini{height:250px;overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.doc-mini iframe{width:286%;height:715px;border:0;transform:scale(.35);transform-origin:0 0;pointer-events:none}
@media (max-width:1100px){.doc-editor.tpl-editor.split{grid-template-columns:minmax(0,1fr)}.doc-editor .doc-paper .rte-ed td,.doc-editor .doc-paper .rte-ed th{overflow-wrap:anywhere}}
@media (max-width:767px){.doc-editor .doc-paper .rte-ed{min-height:380px;padding:16px}
  .doc-list.tpl-split.split.left{grid-template-columns:minmax(0,1fr)}.doc-list .tpl-rail{flex-direction:row;flex-wrap:wrap;gap:4px}.doc-list .tpl-rail-hd{display:none}.doc-list .tpl-rail-item{padding:4px 8px}.doc-list .search{min-width:0;flex:1}}
.inbox-bar{margin-bottom:8px}.inbox-bar .search{min-width:220px}
.inbox.inbox3{grid-template-columns:minmax(260px,330px) minmax(0,1fr) 300px;height:calc(100vh - 215px);position:relative}
.inbox-side{border-left:1px solid var(--line);overflow-y:auto;min-width:0;background:var(--bg)}
.inbox-side .tabs{padding:0 10px}.inbox-side .side-bd{padding:10px 12px}
.side-sec{border-top:1px solid var(--line);padding-top:8px}
.iside-item{padding:6px 8px;border-radius:var(--r);cursor:pointer;display:flex;flex-direction:column;gap:2px;min-width:0}.iside-item:hover{background:var(--bg-3)}.iside-item>.row{min-width:0}
.side-note{padding:6px 8px;border-left:2px solid var(--line-2);background:var(--bg-2);border-radius:0 var(--r) var(--r) 0}
.inbox-row{display:flex;align-items:center;border-bottom:1px solid var(--line)}.inbox-row .inbox-item{flex:1;border-bottom:0;min-width:0}
.inbox-row.sel{background:var(--pri-soft)}.inbox-chk{margin:0 0 0 10px;flex:none}
.inbox-list .bulkbar.inbox-bulk{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:2px;padding:4px 8px;background:var(--pri-soft);border-bottom:1px solid var(--line)}
.inbox-list .bulkbar.hidden{display:none}
.inbox-tabs{padding:0 12px;border-bottom:1px solid var(--line)}
.bubble-files{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.bubble-files .chip{white-space:normal;text-decoration:none}
.bubble-meta .badge{font-size:10px;padding:0 6px;height:16px}
.reply-mode input{display:none}.reply-mode label:has(input:checked){background:var(--pri);color:var(--on-pri);border-color:var(--pri)}
.inbox-reply:has(input[value="note"]:checked) textarea{background:var(--warn-soft);border-color:var(--warn)}
.inbox-unknown .alert{margin:8px 12px 0}
.side-tgl{display:none}
@media (max-width:1180px){.side-tgl{display:inline-flex}.inbox.inbox3{grid-template-columns:minmax(240px,300px) minmax(0,1fr)}.inbox.inbox3 .inbox-side{display:none}
  .inbox.inbox3.side-open .inbox-side{display:block;position:absolute;right:0;top:0;bottom:0;width:320px;box-shadow:var(--shadow-lg);z-index:5}}
@media (max-width:767px){.inbox.inbox3{grid-template-columns:1fr;height:calc(100vh - 200px)}.inbox.inbox3.side-open .inbox-side{width:100%}.inbox-bar .search{min-width:0;flex:1}}
.side-back{display:none}
@media (max-width:1180px){.inbox.inbox3.side-open .side-back{display:flex;position:sticky;top:0;z-index:2;background:var(--bg);border-bottom:1px solid var(--line);padding:6px 8px}}
.tpl-split.split.left{grid-template-columns:230px minmax(0,1fr)}
.tpl-rail{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-2);padding:8px;align-self:start}
.tpl-rail-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--r);cursor:pointer;color:var(--ink-2);min-width:0}
.tpl-rail-item:hover{background:var(--bg-3)}.tpl-rail-item.on{background:var(--pri-soft);color:var(--pri-ink);font-weight:600}.tpl-rail-item .cnt{font-size:var(--fs-xs);color:var(--ink-4)}.tpl-rail-item.on .cnt,.rep-folders .li.active .cnt{color:inherit}
.tpl-rail-hd{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-4);padding:10px 8px 4px}
.tpl-rail-hd.row{align-items:center;padding-right:2px}.tpl-rail-row{display:flex;align-items:center;gap:2px;min-width:0}.tpl-rail-row .tpl-rail-item{flex:1}
.tpl-rail-row .dropdown .btn{opacity:.55}.tpl-rail-row:hover .dropdown .btn,.tpl-rail-row .dropdown .btn:focus-visible{opacity:1}
.tpl-pick .select{min-width:0}.tpl-gal-open{cursor:pointer}
.tpl-tbl .star{color:var(--ink-4)}.tpl-tbl .star.on{color:var(--warn)}.tpl-tbl .star.on svg{fill:currentColor}
.tpl-stat{display:inline-flex;flex-direction:column;align-items:flex-start;gap:3px;padding:0;height:auto;text-align:left}
.tpl-meter{display:block;width:72px;height:4px;border-radius:2px;background:var(--bg-4);overflow:hidden}.tpl-meter i{display:block;height:100%;background:var(--ok)}
.tpl-frame-wrap{display:flex;justify-content:center}.tpl-frame-wrap .cmp-frame{height:460px}.tpl-frame-wrap.phone .cmp-frame{width:375px;height:620px;border-radius:18px;border-width:6px;border-color:var(--ink-3)}
.tpl-gallery .tpl-card{display:flex;flex-direction:column}.tpl-gallery .card-bd{flex:1}.tpl-mini{width:100%;height:230px;border:1px solid var(--line);border-radius:var(--r);background:#fff;pointer-events:none}
.tpl-editor.split{grid-template-columns:minmax(0,1fr) 320px}
.rte-blocks{width:auto;height:28px;margin-left:6px}
:root{--viz-1:#11607f;--viz-2:#009fd6}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--viz-1:#3a93b8;--viz-2:#7fdfff}}
:root[data-theme="dark"]{--viz-1:#3a93b8;--viz-2:#7fdfff}
.viz{display:flex;flex-direction:column;gap:6px}
.viz-legend{display:flex;flex-wrap:wrap;gap:10px;font-size:var(--fs-sm);color:var(--ink-2)}.viz-legend span{display:inline-flex;align-items:center;gap:5px}
.viz-legend .sw{width:10px;height:10px;border-radius:2px;display:inline-block}.sw.s1{background:var(--viz-1)}.sw.s2{background:var(--viz-2)}
.viz-plot{position:relative;border-bottom:1px solid var(--line);padding-top:14px}.viz-max{position:absolute;top:0;left:0;font-size:var(--fs-xs);color:var(--ink-4)}
.viz-bars{display:flex;align-items:flex-end;gap:2px;height:110px}
.viz-col{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;min-width:3px;cursor:default}
.viz-col:hover{background:var(--bg-3)}
.viz-seg{display:block;width:100%;min-height:2px}.viz-seg.s1{background:var(--viz-1)}.viz-seg.s2{background:var(--viz-2)}.viz-seg.top{border-radius:4px 4px 0 0}
.viz-axis{display:flex;justify-content:space-between;font-size:var(--fs-xs);color:var(--ink-4)}
.viz-table summary{cursor:pointer;font-size:var(--fs-sm);color:var(--ink-3)}
@media (max-width:767px){.tpl-split.split.left,.tpl-editor.split{grid-template-columns:minmax(0,1fr)}.tpl-split .tpl-rail{flex-direction:row;flex-wrap:wrap;gap:4px}.tpl-split .tpl-rail-hd{display:none}.tpl-split .tpl-rail-item{padding:4px 8px}.tpl-split .search{min-width:0;flex:1}.tpl-frame-wrap.phone .cmp-frame{width:100%}}
.tpl-stats-card .grid.cols-4{grid-template-columns:1fr 1fr}

.note .note-title{font-weight:600;margin-top:4px}
.note-ref{display:flex;align-items:center;gap:2px;margin-top:2px}.note-ref-link{color:inherit;text-decoration:underline;text-underline-offset:2px}.note-ref-link:hover{color:var(--link)}
.note-src{color:var(--ink-3)}.note-src a{color:inherit;text-decoration:underline dotted}
.note-body.rich{white-space:normal}.note-body.rich p{margin:0 0 6px}.note-body.rich ul,.note-body.rich ol{margin:4px 0 6px 18px;padding:0}
.note-body.rich blockquote{margin:4px 0;padding-left:10px;border-left:3px solid var(--line-2);color:var(--ink-3)}.note-body.rich h3{font-size:var(--fs);margin:6px 0 4px}
.note-body.rich a{color:var(--link)}
.note-files{margin-top:6px}
.file-chip{display:inline-flex;align-items:center;gap:5px;max-width:260px;height:26px;padding:0 8px;border:1px solid var(--line);border-radius:14px;background:var(--bg-3);color:var(--ink-2);font:inherit;font-size:var(--fs-sm);cursor:pointer;text-decoration:none;white-space:nowrap;overflow:hidden}
.file-chip:hover{border-color:var(--pri-2);color:var(--link)}.file-chip small{color:var(--ink-4)}.file-chip .x{border:0;background:transparent;color:inherit;cursor:pointer;padding:0;display:inline-flex}
.note-form .note-rte .rte-ed{min-height:64px}
.rte.has-bh{position:relative}.rte-bh-ring{position:absolute;pointer-events:none;border:1.5px dashed var(--pri-2);border-radius:4px;z-index:3}
.rte-bh{position:absolute;z-index:4;display:flex;gap:2px;padding:2px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.rte-bh-pop{position:absolute;z-index:5;width:240px;display:flex;flex-direction:column;gap:6px;padding:10px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}
.notes-bar{margin-top:2px}
.tag .tag-name{border:0;background:transparent;color:inherit;font:inherit;padding:0;cursor:pointer}.tag .tag-name:hover{text-decoration:underline}
.tag .x{border:0;background:transparent;color:inherit;cursor:pointer;padding:0 0 0 3px;display:inline-flex;opacity:.8}.tag .x:hover{opacity:1}
.swatches{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.swatch{display:flex;align-items:center;gap:5px;font-size:var(--fs-xs);color:var(--ink-3);cursor:pointer;padding:3px 4px;border-radius:var(--r)}
.swatch input{position:absolute;opacity:0;pointer-events:none}.swatch .dot{width:12px;height:12px;flex:0 0 12px}
.swatch:has(input:checked){background:var(--pri-soft);color:var(--ink)}.swatch:has(input:checked) .dot{box-shadow:0 0 0 2px var(--bg-2),0 0 0 3px var(--pri-2)}
.swatch:has(input:focus-visible){outline:2px solid var(--pri-2)}
.tag-form{min-width:300px}
.att-preview-img{display:block;max-width:100%;max-height:70vh;margin:0 auto;border-radius:var(--r)}
.att-preview-pdf{display:block;width:100%;height:70vh;border:0;border-radius:var(--r);background:#fff}

.fv .editable{cursor:pointer;border-radius:4px;padding:0 2px;margin:0 -2px}
.fv .editable:hover,.fv .editable:focus-visible{background:var(--bg-3);outline:none}
.fv .editable .edit-cue{opacity:0;margin-left:6px;color:var(--ink-4);vertical-align:-1px}
.fv .editable:hover .edit-cue,.fv .editable:focus-visible .edit-cue{opacity:1}
.inline-form{display:flex;align-items:flex-start;gap:4px;min-width:220px}.inline-form>.fld{flex:1;min-width:0;margin:0}
.inline-form .fld>span:first-child,.inline-form .fld>.hint{display:none}
.card.sec-editing{box-shadow:0 0 0 2px var(--pri-soft)}
.rel-nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px;position:sticky;top:0;z-index:4;background:var(--bg);padding:6px 0}
.rel-nav .chip .cnt,.form-index .chip .cnt{margin-left:4px;font-size:var(--fs-xs);color:var(--ink-3)}
.rel-act-c{text-align:right;white-space:nowrap;width:1%}.rel-act .btn{height:24px}
.form-index{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:0 0 10px}
.form-sec[data-fold]{cursor:pointer;user-select:none}
.form-sec[data-fold]::after{content:"";display:inline-block;width:6px;height:6px;margin-left:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.5}
.form-sec.folded::after{transform:rotate(-45deg)}
.sec-folded{display:none!important}
.dup-hint:empty{display:none}.dup-warn{display:flex;align-items:center;gap:4px;margin-top:4px;padding:4px 8px;border-radius:var(--r);background:var(--warn-soft);color:var(--warn-ink)}
.dup-warn a{color:inherit;text-decoration:underline;margin-left:4px}
.tl-filters{margin-bottom:10px}
.tl-note-btn{border:0;background:transparent;color:var(--ink-4);font:inherit;font-size:var(--fs-xs);cursor:pointer;padding:2px 0;display:inline-flex;align-items:center;gap:3px;opacity:0}
.tl-item:hover .tl-note-btn,.tl-note-btn:focus-visible{opacity:1}.tl-note-btn:hover{color:var(--link)}
@media (hover:none),(max-width:767px){.tl-note-btn{opacity:1;color:var(--ink-3)}}
.tl-about{display:flex;gap:6px;align-items:flex-start;margin:4px 0 2px;padding:4px 8px;border-left:2px solid var(--line-2);background:var(--bg-3);color:var(--ink-2);border-radius:0 var(--r) var(--r) 0;overflow-wrap:anywhere}
.tl-about .ic{flex:none;margin-top:2px;color:var(--ink-3)}
.ix-link{color:inherit;font-weight:600;text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-underline-offset:2px}.ix-link:hover{color:var(--link)}
.org-cols h4{margin:0 0 6px;font-size:var(--fs-sm)}
.print-doc{max-width:860px;margin:0 auto;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 32px}
.pr-hd h1{margin:4px 0;font-size:24px}.pr-hd{border-bottom:2px solid var(--line-2);padding-bottom:12px;margin-bottom:14px;display:flex;flex-direction:column;gap:4px}
.pr-sec{margin:14px 0;break-inside:avoid}.pr-sec h3{font-size:var(--fs-lg);margin:0 0 6px;border-bottom:1px solid var(--line);padding-bottom:4px}
.pr-note{padding:6px 0;border-bottom:1px dashed var(--line)}
@media print{.print-doc{border:0;padding:0;max-width:none;background:#fff;color:#000}.pr-bar,.rel-nav,.tl-note-btn,.edit-cue,.form-index{display:none!important}}

.camp-line{display:flex;align-items:center;background:var(--bg-2);border-bottom:1px solid var(--line)}
.camp-line:last-child{border-bottom:0}.camp-line:hover{background:var(--bg-3)}
.camp-line>.camp-chk{flex:none;margin:0 0 0 12px}
.camp-line>.li{flex:1;min-width:0;border-bottom:0;background:transparent}
.camp-rates{display:flex;gap:14px;white-space:nowrap}
.camp-ch.offline{background:var(--vio-soft);color:var(--vio-ink)}

.view-list{display:flex;flex-direction:column;gap:4px}
.view-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2)}
.view-row .view-main{flex:1;min-width:0}.view-row .view-main .xs{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.star-btn{border:0;background:transparent;color:var(--ink-4);cursor:pointer;padding:2px;display:inline-flex}.star-btn:hover{color:var(--warn)}.star-btn.on{color:var(--warn)}.star-btn.on .ic{fill:currentColor}
.view-items{max-height:50vh;overflow:auto}
.view-editor .ve-cols{max-height:420px;overflow:auto}

.qc-items{max-height:60vh;overflow:auto;min-width:240px}
.mu-row{align-items:start}.mu-row+.mu-row{border-top:1px dashed var(--line);padding-top:8px}

#mrg-tbl.conflicts-only tr.same{display:none}
#mrg-tbl tr.hl td{background:var(--warn-soft)}
.use-all{height:20px;padding:0 6px;font-size:var(--fs-xs);margin-left:6px;text-transform:none;letter-spacing:0}
.mcrit .chip input{margin:0 4px 0 0}

.imp-samples{display:flex;flex-wrap:wrap;gap:4px}
.imp-sample{display:inline-block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:1px 6px;border-radius:var(--r-sm);background:var(--bg-3);border:1px solid var(--line);font-size:var(--fs-xs);color:var(--ink-2)}
.imp-map td{vertical-align:top}
.imp-related{border-top:1px dashed var(--line);padding-top:12px}
.dropzone.dropzone-sm{flex-direction:row;padding:8px 12px;gap:6px;border-width:1px;font-size:var(--fs-sm)}
.imp-files .chip{gap:4px}
.imp-check{border:1px solid var(--line);border-radius:var(--r-md);padding:10px 14px;background:var(--bg-2)}
.imp-check>summary{cursor:pointer}
.imp-check-list{margin:8px 0 0;padding-left:18px;display:grid;gap:4px;color:var(--ink-2)}
.imp-pkg td,.imp-pkg th{vertical-align:top}.imp-pkg td.num,.imp-pkg th.num{text-align:right}
.imp-pkg-left{color:var(--ink-2)}
.imp-preflight{border-left:3px solid var(--warn);padding:6px 10px;background:var(--warn-soft);border-radius:var(--r-sm)}
.imp-preflight .btn{margin-left:auto}
.exp-fields{max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:var(--r-md);padding:8px;background:var(--bg-2)}
.exp-fields .chip input{margin:0 4px 0 0}

.gs-form{display:flex;align-items:stretch;margin:0}
.gs-field{position:relative;flex:1;min-width:0;display:block}
.gs-scope{height:30px;max-width:128px;padding:0 4px 0 8px;border:1px solid var(--line);border-right:0;border-radius:8px 0 0 8px;background:var(--bg-3);color:var(--ink-2);font:inherit;font-size:var(--fs-sm);cursor:pointer}
.gs-scope:focus{outline:2px solid var(--pri-2);outline-offset:-1px}
.gs-scope+.gs-field input{border-radius:0 8px 8px 0}
.gs-menu .gs-row{display:flex;align-items:center;gap:2px}
.gs-menu .gs-row>.menu-item{flex:1;min-width:0}
.gs-acts{display:flex;gap:2px;padding-right:6px;opacity:.55;transition:opacity .12s}
.gs-row:hover .gs-acts,.gs-row:focus-within .gs-acts{opacity:1}
.gs-all{border-top:1px solid var(--line);margin-top:4px}
@media (max-width:720px){.gs-scope{max-width:84px}.gs-acts{opacity:1}}

.view-editor #flt-rows{counter-reset:flt}
.view-editor .flt-row{position:relative;padding-left:28px}
.view-editor .flt-row::before{counter-increment:flt;content:counter(flt);position:absolute;left:0;top:26px;width:20px;height:20px;border-radius:50%;background:var(--bg-3);border:1px solid var(--line);font-size:var(--fs-xs);display:flex;align-items:center;justify-content:center;color:var(--ink-3)}
.ve-pattern{width:170px;font-family:ui-monospace,Consolas,monospace}
.party{align-items:center}.party .spacer{flex:1}
a.fc-link{color:inherit;text-decoration:underline dotted;text-underline-offset:3px}a.fc-link:hover{color:var(--link)}
.fc-up{color:var(--ok);white-space:nowrap}.fc-down{color:var(--dng);white-space:nowrap}.badge.fc-adj{margin-left:4px;font-size:10px;cursor:help}
.fc-tree{display:flex;flex-direction:column;gap:10px}.fc-branches{display:flex;flex-direction:column;gap:10px;margin-left:14px;padding-left:14px;border-left:1px dashed var(--line-2)}
.fc-node{display:flex;flex-direction:column;gap:6px}.fc-figs{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-end}.fc-figs>span{display:flex;flex-direction:column;gap:2px}
.fc-figs small{color:var(--ink-3)}.fc-chip{display:inline-flex;align-items:center;gap:3px;margin-top:2px;padding:0 6px;border-radius:999px;background:var(--warn-soft);color:var(--ink-2);font-size:var(--fs-xs)}
.fc-team>summary{display:flex;flex-wrap:wrap;gap:12px;align-items:center;cursor:pointer;padding:6px 0}.fc-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;padding:6px 0 4px}
.fc-card{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-1)}
.tg-form .tg-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1.2fr);gap:10px;align-items:center;padding:4px 0}
.tg-team>summary{list-style:none;cursor:pointer}.tg-team>summary::-webkit-details-marker{display:none}.tg-people{margin-left:18px;padding-left:12px;border-left:1px dashed var(--line-2)}
.tg-company{padding:8px 0;border-bottom:1px solid var(--line)}.tg-who{min-width:0}.money-in .input{max-width:190px}.tg-sum .tg-warn{display:none;color:var(--warn);margin-left:4px}
.tg-sum.off-sum .tg-warn{display:inline}.tg-sum.off-sum b{color:var(--warn)}
.tg-who.stack-0{display:flex;flex-direction:column;gap:2px}.tg-deals{white-space:normal;line-height:1.3}
.seg.seg-wrap{flex-wrap:wrap;max-width:100%}.fc-team>summary{list-style:none}.fc-team>summary::-webkit-details-marker{display:none}
.fc-team>summary::before{content:'+';display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1px solid var(--line-2);border-radius:3px;font-size:12px;line-height:1;color:var(--ink-3);flex:none}
.fc-team[open]>summary::before{content:'\2212'}
.viz .v-line.v-dash{stroke-dasharray:6 5}
@media (max-width:560px){.tg-form .tg-row{grid-template-columns:minmax(0,1fr)}.fc-branches{margin-left:4px;padding-left:8px}}
.sc-rows{display:flex;flex-direction:column}
.sc-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto auto auto;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}.sc-row:last-child{border-bottom:0}
.sc-row.off .sc-t,.sc-row.off .sc-p{opacity:.5}.sc-n{color:var(--ink-3);text-align:right}.sc-t{min-width:0;overflow-wrap:anywhere}
.sc-p{white-space:nowrap;font-weight:600}.sc-p.up{color:var(--ok)}.sc-p.down{color:var(--dng)}
.sc-form{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;padding:8px;border:1px dashed var(--line-2);border-radius:var(--r)}
.sc-form .fld{margin:0;min-width:120px}.sc-crit{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;flex:1 1 380px}.sc-pts{display:flex;gap:8px;align-items:flex-end}
.sc-pts .fld{min-width:90px}
@media (max-width:560px){.sc-row{grid-template-columns:24px minmax(0,1fr) auto}.sc-row .switch,.sc-row .btn{grid-row:2}}
.rt-bar .input,.rt-bar .select{max-width:240px}
.vm-row{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr) 32px;gap:8px;align-items:center}
.tu-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) 32px;gap:8px;align-items:center}.tu-hd{padding:0 2px}
@media (max-width:560px){.vm-row,.tu-row{grid-template-columns:minmax(0,1fr)}.vm-row>.ic,.tu-hd{display:none}}
.pm-row{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);gap:8px;align-items:center}.pm-row .fld{margin:0}
.ra-rows{max-height:340px;overflow:auto;border:1px solid var(--line);border-radius:var(--r-md);padding:4px}.ra-row{align-items:center;padding:6px 8px;border-radius:var(--r-sm);cursor:pointer}.ra-row:hover{background:var(--bg-2)}
.pm-from{display:flex;flex-direction:column;min-width:0}.pm-from b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:560px){.pm-row{grid-template-columns:minmax(0,1fr)}.pm-row>.ic{display:none}}
.row-tags{display:inline-flex;flex-wrap:wrap;gap:3px;align-items:center;margin-left:4px}
@media (max-width:600px){.camp-row .li-t{flex-wrap:wrap;row-gap:2px}.camp-row .li-t>.truncate{flex:1 1 100%}}
.row-tags .tag,.ktags .tag{font-size:10px;padding:0 5px;line-height:16px}
.ktags{display:flex;flex-wrap:wrap;gap:3px}
th.sortable{cursor:pointer;user-select:none}th.sortable:hover{color:var(--ink)}th.sortable .ic{vertical-align:-2px;margin-left:2px}
.toast-act{margin-left:12px;padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
.toast-act:disabled{opacity:.6;cursor:default}
.call-timer{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;margin-bottom:10px;border:1px dashed var(--line-2);border-radius:var(--r-lg);background:var(--bg-3)}
.call-timer .ct-clock{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700;min-width:64px;color:var(--ink-2)}
.call-timer.on{border-style:solid;border-color:var(--ok);background:var(--ok-soft)}
.call-timer.on .ct-clock{color:var(--ok)}
.lr-cand{align-items:flex-start;padding:6px 8px;border:1px solid var(--line);border-radius:var(--r)}
.lr-cand:hover{background:var(--bg-3)}
.ix-hd{margin-bottom:8px}
.ix-legend{display:flex;justify-content:space-between;padding:0 4px 6px;color:var(--ink-3)}
.ix-key::before{content:'';display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.ix-key.them::before{background:var(--ok)}.ix-key.us::before{background:var(--info)}
.ix-trail{position:relative;padding:4px 0 8px}
.ix-trail::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--line)}
.ix-row{position:relative;display:grid;grid-template-columns:1fr 36px 1fr;align-items:center}
.ix-dot{grid-column:2;grid-row:1;justify-self:center;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;color:#fff;z-index:1}
.ix-them .ix-dot{background:var(--ok)}.ix-us .ix-dot{background:var(--info)}
.ix-card{grid-row:1;padding:7px 10px;border-radius:var(--r-lg);border:1px solid var(--line);font-size:var(--fs-sm);min-width:0}
.ix-them .ix-card{grid-column:1;background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 35%,var(--line));margin-right:6px}
.ix-us .ix-card{grid-column:3;background:var(--info-soft);border-color:color-mix(in srgb,var(--info) 35%,var(--line));margin-left:6px}
.ix-t{color:var(--ink);overflow-wrap:anywhere}
.ix-s{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:2px;color:var(--ink-3);font-size:var(--fs-xs)}
.ix-mile{grid-template-columns:1fr}
.ix-pill{justify-self:center;z-index:1;display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;background:var(--pri-soft);color:var(--link);border:1px solid color-mix(in srgb,var(--pri-2) 35%,var(--line));font-size:var(--fs-xs);font-weight:600}
.ix-pill.ok{background:var(--ok-soft);color:var(--ok-ink)}.ix-pill.dng{background:var(--dng-soft);color:var(--dng-ink)}
.ix-pill small{font-weight:400;opacity:.8}
.ix-ctx .ix-card{border-style:dashed;opacity:.85}.ix-ctx-l{font-size:var(--fs-xs);color:var(--ink-3);margin-top:3px}
.ix-gap{display:flex;justify-content:center;padding:5px 0}
.ix-gap-t{position:relative;z-index:1;padding:0 6px;border-radius:4px;background:var(--bg-2);border:1px solid var(--line);color:var(--ink-3);font-size:var(--fs-xs)}
.ix-gap-t.long{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,var(--line))}
.ix-gap-t.late{color:var(--dng);border-color:color-mix(in srgb,var(--dng) 40%,var(--line));font-weight:600}
@media (max-width:720px){
  .ix-trail::before{left:14px}
  .ix-row{grid-template-columns:28px 1fr}
  .ix-dot{grid-column:1}
  .ix-them .ix-card,.ix-us .ix-card{grid-column:2;margin:0 0 0 8px}
  .ix-mile,.ix-gap{padding-left:0;justify-content:flex-start}
  .ix-pill{justify-self:start}
}

.cal-layout{display:grid;grid-template-columns:232px minmax(0,1fr);gap:16px;align-items:start}
.cal-main{min-width:0}
.cal-rail{display:flex;flex-direction:column;gap:14px;position:sticky;top:0}
.cal-mini-box{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:8px}
.cal-mini-hd{display:flex;align-items:center;gap:2px;margin-bottom:4px}.cal-mini-hd b{flex:1;font-size:var(--fs-sm);padding-left:4px}
.cal-mini,.cal-mm{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;text-align:center}
.cal-mini .dw,.cal-mm .dw{font-size:var(--fs-xs);color:var(--ink-4);padding:2px 0;font-weight:600}
.cal-mini .md,.cal-mm .md{position:relative;border:0;background:transparent;color:var(--ink-2);font:inherit;font-size:var(--fs-sm);height:26px;border-radius:6px;cursor:pointer;padding:0}
.cal-mini .md:hover,.cal-mm .md:hover{background:var(--bg-3)}
.cal-mini .md.other,.cal-mm .md.other{color:var(--ink-4)}.cal-mini .md.we,.cal-mm .md.we{color:var(--dng)}.cal-mini .md.other.we,.cal-mm .md.other.we{opacity:.6}
.cal-mini .md.sel,.cal-mm .md.sel{background:var(--pri-soft);color:var(--pri-ink)}
.cal-mini .md.today,.cal-mm .md.today{font-weight:700;box-shadow:inset 0 0 0 1.5px var(--pri-2)}
.cal-mini .md .cal-dot,.cal-mm .md .cal-dot{position:absolute;left:50%;bottom:2px;margin-left:-2px;width:4px;height:4px}
.cal-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--pri);flex:none}
.cal-dot.none{visibility:hidden}.cal-dot.k-appt{background:var(--pri)}.cal-dot.k-viewing{background:var(--info)}.cal-dot.k-valuation{background:var(--vio)}.cal-dot.k-task{background:var(--warn)}
.cal-sec{display:flex;flex-direction:column;gap:2px}
.cal-sec-h{font-size:var(--fs-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-4);padding:0 6px 2px}
.cal-list{display:flex;flex-direction:column;gap:1px}.cal-li-row{display:flex;align-items:center}.cal-li-row .cal-li{flex:1;min-width:0}
.cal-li,.cal-pp,.cal-k{display:flex;align-items:center;gap:8px;width:100%;border:0;background:transparent;color:var(--ink-2);font:inherit;font-size:var(--fs-sm);padding:5px 6px;border-radius:6px;cursor:pointer;text-align:left;min-width:0}
.cal-li span,.cal-pp span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-li:hover,.cal-pp:hover,.cal-k:hover{background:var(--bg-3)}
.cal-li.on{background:var(--pri-soft);color:var(--pri-ink);font-weight:600}
.cal-people{display:flex;flex-direction:column;gap:1px}
.cal-pp .avatar{flex:none}.cal-pp.on{color:var(--ink);font-weight:600}.cal-pp .cal-pp-ck{margin-left:auto;color:var(--link)}
.cal-sw{display:inline-block;width:10px;height:10px;border-radius:3px;flex:none;opacity:.35}.cal-pp.on .cal-sw{opacity:1}
.cal-kinds{display:flex;flex-direction:column;gap:1px}.cal-k.off{color:var(--ink-4);text-decoration:line-through}.cal-k.off .cal-dot{opacity:.3}
@media (max-width:1100px){.cal-layout{grid-template-columns:minmax(0,1fr)}.cal-rail{position:static;flex-direction:row;flex-wrap:wrap;gap:6px}
  .cal-rail .cal-mini-box,.cal-rail .cal-sec:nth-child(2),.cal-rail .cal-sec-h{display:none}.cal-rail .cal-people,.cal-rail .cal-kinds{flex-direction:row;flex-wrap:wrap}
  .cal-rail .cal-pp,.cal-rail .cal-k{width:auto;border:1px solid var(--line);border-radius:14px;padding:2px 8px}}
.cal-people.chips-row,.cal-kinds{margin-bottom:6px}
.cal-people.chips-row{flex-direction:row;overflow-x:auto;gap:4px;padding-bottom:2px;scrollbar-width:none}
.cal-people.chips-row .cal-pp{width:auto;flex:none;border:1px solid var(--line);border-radius:14px;padding:2px 10px 2px 3px}
.cal-people.chips-row .cal-pp.on{border-color:var(--pri-2);background:var(--pri-soft);color:var(--pri-ink)}.cal-people.chips-row .cal-sw,.cal-people.chips-row .cal-pp-ck{display:none}
@media (max-width:767px){.cal-kinds{flex-direction:row;flex-wrap:wrap}.cal-kinds .cal-k{width:auto;padding:2px 6px}}
.cal-goto{width:auto;min-width:0}
.cal2-corner{display:flex;align-items:center;justify-content:center;border-bottom:0}
.wk{display:inline-block;font-size:10px;font-weight:700;color:var(--link);border:1px solid currentColor;border-radius:4px;padding:0 3px;line-height:14px}
.cal2-hd .cal-hd{height:auto;min-height:44px;padding:4px 2px;gap:2px;justify-content:flex-start}
.cal-hd-d{display:flex;flex-direction:column;align-items:center;cursor:pointer;line-height:1.2}.cal-hd.person .cal-hd-d{flex-direction:row;gap:6px;cursor:default}
.cal-hd.person .cal-hd-d b{font-size:var(--fs)}
.cal-hol{font-size:10px;color:var(--dng);font-weight:600;text-align:center;line-height:1.2}
.cal-offs{position:absolute;inset:0;pointer-events:none}
.cal-off{position:absolute;left:0;right:0;background:repeating-linear-gradient(135deg,transparent 0 6px,var(--bg-3) 6px 7px);opacity:.9}
.cal2-col.today .cal-off{background:repeating-linear-gradient(135deg,transparent 0 6px,var(--line) 6px 7px)}
.cal-now-t{position:absolute;left:2px;top:-8px;font-size:9px;font-weight:700;color:var(--on-st);background:var(--dng);border-radius:3px;padding:0 3px;line-height:14px}
.cal2-col .cal-evt{display:flex;flex-direction:column;gap:0;padding:2px 5px;box-shadow:0 0 0 1px var(--bg-2)}
.cal-evt .cal-tt{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-evt .cal-tr,.cal-evt .cal-ts{font-weight:400;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-evt.short{flex-direction:row!important;gap:4px!important;align-items:baseline}.cal-evt.short .cal-tr{order:-1}.cal-evt.short .cal-tt{flex:1;min-width:0}
.cal-evt:has(> .cal-card):hover{filter:none;box-shadow:0 0 0 1px var(--bg-2),0 2px 8px rgba(0,0,0,.15)}
.cal-rs{position:absolute;left:0;right:0;bottom:0;height:6px;cursor:ns-resize}.cal-rs::after{content:"";position:absolute;left:50%;bottom:1px;width:16px;margin-left:-8px;border-top:2px solid currentColor;opacity:0}
.cal-evt:hover .cal-rs::after{opacity:.5}.cal-evt.resizing{z-index:5;opacity:.9;cursor:ns-resize}
.cal-card{display:none}
.cal-card.show{display:flex;flex-direction:column;gap:5px;position:fixed;z-index:80;width:300px;max-width:calc(100vw - 16px);background:var(--bg-2);color:var(--ink);border:1px solid var(--line-2);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:12px;font-size:var(--fs-sm);font-weight:400;line-height:1.4;white-space:normal;text-decoration:none;cursor:default;text-align:left}
.cal-card-k{display:flex;align-items:center;gap:6px;color:var(--ink-3);font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.cal-card-k .badge{margin-left:auto;text-transform:none;letter-spacing:0}
.cal-card-t{font-size:var(--fs);font-weight:700;color:var(--ink)}
.cal-card-l{display:flex;align-items:flex-start;gap:6px;color:var(--ink-2);overflow-wrap:anywhere}.cal-card-l .ic{margin-top:2px;color:var(--ink-4);flex:none}
.cal-card-n{color:var(--ink-3);border-left:2px solid var(--line-2);padding-left:6px}
.cal-acts{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.cal-acts .btn{height:26px}
.cal-day-hd{display:flex;align-items:center;justify-content:space-between;min-height:20px}.cal-day-hd .d{cursor:pointer;margin-left:auto}
.cal-evt.m{display:flex;gap:4px;align-items:baseline;white-space:nowrap;overflow:hidden;font-weight:500}.cal-evt.m .cal-mt{font-weight:700;flex:none;font-size:10px}.cal-evt.m .cal-mn{overflow:hidden;text-overflow:ellipsis}
.cal-more{font-size:var(--fs-xs);padding-left:4px}
span.cal-more{color:var(--link);cursor:pointer;font-weight:600}span.cal-more:hover{text-decoration:underline}
.cal-ml{display:flex;flex-direction:column;min-width:min(440px,80vw)}
.cal-ml-row{display:flex;align-items:center;gap:10px;padding:9px 6px;border-bottom:1px solid var(--line);cursor:pointer;border-radius:6px}.cal-ml-row:last-child{border-bottom:0}
.cal-ml-row:hover{background:var(--bg-3)}.cal-ml-row.busy{cursor:default;color:var(--ink-3)}.cal-ml-row.busy:hover{background:none}
.cal-ml-t{flex:none;width:96px;font-variant-numeric:tabular-nums;color:var(--ink-2);font-size:var(--fs-sm)}
.cal-ml-row .two-line{min-width:0}.cal-ml-row .two-line b,.cal-ml-row .two-line small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-who{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;color:#fff;font-size:8px;font-weight:700;font-style:normal;margin-right:4px;vertical-align:1px;flex:none;text-transform:uppercase;letter-spacing:-.02em;line-height:1}
.cal-evt.m .cal-who{margin-right:0}
.cal-evt.guest.invited,.cal-evt.guest.tentative{border-style:dashed;border-width:1px;border-left-width:3px;background-image:repeating-linear-gradient(135deg,transparent 0 7px,rgba(255,255,255,.55) 7px 11px)}
.cal-evt.guest.declined{opacity:.55;text-decoration:line-through}
.ev-ans{display:inline-flex;gap:4px;flex-wrap:wrap}.ev-invite{align-items:center;flex-wrap:wrap}
.cal-layout.rail-off{grid-template-columns:minmax(0,1fr)}
.cal-day-add{flex:1;min-height:10px;cursor:pointer;border-radius:4px}.cal-day-add:hover{background:var(--bg-3)}
.cal-strip{display:flex;align-items:center;gap:2px;margin:4px 0 8px}
.cal-sd{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;border:0;background:transparent;color:var(--ink-2);font:inherit;padding:4px 0;border-radius:10px;cursor:pointer;min-width:0}
.cal-sd-w{font-size:var(--fs-xs);color:var(--ink-4)}.cal-sd b{font-size:var(--fs-lg)}.cal-sd .cal-dot{width:5px;height:5px}
.cal-sd.today b{color:var(--link)}.cal-sd.on{background:var(--pri);color:var(--on-pri)}.cal-sd.on .cal-sd-w,.cal-sd.on b{color:var(--on-pri)}.cal-sd.on .cal-dot{background:var(--on-pri)}
.cal-mm{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:6px;margin:4px 0 6px}.cal-mm .md{height:38px;font-size:var(--fs)}
.cal-mm .md.sel{background:var(--pri);color:var(--on-pri)}.cal-mm .md.sel .cal-dot{background:var(--on-pri)}
.agenda .ag-day .cal-acts{margin-top:6px}
.ag-free{display:grid;grid-template-columns:70px 1fr;gap:8px;padding:4px 0;border-bottom:1px solid var(--line);cursor:pointer}
.ag-free .ag-t{color:var(--ink-4);font-weight:600;font-size:var(--fs-sm)}
.ag-free-b{display:flex;align-items:center;gap:6px;color:var(--ok);font-size:var(--fs-sm);border:1px dashed var(--line-2);border-radius:6px;padding:6px 8px}
.ag-free:hover .ag-free-b{border-color:var(--ok);background:var(--ok-soft)}
.cal-list>.btn{justify-content:flex-start;padding-left:6px}
.home-week{padding:6px 8px 2px;border-bottom:1px solid var(--line)}.home-week .cal-strip{margin:0}
.home-parts{display:flex;flex-direction:column;gap:4px}.home-part{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2)}
.home-part .drag-h{cursor:grab;color:var(--ink-4);display:inline-flex;touch-action:none}.home-part.dragging{opacity:.6}.home-part label{display:flex;align-items:center;gap:6px;cursor:pointer}

.ev-people{display:flex;flex-direction:column}
.ev-person{display:flex;align-items:center;gap:10px;padding:8px 2px;border-bottom:1px solid var(--line)}.ev-person:last-child{border-bottom:0}
.ev-person .two-line{min-width:0}.ev-person .two-line small{overflow:hidden;text-overflow:ellipsis}
.act-list{display:flex;flex-direction:column}
.act-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--line);min-height:48px}.act-row:last-child{border-bottom:0}
.card-bd .act-list .act-row{padding-left:4px;padding-right:4px}
.act-row .two-line{min-width:0}.act-row .two-line small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.act-row .two-line small.act-meta{white-space:normal}.act-row .two-line small.act-who{display:flex;align-items:center;gap:3px}.act-row small.act-who .ic{width:12px;height:12px}
.act-row input[type=checkbox]{flex:none;width:16px;height:16px}
.act-ic{flex:none;width:26px;height:26px;border-radius:7px;display:grid;place-items:center;background:var(--bg-3);color:var(--ink-3)}
.act-ic.k-appointment{background:var(--pri-soft);color:var(--link)}.act-ic.k-viewing{background:var(--info-soft);color:var(--info-ink)}.act-ic.k-call{background:var(--ok-soft);color:var(--ok-ink)}.act-ic.k-task{background:var(--warn-soft);color:var(--warn-ink)}
.work-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:16px;align-items:start}
.work-rail{display:flex;flex-direction:column;gap:16px;position:sticky;top:0}
.work-sec{display:flex;flex-direction:column;gap:2px}
.work-sec .select{width:100%}
.cal-li .cnt{margin-left:auto;font-size:var(--fs-xs);color:var(--ink-3);background:var(--bg-3);border-radius:9px;padding:0 7px;line-height:18px}.cal-li.on .cnt{background:var(--bg-2)}
.work-main{min-width:0}
@media (max-width:900px){.work-layout{grid-template-columns:minmax(0,1fr)}.work-rail{position:static}}
.kv dd.empty{display:block;padding:0;text-align:left;gap:0}
.rte-bar{position:relative}
.rte-pal{position:absolute;top:100%;z-index:40;display:flex;gap:4px;padding:6px;margin-top:2px;background:var(--bg-2);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}
.rte-sw{width:20px;height:20px;padding:0;border-radius:4px;border:1px solid var(--line);cursor:pointer}
.rte-sw.none{background:linear-gradient(135deg,transparent 45%,#dc2626 46%,#dc2626 54%,transparent 55%),var(--bg-2)}
.note-fold{max-height:9.5em;overflow:hidden;position:relative}
.note-fold:after{content:'';position:absolute;left:0;right:0;bottom:0;height:2.5em;background:linear-gradient(rgba(255,255,255,0),var(--bg-2))}
.note-fold.open{max-height:none}.note-fold.open:after{display:none}
.fold-btn{margin-top:2px}.fold-btn .l-less{display:none}.fold-btn.on .l-more{display:none}.fold-btn.on .l-less{display:inline}
.rec-avatar{position:relative;cursor:pointer;display:inline-flex;border-radius:50%}
.rec-avatar .avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.rec-avatar-cam{position:absolute;right:-2px;bottom:-2px;width:22px;height:22px;border-radius:50%;background:var(--bg-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}
.rec-avatar:hover .rec-avatar-cam,.rec-avatar:focus-within .rec-avatar-cam{opacity:1}
.ttl-org{font-size:.62em;font-weight:500;color:var(--ink-3);margin-left:6px}
.bizcard{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:6px}
.bizcard .bc-f{display:flex;flex-direction:column;min-width:0}
.bizcard .bc-f small{color:var(--ink-4);font-size:11px;text-transform:uppercase;letter-spacing:.03em}
.gallery.rows{grid-template-columns:minmax(0,1fr);gap:8px}
.gallery.rows .tile{flex-direction:row;align-items:center}
.gallery.rows .tile-img{width:64px;height:64px;aspect-ratio:auto;flex:none;margin:8px 0 8px 36px;border-radius:10px}
.gallery.rows .tile-init{font-size:20px}
.gallery.rows .tile-bd{flex:1;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:4px 20px}
.gallery.rows .tile-t{flex-basis:100%}.gallery.rows .tile-s{flex-basis:100%;margin-top:-2px}
.gallery.rows .tile-badge{position:static;margin:0 12px 0 0;align-self:center}
.tile-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.labels{display:grid;background:#fff;color:#111;margin:0 auto;border:1px solid var(--line)}
.labels.l-3x7{grid-template-columns:repeat(3,63.5mm);grid-auto-rows:38.1mm;width:190.5mm}
.labels.l-2x7{grid-template-columns:repeat(2,99.1mm);grid-auto-rows:38.1mm;width:198.2mm}
.labels.l-3x8{grid-template-columns:repeat(3,63.5mm);grid-auto-rows:33.9mm;width:190.5mm}
.label{padding:4mm 5mm;overflow:hidden;font-size:10.5pt;line-height:1.3;border:1px dashed #ccd;display:flex;flex-direction:column;justify-content:center}
.label .l1{font-weight:600}
.label.empty{background:repeating-linear-gradient(45deg,#fafafa,#fafafa 6px,#f1f1f4 6px,#f1f1f4 12px)}
@media print{@page{size:A4;margin:10mm 10mm}.labels{border:0;margin:0}.label{border:0}.label.empty{background:none}}
@media print{
  html[data-theme=dark],html:not([data-theme=light]):not([data-theme=dark]){
    --bg:#ffffff;--bg-2:#ffffff;--bg-3:#f3f4f6;--bg-4:#e5e7eb;--ink:#0f172a;--ink-2:#334155;--ink-3:#475569;--ink-4:#64748b;--line:#d1d5db;--line-2:#9ca3af;
    --pri:#0079a3;--pri-2:#006285;--pri-soft:#e6f8ff;--pri-ink:#006285;--on-pri:#fff;--link:#006285;
    --ok:#047857;--ok-soft:#ecfdf5;--warn:#b45309;--warn-soft:#fffbeb;--dng:#be123c;--dng-soft:#fff1f2;--info:#0369a1;--info-soft:#f0f9ff;--vio:#6d28d9;--vio-soft:#f5f3ff;--ok-ink:#047857;--warn-ink:#b45309;--dng-ink:#be123c;--info-ink:#0369a1;--vio-ink:#6d28d9;--on-st:#fff;
    --shadow:none;--shadow-lg:none;color-scheme:light}
  html,body{background:#fff!important;color:#0f172a!important}
}
.row-badges .rb small{margin-left:3px;font-size:10px;color:var(--ink-3)}
.row-badges .rb.late{color:var(--dng);border-color:color-mix(in srgb,var(--dng) 45%,transparent)}.row-badges .rb.late small{color:var(--dng);font-weight:600}
.act-grp{margin:10px 0 2px;text-transform:uppercase;letter-spacing:.04em}
.kcol-chk{margin:0 4px 0 0;width:14px;height:14px;flex:none}
.gt-grp{display:flex;align-items:center;gap:6px}.gt-grp .cnt{color:var(--ink-3);font-weight:500;font-size:var(--fs-xs)}
.gt-gbox.folded .gt-row{display:none}.gt-gbox.folded .gt-fold .ic{transform:rotate(-90deg)}
.gt-bar .gt-bf{margin-left:8px;opacity:.8;font-size:var(--fs-xs);overflow:hidden;text-overflow:ellipsis}
.gt-bar .avatar{margin-left:6px;flex:none}
.sel-search{margin-bottom:4px;width:100%}

.home-switch{max-width:280px;font-weight:600}.home-switch .truncate{max-width:210px;display:inline-block;vertical-align:middle}
.home-grid{margin-top:4px}
.hc{position:relative;display:flex;flex-direction:column;min-width:0}
.hc>.card{flex:1 1 auto;margin:0;min-width:0}
.hc.fixed-h>.card{display:flex;flex-direction:column;min-height:0}.hc.fixed-h>.card>.card-bd{flex:1 1 auto;overflow:auto}
.hc-tools{display:none;align-items:center;gap:2px;padding:2px 4px;border:1px dashed var(--pri-2);border-bottom:0;border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--pri-soft)}
.home-grid.editing .hc-tools{display:flex}
.home-grid.editing .hc>.card{border-top-left-radius:0;border-top-right-radius:0;outline:1px dashed var(--pri-2);outline-offset:-1px}
.hc-kind{font-size:var(--fs-xs);color:var(--ink-2);flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 4px}
.home-grid.editing .hc.dragging{opacity:.55}
.hc .card-hd .hc-rf,.hc .card-hd .hc-set{opacity:.55}.hc .card-hd:hover .hc-rf,.hc .card-hd:hover .hc-set,.hc-rf:focus-visible,.hc-set:focus-visible{opacity:1}
.card-hd .hc-rf{opacity:.55}.card-hd:hover .hc-rf{opacity:1}
.hc-sel{width:auto;max-width:190px;height:28px;padding-top:0;padding-bottom:0;font-size:var(--fs-sm)}
.hc-pager{display:flex;align-items:center;gap:6px;padding:6px 10px;border-top:1px solid var(--line)}
.card-ft .hc-pager{border-top:0;padding:0}
.hc-links{display:flex;flex-wrap:wrap;gap:8px}
.hc-link{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-2);color:var(--ink);text-decoration:none;cursor:pointer;font:inherit}
.hc-link:hover{border-color:var(--pri-2);color:var(--link)}
.hc-text{line-height:1.55;overflow-wrap:anywhere}.hc-text p{margin:0 0 .6em}
.hc-rte .rte-ed{min-height:140px}
tr.hc-od td{background:var(--dng-soft)}
.home-arrange{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;border:1px dashed var(--pri-2);border-radius:var(--r-lg);background:var(--pri-soft);margin:4px 0 10px}
.home-note{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;border:1px solid var(--info);border-radius:var(--r-lg);background:var(--info-soft);margin:4px 0 10px}
.due-flag{display:inline-flex;align-items:center;gap:4px;padding:1px 8px 1px 6px;border-radius:3px;font-size:var(--fs-xs);font-weight:600;white-space:nowrap;background:var(--ok-soft);color:var(--ok-ink);clip-path:polygon(0 0,100% 0,calc(100% - 6px) 50%,100% 100%,0 100%)}
.due-flag.od{background:var(--dng);color:var(--on-st)}.due-flag.td{background:var(--warn-soft);color:var(--warn-ink)}.due-flag.td.late{background:var(--dng-soft);color:var(--dng-ink)}
.due-flag.dn{background:var(--bg-3);color:var(--ink-3);text-decoration:line-through}
.due-flag small{font-weight:500;opacity:.85}
.home-tasks td{vertical-align:middle}
#main:fullscreen{overflow:auto;background:var(--bg);padding:16px 20px}
#main:fullscreen .home-more{display:none}

.tbl.mrg{table-layout:fixed;width:100%}.tbl.mrg th,.tbl.mrg td{white-space:normal;overflow-wrap:anywhere;vertical-align:top}
.tbl.mrg th:first-child,.tbl.mrg td:first-child{width:17%}
.tbl.mrg th .btn{margin:2px 4px 0 0}
.tbl.mrg tr.mg-sys td{color:var(--ink-3)}
.mrg-img{display:inline-flex;align-items:center;gap:8px}.mrg-thumb{width:56px;height:56px;border-radius:50%;object-fit:cover;border:1px solid var(--line)}

.home-grid{grid-auto-rows:90px;grid-auto-flow:row dense;align-items:stretch}
.home-grid>.hc{min-height:0}
.home-grid>.hc>.card{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.home-grid>.hc>.card>.card-bd{flex:1 1 auto;min-height:0;overflow:auto}
.home-grid>.hc>.card>.card-hd,.home-grid>.hc>.card>.card-ft{flex:none}
@media (max-width:760px){.home-grid{grid-auto-rows:auto}.home-grid>.hc{grid-row:auto!important}.home-grid>.hc>.card{height:auto}}

.home-grid>.hc>.card>.card-bd{justify-content:safe center}.home-grid>.hc>.hc-card>.card-bd{justify-content:flex-start}

@media (min-width:768px) and (max-width:1440px){body .status-strip .st{padding:6px 13px 6px 16px}}
body .status-strip .st{padding-right:13px}body .status-strip .st:last-child{padding-right:8px}body .status-strip .st .st-l{overflow-wrap:break-word;word-break:normal}

.tile{position:relative}.tile-acts{position:absolute;top:6px;right:6px;display:none;gap:2px;z-index:2;background:var(--bg-2);border-radius:var(--r);box-shadow:var(--shadow)}
.tile:hover .tile-acts,.tile:focus-within .tile-acts,.tile-acts:has(.pop.open){display:flex}

.imp-held{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-left:4px solid var(--warn);border-radius:var(--r);background:var(--warn-soft)}
.imp-held h3{margin:0 0 4px}.imp-held p{margin:0 0 4px}.imp-held>.ic{flex:none;margin-top:2px}
.imp-held-rejected,.imp-held-failed{border-left-color:var(--dng);background:var(--dng-soft)}.imp-held-cancelled{border-left-color:var(--line-2);background:var(--bg-2)}.imp-held-approved{border-left-color:var(--ok);background:var(--ok-soft)}

.side>.side-group,.side>.side-item,.side>a{flex-shrink:0}

.act-closed .act-extra{padding:0 10px 8px 42px;line-height:1.35}.act-closed+.act-closed{border-top:1px solid var(--line)}.act-closed>.act-row{border-top:0}
.call-planned{padding-left:8px}.call-planned>.badge{flex:none;min-width:72px;justify-content:center}.call-planned .act-row{border-top:0}

.flt-panel .msel-pop,.modal-bd .msel-pop{position:static;box-shadow:none;margin-top:4px}.flt-panel .msel-list,.modal-bd .msel-list{max-height:220px}

.gt-bar.t-c0,.gt-lg.t-c0{--c:#6366f1}.gt-bar.t-c1,.gt-lg.t-c1{--c:#10b981}.gt-bar.t-c2,.gt-lg.t-c2{--c:#d97706}.gt-bar.t-c3,.gt-lg.t-c3{--c:#db2777}
.gt-bar.t-c4,.gt-lg.t-c4{--c:#0284c7}.gt-bar.t-c5,.gt-lg.t-c5{--c:#9333ea}.gt-bar.t-c6,.gt-lg.t-c6{--c:#dc2626}.gt-bar.t-c7,.gt-lg.t-c7{--c:#0d9488}
.gt-bar[class*=" t-c"]{background:color-mix(in srgb,var(--c) 22%,transparent);color:var(--c)}
.gt-legend{order:99;flex-basis:100%}.gt-lg{cursor:pointer}.gt-lg .gt-dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:6px;background:var(--c,var(--pri))}
.gt-lg.t-ok{--c:var(--ok)}.gt-lg.t-warn{--c:var(--warn)}.gt-lg.t-dng{--c:var(--dng)}.gt-lg.t-info{--c:var(--info)}.gt-lg.t-pri{--c:var(--pri)}

.gt-bar.t-mut{background:var(--bg-3);color:var(--ink-3)}.gt-lg.t-mut{--c:var(--ink-4)}
.hc-widget{display:block;width:100%;border:0;border-radius:var(--r);background:var(--bg-2)}
.fside-wrap{display:flex;gap:12px;align-items:flex-start}
.fside-main{flex:1;min-width:0}
.fside{flex:none;min-width:220px;max-width:560px;resize:horizontal;overflow:auto;position:sticky;top:8px;max-height:calc(100vh - 150px);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-2);padding:8px 10px;display:flex;flex-direction:column}
.fside .fs-top{margin-bottom:6px}.fside .fs-list{flex:1;overflow:auto;min-height:120px}
.fs-item{padding:2px 0}.fs-item.on>.fs-chk{font-weight:600}
.fs-item .flt-ov{grid-template-columns:1fr;margin:4px 0 8px 24px}
.fs-hd{margin-top:6px}
.fside .fs-foot{position:sticky;bottom:0;background:var(--bg-2);padding-top:8px;border-top:1px solid var(--line)}
.cv-designer{display:grid;grid-template-columns:200px 1fr 260px;gap:16px;align-items:start}
.cv-pal,.cv-props{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-2);padding:10px}
.cv-center{display:flex;flex-direction:column;align-items:center;padding:16px;background:repeating-conic-gradient(var(--bg-2) 0% 25%, transparent 0% 50%) 50%/16px 16px;border-radius:var(--r-lg);min-height:320px}
.cv-stage{position:relative;background:var(--bg-3);border:1px solid var(--line-2);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden;outline:none}
.cv-el{position:absolute;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.3;display:flex;align-items:center;gap:6px;box-sizing:border-box}
.cv-el.cv-box,.cv-el.cv-img{display:block}.cv-el .cv-lbl{color:var(--ink-3);font-size:.85em;font-weight:400;font-style:normal;flex:none}
.cv-img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.cv-init{display:flex;align-items:center;justify-content:center;background:var(--bg-2);color:var(--ink-2);font-weight:700}
.cv-stage .cv-el{cursor:move;outline:1px dashed transparent}.cv-stage .cv-el:hover{outline-color:var(--line-2)}.cv-stage .cv-el.on{outline:2px solid var(--pri-2);z-index:2}
.cv-hdl{position:absolute;right:0;bottom:0;width:10px;height:10px;background:var(--pri);border-radius:2px;cursor:nwse-resize;display:none}.cv-stage .cv-el.on>.cv-hdl{display:block}
.cv-props .cv-pp{display:none}.cv-props.has-sel .cv-pp{display:grid}.cv-props.has-sel .cv-none{display:none}
.cv-props:not([data-kind="text"]) .cv-only-text,.cv-props:not([data-kind="field"]) .cv-only-field{display:none}
.gallery.cv-gal{display:grid;gap:12px}.tile.cv-tile{position:relative;padding:0;overflow:hidden}
@media (max-width: 900px){.cv-designer{grid-template-columns:1fr}}
.cv-bar .cv-name{width:220px}.cv-bar .sep{width:1px;height:20px;background:var(--line)}.cv-zoom-v{min-width:44px;text-align:center}
.cv-designer.cv-preview .cv-pal,.cv-designer.cv-preview .cv-props,.cv-designer.cv-preview .cv-hdl{display:none}.cv-designer.cv-preview{grid-template-columns:1fr}
.cv-designer.cv-preview .cv-stage .cv-el{outline:none;cursor:default}.cv-designer.cv-preview .cv-center{display:flex;flex-direction:column;align-items:center}
.cv-designer.cv-full{position:fixed;inset:0;z-index:60;background:var(--bg);padding:16px;overflow:auto}.cv-bar [aria-pressed="true"]{background:var(--pri-soft);color:var(--link)}
.rc-top{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;flex-wrap:wrap;margin-bottom:10px}.rc-top .crumbs{margin:0}
.rc-wrap{container-type:inline-size;margin-bottom:12px}
.rc-hero{position:relative;border-radius:var(--r-xl);overflow:hidden;background:var(--bg-3);box-shadow:var(--shadow)}
.rc-hero .rc-el{position:absolute;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.3;display:flex;align-items:center;gap:6px;box-sizing:border-box}
.rc-hero .rc-el.cv-box,.rc-hero .rc-el.cv-img,.rc-hero .rc-el.cv-pic{display:block}
.rc-el .cv-lbl{color:inherit;opacity:.8;font-size:.8em;font-weight:400;font-style:normal;flex:none}
.rc-el .stage-pill{color:var(--ink)}.rc-el .rc-btn{background:#fff;color:var(--ink);border-color:transparent}
.rc-el.cv-btn[style*="background"] .rc-btn{background:transparent;color:inherit}
.rc-el .cv-img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.rc-el.cv-pic .cv-img{object-fit:contain}
.rc-el .rc-ic{width:100%;height:100%}.rc-el.cv-btn{overflow:visible}.rc-el .rc-btn{width:100%;height:100%;justify-content:center}
.rc-tags{margin:-4px 0 10px}
@container (max-width: 700px){
  .rc-hero{height:auto!important;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px}
  .rc-hero .rc-el{position:static;width:auto!important;max-width:100%;height:auto!important;white-space:normal;order:var(--o)}
  .rc-hero .rc-el.cv-img{width:88px!important;height:88px!important}.rc-hero .rc-el.cv-pic{width:160px!important;height:60px!important}
  .rc-hero .rc-el.cv-icon{width:24px!important;height:24px!important}.rc-hero .rc-el.cv-box{display:none}
}
.rc-designer .cv-center{overflow:auto}.rc-designer .cv-stage{border-radius:var(--r-xl)}
.rc-pics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.rc-pics:empty{display:none}
.rc-pic{height:44px;padding:2px;border:1px solid var(--line);border-radius:6px;background:var(--bg-3);cursor:pointer}.rc-pic img{width:100%;height:100%;object-fit:contain}
.rc-icons{display:grid;grid-template-columns:repeat(6,1fr);gap:2px}
.rc-btnlist{display:flex;flex-direction:column;gap:2px}.rc-btnlist .btn{justify-content:flex-start}
.cv-props .rc-stage-pp{display:flex}.cv-props.has-sel .rc-stage-pp{display:none}.cv-props:not(.has-sel) .cv-sel-hd{display:none}
.cv-props:not([data-kind="pic"]) .cv-only-pic,.cv-props:not([data-kind="icon"]) .cv-only-icon,.cv-props:not([data-kind="btn"]) .cv-only-btn{display:none}
.pin-card{min-width:180px;max-width:260px;display:flex;flex-direction:column;gap:2px;color:#111827}.pin-card .small{color:#374151}.pin-card .muted{color:#6b7280}
.map-leg{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--ink-2)}.map-leg i{width:10px;height:10px;border-radius:50%;display:inline-block}
.cal-evt.cal-overdue{background:var(--dng-soft);color:var(--dng-ink);border-left-color:var(--dng);cursor:pointer;display:flex;align-items:center;gap:4px;font-weight:600}
.cal-evt.cal-overdue:hover{filter:brightness(.97)}.cal-evt.cal-overdue .ic{flex:none}
.cal-evt.ag-od{position:static;margin:6px 0;padding:6px 10px}
.cal-od-list{max-height:60vh;overflow:auto}

.av-days{display:flex;flex-direction:column;gap:6px}
.av-day{display:grid;grid-template-columns:130px 130px 14px 130px;align-items:center;gap:8px}.av-day .input{width:100%}
.av-day .av-on{display:flex;align-items:center;gap:6px;cursor:pointer}
@media (max-width:767px){.av-day{grid-template-columns:1fr 1fr 10px 1fr}}
.qr-box{background:#fff;border-radius:var(--r);padding:8px;display:grid;place-items:center}.qr-img{width:100%;max-width:300px;image-rendering:pixelated}
.act-row.soon{box-shadow:inset 3px 0 0 var(--ok)}
.work-tbl tr.late td:first-child{box-shadow:inset 3px 0 0 var(--dng)}.work-tbl tr.soon td:first-child{box-shadow:inset 3px 0 0 var(--ok)}
.work-filt{border-bottom:1px solid var(--line)}.work-filt .sel-auto{width:auto}
.wq-split{border-bottom:1px solid var(--line)}.wq-split .cnt{margin-left:6px;opacity:.75}
.book-day.full{opacity:.5}.book-day.full small{color:var(--dng)}
.cal-evt.away{background:repeating-linear-gradient(135deg,var(--surface-2,#f1f5f9) 0 6px,transparent 6px 12px),var(--muted-soft,#e2e8f0);color:var(--muted,#64748b);border-left-color:var(--muted,#64748b);cursor:default}
.chip .chip-n{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--bg-2);color:var(--ink-2);font-size:var(--fs-xs);font-weight:600}
.flt-kept .input.ro{display:flex;align-items:center;min-height:32px;background:var(--bg-2);color:var(--ink-2);cursor:default}

.mail-filters{border-bottom:1px solid var(--line);align-items:center}
.mail-filters .seg .btn{white-space:nowrap}
.mail-list .bulkbar{margin:0}
.kv.mail-hd{grid-template-columns:64px 1fr;gap:2px 12px;margin-bottom:10px}
.mail-frame{height:46vh;min-height:260px}
.mail-list .tbl td .two-line{white-space:normal;min-width:240px}
.mail-text{white-space:pre-wrap;word-break:break-word;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;max-height:52vh;overflow:auto;font-size:14px;line-height:1.55}
.mail-files{margin:0 0 10px}
.bubble-acts{display:flex;flex-wrap:wrap;gap:2px;margin-top:4px}
.bubble-acts .btn{padding:2px 8px;min-height:26px;font-size:12px}
.bubble.out .bubble-acts{justify-content:flex-end}
.um-note{display:flex;align-items:center;gap:4px;margin:6px 8px;padding:8px 10px;border-radius:var(--r);background:var(--info-soft);color:var(--info-ink);font-size:13px;cursor:pointer}
.um-note:hover{text-decoration:underline}
.um-addrs{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.um-addr{align-items:center;padding:6px 8px;border:1px solid var(--line);border-radius:var(--r)}
@media (max-width:767px){.mail-filters .seg{overflow-x:auto;max-width:100%}.mail-frame{height:60vh}}
.subform-tbl td.sf-lk{white-space:normal;min-width:200px;padding-top:3px;padding-bottom:3px}
.subform-tbl td.sf-lk .sel-search{display:block;width:100%;height:24px;min-height:24px;margin:0 0 2px;font-size:var(--fs-xs)}
.subform-tbl td.sf-lk .select{display:block;width:100%;text-overflow:ellipsis}
.kcard .klock{position:absolute;top:6px;right:8px;color:var(--warn);line-height:0}
.row-lock{display:inline-flex;align-items:center;color:var(--warn);margin-left:4px;vertical-align:middle}
.gt-bar.nomove{cursor:not-allowed;outline:2px dashed var(--warn);outline-offset:1px}
.gs-mine{display:flex;margin:6px 8px 2px}.gs-mine .btn{flex:1;justify-content:center}
.gs-menu mark{background:var(--pri-soft);color:var(--pri-ink);border-radius:2px;padding:0 1px}
.home-day{padding:4px 8px 8px}.home-day-hd{margin:0 4px 6px}
.home-grp{border-top:1px solid var(--line);padding:4px 0}.home-grp-hd{display:flex;align-items:center;gap:6px;padding:2px 4px}
.home-grp-hd .cnt{font-size:var(--fs-xs);color:var(--ink-3);background:var(--bg-3);border-radius:8px;padding:0 6px}.home-grp-none{padding:2px 28px 6px}
.gm-pill.gm-cl{font-weight:700;padding:0 6px;min-width:26px;height:26px;border-radius:13px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 3px rgba(255,255,255,.75),0 2px 6px rgba(15,23,42,.35);font-size:12px}
.gm-solo{pointer-events:none}
.msg-st-w{display:inline-flex;align-items:center;gap:2px;white-space:nowrap}.msg-st-w .dropdown{display:inline-flex}
.btn-i{border:0;background:none;padding:0 2px;color:var(--ink-3);cursor:pointer;display:inline-flex;align-items:center;line-height:1}.btn-i:hover,.btn-i:focus-visible{color:var(--link)}
.pop .st-times{padding:8px 10px;min-width:230px;max-width:320px;white-space:normal;font-size:var(--fs-sm)}
.draft-view{white-space:pre-wrap;border:1px solid var(--line);border-radius:var(--r-lg);padding:10px 12px;max-height:50vh;overflow:auto;background:var(--bg-2)}
.off-photo{display:block;width:100%;max-height:260px;object-fit:cover;border-radius:var(--r-lg);margin:0 0 12px}
img.off-img-x{visibility:hidden}.off-photo.off-img-x{display:none}
html.mob .pager[data-total]>:not(:first-child){display:none}
html.mob .pager[data-total]{justify-content:center;color:var(--ink-3)}
html.mob .pager.loading>:first-child::after{content:" · loading…"}
.gm-dot.gm-me{width:18px;height:18px;box-shadow:0 0 0 7px rgba(37,99,235,.22),0 1px 4px rgba(0,0,0,.45)}
.pin-card.pin-grp{max-height:300px;overflow:auto;gap:0}.pin-card.pin-grp>b{margin-bottom:4px}
.pin-card .pin-li{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;text-align:left;background:none;border:0;border-top:1px solid #e5e7eb;padding:6px 0;font:inherit;color:#1d4ed8;cursor:pointer}
.pin-card .pin-li:hover>span:first-child{text-decoration:underline}
.near-find{flex-wrap:nowrap}.near-find .input{flex:1;min-width:0}
.leaflet-tooltip.pin-n{background:transparent;border:0;box-shadow:none;color:#fff;font-weight:700;font-size:12px;padding:0}.leaflet-tooltip.pin-n:before{display:none}
.near-f .seg .btn{white-space:nowrap}

.ev-free{margin-top:10px;padding:10px 12px;border:1px dashed var(--line-2);border-radius:var(--r);display:flex;flex-direction:column;gap:6px}
.ev-free-hd{align-items:center}
.ev-free-chips{display:flex;flex-wrap:wrap;gap:6px}
.ev-free-chips .chip.slot{cursor:pointer;display:inline-flex;align-items:center;gap:4px}
.ev-free-chips .chip.slot input{position:absolute;opacity:0;pointer-events:none}
.ev-free-chips .chip.slot:has(input:checked){background:var(--pri);color:var(--on-pri);border-color:transparent}
table[data-csort]>thead th{cursor:pointer;user-select:none;white-space:nowrap}
table[data-csort]>thead th:hover{color:var(--ink)}
table[data-csort]>thead th[data-dir="asc"]::after{content:" \2191";color:var(--link)}
table[data-csort]>thead th[data-dir="desc"]::after{content:" \2193";color:var(--link)}
.cal-evt.call-log{background:var(--ok-soft);border-left-color:var(--ok);color:var(--ink-2);opacity:.9}
.cal-evt.call-log .cal-tt::before{content:"\2713  "}
.thread{margin-top:6px;border-top:1px dashed var(--line);padding-top:4px}.thr-list{display:flex;flex-direction:column;gap:6px;margin:4px 0}
.thr-item{display:flex;gap:6px;align-items:flex-start}.thr-m{min-width:0}.thr-body{white-space:pre-wrap;word-break:break-word}
.thr-form{display:none;flex-direction:column;gap:4px;margin-top:4px}.thr-form.open{display:flex}.thr-form .btn{align-self:flex-end}
.feed{display:flex;flex-direction:column}.feed-item{display:flex;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}.feed-item:last-child{border-bottom:0}
.feed-m{min-width:0;flex:1}.feed-body{margin-top:4px;white-space:pre-wrap;word-break:break-word}
.two-line small.dng{color:var(--dng)}
#off-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(64px + env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;background:#1e293b;color:#fff;box-shadow:var(--shadow);font-size:var(--fs-sm);max-width:calc(100vw - 24px)}
#off-bar .btn{background:rgba(255,255,255,.12);color:#fff;border-color:transparent}.off-list .menu-item{justify-content:flex-start}
.off-li .off-ic{width:32px;height:32px;border-radius:8px;background:var(--bg-3);display:grid;place-items:center;color:var(--ink-3);flex:none}
.off-cols .offc:not(:last-child)::after{content:'·';margin-left:6px;color:var(--ink-4)}
.off-tools{flex-wrap:wrap;gap:8px}.off-note{font-size:var(--fs-sm)}
.off-d{padding:10px 0;border-bottom:1px solid var(--line)}.off-d>.row{margin-top:8px}.off-d .small{margin-top:2px}
.off-conf{width:100%;font-size:var(--fs-sm);border-collapse:collapse;margin:8px 0 0}.off-conf th,.off-conf td{padding:4px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.off-conf th{color:var(--ink-3);font-weight:600}
.off-w{display:flex;align-items:center;gap:8px;justify-content:space-between;padding:4px 0}
#off-bar{width:max-content;max-width:calc(100vw - 24px)}
.rte{position:relative}
.rte-pal.rte-imgmenu{flex-direction:column;gap:0;padding:4px;min-width:240px}
.rte-imgmenu .menu-item{height:32px}
.rte-imgbar{position:absolute;z-index:45;display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:4px;max-width:calc(100% - 8px);background:var(--bg-2);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}
.rte-imgbar .btn-icon{width:28px;height:28px}
.rte-ed img.rte-img-on{outline:2px solid var(--pri-2);outline-offset:2px}
.sig-list{display:flex;flex-direction:column;gap:8px}
.sig-item{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2)}
.sig-frame{width:100%;height:112px;border:1px solid var(--line-2);border-radius:6px;background:#fff}
.look-prev{height:260px}
.brand .logo-img{height:26px;max-width:120px;object-fit:contain;border-radius:4px;flex:0 0 auto}
.kcol-hd{flex-wrap:wrap;row-gap:2px}.kcol-hd .sum{order:9;flex:1 0 100%;margin-left:0;padding-left:24px}.kcol.folded .kcol-hd .sum{flex:none;padding-left:0}
.rte-blockbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:5px 6px;border:1px solid var(--line);border-top:0;background:var(--bg-3)}
.rte-bb-l{font-size:var(--fs-xs);color:var(--ink-3);margin-right:4px;text-transform:uppercase;letter-spacing:.04em}
.rte-bb{cursor:grab}.rte-bb:active{cursor:grabbing}
.rte-phone-t{margin-left:auto}.rte-phone-t.on{background:var(--pri-soft);color:var(--pri-ink)}
.rte.rte-phone .rte-ed{max-width:390px;width:100%;margin:0 auto;border-left:6px solid var(--line-2);border-right:6px solid var(--line-2)}
.rte-linkbar .rte-lb-url{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-xs);color:var(--ink-3);padding:0 6px}
.mf-group{border-top:1px solid var(--line);padding:6px 0}.mf-group>summary{cursor:pointer;font-weight:600;font-size:var(--fs-sm);display:flex;gap:6px;align-items:center}
.mf-group>summary .cnt{color:var(--ink-3);font-weight:400}.mf-group .chips{margin-top:6px}
.broch-prev{display:block;width:100%;height:80vh;border:0;background:#fff}
.cmem-found{max-height:280px;overflow:auto;border:1px solid var(--line);border-radius:var(--r);padding:6px 8px}
.cmem-it{padding:4px 2px;border-bottom:1px solid var(--line-2);cursor:pointer}.cmem-it:last-child{border-bottom:0}
.cmem-new>summary{cursor:pointer;font-weight:600;font-size:var(--fs-sm)}
.gt-bar.gt-open{-webkit-mask-image:linear-gradient(90deg,#000 55%,transparent);mask-image:linear-gradient(90deg,#000 55%,transparent);border-top-right-radius:0;border-bottom-right-radius:0}
.gt-d{overflow:visible}.gt-d small{position:relative;z-index:1}
.tel-btn .tel-dot{position:absolute;left:6px;bottom:5px;width:8px;height:8px;border-radius:50%;background:var(--ink-4);box-shadow:0 0 0 2px var(--bg-2)}
.tel-btn .tel-dot.on{background:var(--ok)}
.pop.tel-pop{width:340px;max-width:calc(100vw - 24px)}
.tel-pop-bd{padding:10px;display:flex;flex-direction:column;gap:8px}
.tel-pop-hd{align-items:center}.tel-note{margin:0}
.tel-dial{display:flex;flex-direction:column;gap:6px}
.tel-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.tel-pad .btn{justify-content:center;font-variant-numeric:tabular-nums;height:30px;font-size:var(--fs-lg)}
.tel-row .ic.tel-bad{color:var(--dng)}.tel-none{padding:2px 10px 6px}.tel-all{padding:4px 10px 2px}
.tel-live{position:fixed;right:16px;bottom:16px;z-index:150;display:flex;flex-direction:column;gap:8px;width:360px;max-width:calc(100vw - 32px);pointer-events:none}
.tel-live:empty{display:none}
.tel-card{pointer-events:auto;background:var(--bg-2);border:1px solid var(--line);border-left:4px solid var(--pri-2);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.tel-card.tel-ring{border-left-color:var(--ok);animation:tel-ring 1.4s ease-in-out infinite}
.tel-card.tel-talk{border-left-color:var(--ok)}.tel-card.tel-missed{border-left-color:var(--dng)}.tel-card.tel-wrap{border-left-color:var(--warn)}
@keyframes tel-ring{0%,100%{box-shadow:var(--shadow-lg)}50%{box-shadow:0 0 0 4px var(--ok-soft),var(--shadow-lg)}}
@media (prefers-reduced-motion:reduce){.tel-card.tel-ring{animation:none}}
.tel-hd{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);font-weight:600;color:var(--ink-2)}
.tel-hd .tel-x{margin-left:auto}.tel-clock{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:700;color:var(--ink)}
.tel-clock+.tel-x{margin-left:4px}
.tel-who{align-items:flex-start}.tel-who b{display:block}.tel-sub{font-size:var(--fs-sm);color:var(--ink-2);display:flex;gap:4px;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tel-sub.muted{color:var(--ink-3)}
.ch-meter{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.tel-today .stat{min-width:0}.tel-setup .two-line small.text-warn{color:var(--warn)}
.cal-note{color:var(--dng)}
.fw-days{display:flex;align-items:flex-end;gap:2px;height:64px;margin-top:6px;border-bottom:1px solid var(--line)}
.fw-day{flex:1 1 0;min-width:3px;background:var(--pri);border-radius:3px 3px 0 0}.fw-day.zero{min-height:2px;background:var(--line-2);border-radius:0}
.fw-axis{margin-top:2px}
.tbl td.lnk-u{max-width:0;width:100%}
.tbl td.cell-wrap{white-space:normal;min-width:180px;height:auto;line-height:1.35;padding-top:6px;padding-bottom:6px}
.tbl.wrap td .truncate,.tbl.wrapcells td .truncate{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.tbl td.rb-t{white-space:normal;min-width:180px;line-height:1.3;padding-top:4px;padding-bottom:4px}
.aud-tbl td.aud-act .badge{white-space:normal;height:auto;min-height:20px;line-height:1.25;padding-top:2px;padding-bottom:2px;text-align:left;max-width:100%}   
.fw-days{min-width:0;overflow:hidden}.fw-day,.fw-3 .fw-g{min-width:0}.fw-days:has(> :nth-child(46)){gap:1px}
.fw-days:has(> :nth-child(121)) .fw-g{gap:0}.fw-days:has(> :nth-child(181)){gap:0}
.reach-hint{flex-basis:100%;display:flex;align-items:center;gap:6px;margin-top:2px}
@media (max-width:767px){.tel-live{right:8px;left:8px;bottom:70px;width:auto;max-width:none}.pop.tel-pop{width:calc(100vw - 24px)}}
.view-row .vw-tick{width:16px;flex:0 0 16px}
.view-row .vw-col{flex:0 0 120px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.view-row .vw-col.vw-n{flex-basis:56px;text-align:right}
.view-row .vw-col.vw-who{flex-basis:230px}
.view-row.view-hd{background:none;border-color:transparent;padding-top:0;padding-bottom:0}
.view-row.view-hd .drag-handle,.view-row.view-hd .star-btn{visibility:hidden;width:20px}
@media (max-width:900px){.view-row .vw-col{display:none}}
.bubble-files .bubble-img{display:block;line-height:0;border-radius:8px;overflow:hidden}.bubble-files .bubble-img img{display:block;max-width:240px;max-height:240px;object-fit:cover;background:var(--bg-2)}
.bubble-files .bubble-audio{display:block;width:240px;max-width:100%;height:36px}.bubble-files .bubble-video{display:block;max-width:260px;max-height:240px;border-radius:8px;background:#000}
.bubble-note.wait{color:var(--ink-3);display:flex;align-items:center;gap:4px}
body.pt{overflow:auto;height:auto;min-height:100%;font-size:14px;background:var(--bg)}
.pt-wrap{max-width:1080px;margin:0 auto;padding:0 16px}
.pt-top{background:var(--bg-2);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.pt-bar{display:flex;align-items:center;gap:12px;min-height:56px;flex-wrap:wrap;padding-top:6px;padding-bottom:6px}
.pt-brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:15px;color:var(--ink);text-decoration:none}
.pt-brand:hover{text-decoration:none}
.pt-logo{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,var(--pri-deep),var(--vio));color:#fff;display:grid;place-items:center;font-size:13px;font-weight:700;flex:none;overflow:hidden}
.pt-logo img{width:100%;height:100%;object-fit:contain;background:#fff}
.pt-nav{display:flex;gap:2px;flex-wrap:wrap;flex:1;min-width:0}
.pt-nav a{padding:8px 10px;border-radius:8px;color:var(--ink-2);font-weight:500;text-decoration:none;white-space:nowrap}
.pt-nav a:hover{background:var(--bg-3);text-decoration:none}
.pt-nav a.on{background:var(--pri-soft);color:var(--pri-ink)}
.pt-me{position:relative}
.pt-me>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px}
.pt-me>summary::-webkit-details-marker{display:none}
.pt-me>summary:hover{background:var(--bg-3)}
.pt-me-n{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pt-av{width:30px;height:30px;border-radius:50%;background:var(--pri-soft);color:var(--pri-ink);display:grid;place-items:center;font-weight:700;font-size:12px;flex:none}
.pt-menu{position:absolute;right:0;top:calc(100% + 4px);background:var(--bg-2);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lg);min-width:220px;padding:6px;z-index:20}
.pt-menu a,.pt-menu button{display:block;width:100%;text-align:left;padding:8px 10px;border-radius:6px;color:var(--ink);background:none;border:0;font:inherit;cursor:pointer;text-decoration:none}
.pt-menu a:hover,.pt-menu button:hover{background:var(--bg-3);text-decoration:none}
.pt-main{padding-top:20px;padding-bottom:40px}
.pt-h1{font-size:22px;font-weight:700;margin:0 0 4px;letter-spacing:-.01em}
.pt-sub{color:var(--ink-3);margin:0 0 16px}
.pt-sec{font-size:13px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;margin:14px 0 6px}
.pt-sec:first-child{margin-top:0}
.pt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;align-items:start}
.pt-cols{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;align-items:start}
.pt-card{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);min-width:0}
.pt-card-hd{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line)}
.pt-card-hd h2{font-size:15px;margin:0;flex:1}
.pt-card-bd{padding:14px}
.pt-card-ft{padding:10px 14px;border-top:1px solid var(--line);display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pt-list{list-style:none;margin:0;padding:0}
.pt-list li{padding:10px 14px;border-bottom:1px solid var(--line)}
.pt-list li:last-child{border-bottom:0}
.pt-card-bd .pt-list li{padding-left:0;padding-right:0}
.pt-t{font-weight:600}
.pt-meta{color:var(--ink-3);font-size:12.5px;margin-top:2px}
.pt-kv{display:grid;grid-template-columns:minmax(120px,34%) 1fr;gap:8px 14px;margin:0}
.pt-kv dt{color:var(--ink-3);font-weight:500}
.pt-kv dd{margin:0;min-width:0;word-break:break-word;white-space:pre-line}
.pt-form{display:grid;gap:12px;max-width:560px}
.pt-form .fld>span{font-size:13px}
.pt-form .input,.pt-form .select{height:38px;font-size:14px;padding:0 10px}
.pt-form .select{padding-right:26px}
.pt-form .textarea{min-height:90px;font-size:14px;padding:8px 10px}
.pt .btn{height:36px;padding:0 14px;font-size:14px}
.pt .btn-sm{height:28px;padding:0 10px;font-size:13px}
.pt .btn-lg{height:40px;font-size:15px}
.pt-wide{width:100%}
.pt-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pt-actions.between{justify-content:space-between;margin-bottom:8px}
.pt-btn-row{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.pt-flash{margin:0 0 14px}
.pt-banner{background:var(--warn-soft);color:var(--warn-ink);text-align:center;padding:8px 16px;font-weight:600;border-bottom:1px solid var(--line)}
.pt-foot{color:var(--ink-3);font-size:12.5px;text-align:center;padding:24px 16px}
.pt-table{width:100%;border-collapse:collapse}
.pt-table th,.pt-table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.pt-table th{color:var(--ink-3);font-size:12px;font-weight:600;background:var(--bg-3)}
.pt-table tr:last-child td{border-bottom:0}
.pt-scroll{overflow-x:auto}
.pt-search{display:flex;gap:8px;margin:0 0 12px;max-width:520px}
.pt-search .input{height:36px;font-size:14px}
.pt-note{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--bg-2);margin-top:10px}
.pt-note-hd{display:flex;gap:8px;align-items:center;color:var(--ink-3);font-size:12.5px;margin-bottom:4px}
.pt-note-hd .ml-a{margin-left:auto}
.pt-note-body{white-space:pre-line;word-break:break-word}
.pt-note-form{margin-bottom:6px}
.pt-files{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.pt-files a{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid var(--line);border-radius:12px;font-size:12.5px;text-decoration:none}
.pt-day{width:100%;margin-top:8px}
.pt-slots{display:flex;flex-wrap:wrap;gap:8px}
.pt-slot{position:relative}
.pt-slot input{position:absolute;opacity:0;width:0;height:0}
.pt-slot span{display:inline-block;border:1px solid var(--line-2);border-radius:9px;padding:8px 12px;cursor:pointer;min-width:110px;text-align:center;background:var(--bg-2)}
.pt-slot input:checked+span{background:var(--pri);color:var(--on-pri);border-color:var(--pri)}
.pt-slot input:focus-visible+span{outline:2px solid var(--pri-2);outline-offset:1px}
.pt-auth{min-height:calc(100vh - 80px);display:grid;place-items:center;padding:24px 16px}
.pt-auth-card{width:min(440px,100%);background:var(--bg-2);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);padding:28px}
.pt-auth-card .pt-brand{margin-bottom:18px}
.pt-auth-card h1{font-size:20px;margin:0 0 6px}
.pt-auth-card .pt-form{margin-top:12px}
.pt-lang{margin-top:18px;text-align:center}
.pt-qr{width:180px;height:180px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:6px;display:block;margin:10px 0}
.pt-qr svg{width:100%;height:100%;display:block}
.pt-code{font-family:var(--mono);font-size:16px;letter-spacing:1px;padding:10px 12px;border:1px dashed var(--line-2);border-radius:8px;background:var(--bg-3);word-break:break-all}
.pt-codes{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;font-family:var(--mono);font-size:15px;padding:10px;border:1px solid var(--line);border-radius:8px;margin-top:8px}
.pt-steps{padding-left:18px;margin:0 0 8px}
.pt-steps li{margin:4px 0}
.pt-check{display:flex;gap:8px;align-items:flex-start;font-size:13.5px}
.pt-check input{margin-top:3px}
.pt-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pt-muted{color:var(--ink-3)}
.pt-empty{color:var(--ink-3);padding:14px;margin:0}
.pt-pager{display:flex;gap:8px;align-items:center;justify-content:flex-end;padding:10px 14px;border-top:1px solid var(--line)}
.pt-inline{display:inline}
.pt-links{list-style:none;margin:0;padding:0}
.pt-links li{padding:4px 0}
.pt-stats{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}
.pt-stat{background:var(--bg-2);border:1px solid var(--line);border-radius:10px;padding:10px 14px;min-width:130px;text-decoration:none;color:var(--ink)}
a.pt-stat:hover{text-decoration:none;border-color:var(--pri-2)}
.pt-stat b{display:block;font-size:22px;line-height:1.2}
.pt-stat span{color:var(--ink-3);font-size:12.5px}
@media (max-width:760px){.pt-cols{grid-template-columns:1fr}.pt-kv{grid-template-columns:1fr;gap:2px}.pt-kv dd{margin-bottom:6px}.pt-nav{order:3;width:100%}.pt-me-n{display:none}.pt-auth-card{padding:20px}}
.drive-panel{border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-2);margin:8px 0;overflow:hidden}.drive-panel:empty{display:none;border:0;margin:0}
.drive-hd{padding:6px 10px;border-bottom:1px solid var(--line);align-items:center}.drive-find{padding:6px 10px}
.drive-res{max-height:300px;overflow:auto}.drive-res .li{cursor:default;padding:6px 10px;min-height:0}.drive-res .nowrap{flex-wrap:nowrap;flex-shrink:0}
#att-drive:empty,#cmp-drive:empty,#inbox-drive:empty{display:none}
.gs .gs-back{display:none}
.ib-streams{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}
.ib-stream{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);min-width:0;display:flex;flex-direction:column;max-height:calc(100vh - 300px)}
.ib-stream-hd{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--line)}
.ib-stream-bd{overflow:auto;min-height:0}
.ib-stream .ibs-item{border-bottom:1px solid var(--line)}
.ibs-deal{display:flex;gap:4px;align-items:center;color:var(--pri-ink,var(--pri));margin-top:2px}
@media (max-width:1100px){.ib-streams{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.ib-streams{grid-template-columns:minmax(0,1fr)}.ib-stream{max-height:none}}
.msgs-card{container-type:inline-size}
@container (max-width: 560px) {
  .msgs-card .msg-tabs .tabs{max-width:100%;overflow-x:auto}
  .msgs-card table.tbl thead{display:none}
  .msgs-card table.tbl,.msgs-card table.tbl tbody{display:block;width:100%}
  .msgs-card table.tbl tr{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;padding:6px 8px;border-bottom:1px solid var(--line)}
  .msgs-card table.tbl td{display:inline-flex;align-items:center;padding:0;border:0;white-space:normal;max-width:100%;font-size:12px;color:var(--ink-2)}
  .msgs-card table.tbl td:has(.two-line){flex:1 1 calc(100% - 72px);min-width:0;font-size:13px;color:var(--ink)}
  .msgs-card table.tbl td[data-l]:not(:has(.two-line)):not(:has(.badge)):not(:has(.btn)):not(:empty)::before{content:attr(data-l);color:var(--ink-4);margin-right:4px}
  .msgs-card .tbl-wrap,.msgs-card .table-wrap{overflow:visible}
}
@media (max-width:767px){
  .card-hd{flex-wrap:wrap;row-gap:6px}.card-hd>h3{flex:1 1 55%}
  .modal-ft{flex-wrap:wrap;row-gap:6px}.modal-ft>.spacer{display:none}
  .grid.cols-2:has(>.card),.grid.cols-2:has(>.stack),.grid.cols-3:has(>.card),.grid.cols-3:has(>.stack){grid-template-columns:minmax(0,1fr)}
  .gs:not(:focus-within):not(:has(#gs-pop.open)) .gs-scope{display:none}
  .gs:not(:focus-within):not(:has(#gs-pop.open)) .gs-scope+.gs-field input{border-radius:8px}
  .gs:focus-within,.gs:has(#gs-pop.open){position:fixed;left:0;right:0;top:0;height:var(--top);margin:0;padding:6px 10px 6px 48px;max-width:none;z-index:80;background:var(--bg-2);border-bottom:1px solid var(--line);display:flex;align-items:center}
  .gs:focus-within .gs-form,.gs:has(#gs-pop.open) .gs-form{flex:1;min-width:0}
  .gs:focus-within input,.gs:has(#gs-pop.open) input{height:36px;font-size:16px}
  .gs:focus-within .gs-scope,.gs:has(#gs-pop.open) .gs-scope{height:36px}
  .gs:focus-within .gs-back,.gs:has(#gs-pop.open) .gs-back{display:inline-flex;position:absolute;left:6px;top:50%;transform:translateY(-50%)}
  .inbox-bar .row.wrap>.search{flex:1 1 100%}
  .inbox.has-sel{position:fixed;left:0;right:0;top:var(--top);bottom:calc(56px + env(safe-area-inset-bottom));height:auto;z-index:25;margin:0;border-radius:0;background:var(--bg)}
  .inbox.has-sel .inbox-thread{height:100%;min-height:0}
}
.acts-card{container-type:inline-size}
.acts-card .tabs.tabs-sm{flex-wrap:wrap;overflow:visible;row-gap:2px}
@container (max-width: 520px) {
  .acts-card table.tbl thead{display:block}
  .acts-card table.tbl thead tr{display:flex;flex-wrap:wrap;gap:2px 12px;padding:4px 8px;border-bottom:1px solid var(--line)}
  .acts-card table.tbl thead th{display:inline-flex;padding:0;border:0;font-size:11px;background:none;cursor:pointer;white-space:nowrap}
  .acts-card table.tbl td[data-l]:nth-child(n+3):not(:has(.badge)):not(:has(.user-chip))::before{content:attr(data-l);color:var(--ink-4);margin-right:4px}
  .acts-card table.tbl,.acts-card table.tbl tbody{display:block;width:100%}
  .acts-card table.tbl tr{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;padding:6px 8px;border-bottom:1px solid var(--line)}
  .acts-card table.tbl td{display:inline-flex;align-items:center;padding:0;border:0;white-space:normal;max-width:100%;font-size:12px;color:var(--ink-2)}
  .acts-card table.tbl td:first-child{flex-basis:100%;font-size:13px;color:var(--ink)}
  .acts-card .tbl-wrap,.acts-card .table-wrap{overflow:visible}
}
.view-row .vw-share{flex:0 0 130px;min-width:0;overflow:hidden}.view-row .view-act{flex:0 0 140px;justify-content:flex-end}
@media (max-width:900px){.view-row .vw-share{flex-basis:auto}.view-row .view-act{flex-basis:auto}}
.sv .sv-bd .tbl-wrap{overflow-x:auto}
.sv .sv-bd table.tbl td,.sv .sv-bd table.tbl th{white-space:nowrap}
.sv .sv-bd table.tbl.sv-auto{table-layout:auto;width:auto;min-width:0}
.sv .sv-bd table.tbl.sv-fix{table-layout:fixed;min-width:100%}.sv .sv-bd table.tbl.sv-fix td,.sv .sv-bd table.tbl.sv-fix th{overflow:hidden;text-overflow:ellipsis}
.sv .sv-bd table.tbl.wrap td{white-space:normal;height:auto;padding-top:6px;padding-bottom:6px;max-width:420px}.sv .sv-bd table.tbl.wrap td .cw{white-space:normal}
.empty .btn .ic{width:16px;height:16px;color:inherit;stroke-width:2}
.gt-d{position:relative;padding-top:16px}.gt-d .gt-mon{position:absolute;top:2px;left:3px;font-size:10.5px;font-weight:600;color:var(--ink-2);white-space:nowrap;z-index:2}
.gt-tip{position:fixed;z-index:9999;pointer-events:none;background:var(--ink);color:var(--bg);font-size:12px;font-weight:600;padding:3px 8px;border-radius:6px;white-space:nowrap;box-shadow:var(--shadow)}
.kcard .kf b{white-space:nowrap;flex-shrink:0}.kcard .kf .ml-a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.opt-card{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2);cursor:pointer}
.opt-card:has(input:checked){border-color:var(--pri-2);background:var(--pri-soft)}.opt-card input{margin-top:3px;flex:none}
.chk-chip{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;border:1px solid var(--line);border-radius:14px;background:var(--bg-2);font-size:var(--fs-sm);cursor:pointer;user-select:none}
.chk-chip input{margin:0}.chk-chip:has(input:checked){border-color:var(--pri-2);background:var(--pri-soft);color:var(--pri-ink)}
.dt-sec{padding:8px 12px 4px;border-top:1px solid var(--line)}.dt-sec:first-child{border-top:0}
.gsel-steps{margin-bottom:10px}.gsel-steps .chip{cursor:default}
.gsel-q h3{margin:2px 0 10px;font-size:1.1rem}
.gsel-count{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:var(--r);background:var(--bg-3);font-size:var(--fs-sm)}
.gsel-range .input{max-width:170px}
.gsel-panel{padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2)}
.gsel-res{max-height:52vh;overflow:auto}.gsel-res td{white-space:normal;vertical-align:middle}.gsel-res td .two-line{min-width:200px}
.sf-adds{align-items:center}
.pl-lines{max-height:70vh;overflow:auto;font-family:var(--mono);font-size:12.5px}
.pl-line{display:flex;gap:8px;align-items:baseline;padding:3px 10px;border-bottom:1px solid var(--line);cursor:pointer}
.pl-line:hover{background:var(--bg-3)}
.pl-line.on{background:var(--pri-soft)}
.pl-n{flex:none;min-width:2.2em;text-align:right;color:var(--ink-3)}
.pl-t{flex:1;min-width:0;white-space:pre-wrap;word-break:break-word}
.pl-f{flex:none;font-family:inherit;font-size:11px;padding:0 6px;border:1px solid var(--pri-2);border-radius:9px;color:var(--pri-ink);background:var(--bg)}
.pl-words .chip{position:relative;cursor:pointer;height:auto;min-height:26px;white-space:normal}
.pl-words .chip input{position:absolute;opacity:0;pointer-events:none}
.pl-words .chip:has(input:checked){background:var(--pri);color:var(--on-pri);border-color:var(--pri)}
.pl-words .chip:has(input:focus-visible){outline:2px solid var(--pri-2);outline-offset:1px}
.pl-pre{white-space:pre-wrap;word-break:break-word;max-height:60vh;overflow:auto;font-size:12.5px;margin:0}

.topbar{background:var(--nav);border-bottom-color:var(--nav);color:var(--nav-ink)}
.topbar .pop{color:var(--ink)}
.app-mark{display:flex;align-items:center;flex:none;align-self:stretch;padding:0 12px 0 4px;margin-right:4px;border-right:1px solid var(--nav-line);cursor:pointer;text-decoration:none!important}
.app-mark img{height:31px;width:auto;display:block}
.topbar>.btn-ghost,.topbar .gs>.btn-ghost,.topbar .top-actions>.btn-ghost,.topbar .top-actions>.dropdown>.btn-ghost,.topbar .top-actions>.tel-dd>.dropdown>.btn-ghost{color:var(--nav-ink-2);background:transparent;border-color:transparent}
.topbar>.btn-ghost:hover,.topbar .gs>.btn-ghost:hover,.topbar .top-actions>.btn-ghost:hover,.topbar .top-actions>.dropdown>.btn-ghost:hover,.topbar .top-actions>.tel-dd>.dropdown>.btn-ghost:hover{background:rgba(255,255,255,.1);color:#fff}
.topbar>.dropdown>.co-switch{color:#fff}
.topbar>.dropdown>.co-switch:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12)}
.topbar>.dropdown>.co-switch .ic{color:var(--nav-ink-2)}
.topbar .gs-form input{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff}
.topbar .gs-form input::placeholder{color:rgba(255,255,255,.6)}
.topbar .gs-form input:focus{background:var(--bg-2);color:var(--ink);outline-color:var(--pri)}
.topbar .gs-form input:focus::placeholder{color:var(--ink-4)}
.topbar .gs-form .gs-field>.ic{color:rgba(255,255,255,.62)}
.topbar .gs-form .gs-field:focus-within>.ic{color:var(--ink-4)}
.topbar .gs-form .kbd{background:transparent;border-color:rgba(255,255,255,.3);color:rgba(255,255,255,.7)}
.topbar .gs-scope{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.2);color:#fff}
.topbar .gs-scope option{background:var(--bg-2);color:var(--ink)}
.topbar .top-actions .btn-primary{box-shadow:0 1px 0 rgba(0,0,0,.15)}
@media (max-width:720px){.app-mark{padding:0 8px 0 2px;margin-right:0}.app-mark img{height:26px}}
.app>.side{background:var(--nav);border-right-color:rgba(255,255,255,.06);scrollbar-color:rgba(255,255,255,.22) transparent}
.app>.side .side-group{color:rgba(255,255,255,.46)}
.app>.side .side-item{color:rgba(255,255,255,.82)}
.app>.side .side-item .ic{color:rgba(255,255,255,.58)}
.app>.side .side-item:hover{background:rgba(255,255,255,.08);color:#fff}
.app>.side .side-item:hover .ic{color:#fff}
.app>.side .side-item.active{background:rgba(255,255,255,.11);color:#fff;box-shadow:inset 3px 0 0 var(--pri)}
.app>.side .side-item.active .ic{color:var(--pri)}
.app>.side .side-item .cnt{color:rgba(255,255,255,.55)}
.topbar{border-bottom-color:rgba(255,255,255,.08)}
.vpath{display:flex;align-items:center;gap:8px;margin-bottom:12px}.vpath .status-strip{flex:1;min-width:0}
.vpath-l{flex:0 0 auto;font-size:var(--fs-sm);font-weight:600;color:var(--ink-3)}
.vp-end{display:flex;gap:4px;flex:0 0 auto}.vp-end:empty{display:none}
.vp-thumb{display:inline-flex;align-items:center;gap:6px;height:34px;min-width:38px;justify-content:center;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--bg-2);font-weight:600}
.vp-up svg{color:var(--ok)}.vp-down svg{color:var(--dng)}
.vp-thumb.on.vp-up{background:var(--ok);border-color:var(--ok);color:var(--on-st)}.vp-thumb.on.vp-down{background:var(--dng);border-color:var(--dng);color:var(--on-st)}.vp-thumb.on svg{color:var(--on-st)}
@media (max-width:767px){.vpath{flex-wrap:wrap}.vpath-l{width:100%}.vpath .status-strip{flex:1 1 100%}}
.rc-el .cv-img.cv-init{display:flex;align-items:center;justify-content:center;font-size:clamp(14px,2.4em,44px);letter-spacing:.02em;line-height:1}
@media (max-width:767px){.rc-hero .rc-el.cv-img{width:96px!important;height:96px!important;flex:none}}
.sr-tbl td:first-child{white-space:normal;min-width:220px;max-width:340px}.sr-tbl td:first-child .two-line small{white-space:normal}
.sr-tbl td:nth-child(3){white-space:normal;max-width:220px}
.aud-chg td{white-space:normal;vertical-align:top;overflow-wrap:anywhere}.aud-chg td:first-child{width:24%}
.aud-tbl{table-layout:fixed;width:100%}.aud-tbl td{overflow:hidden;text-overflow:ellipsis}
.aud-tbl td.aud-wrap{white-space:normal;height:auto;padding-top:4px;padding-bottom:4px;line-height:1.35}
.aud-tbl .aud-2l{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.aud-tbl td .badge{max-width:100%;overflow:hidden}
@media (max-width:1499px){.aud-tbl .aud-ip{display:none}}
.aud-l{display:block;padding:1px 5px;margin:1px 0;border-radius:4px;font-size:12px;line-height:1.45}
.aud-l.add{background:var(--ok-soft);color:var(--ok-ink)}.aud-l.del{background:var(--dng-soft);color:var(--dng-ink);text-decoration:line-through}
.tbl-wrap:has(>table.tbl-stack){container-type:inline-size}
@container (max-width: 600px) {
  table.tbl.tbl-stack thead{display:none}
  table.tbl.tbl-stack,table.tbl.tbl-stack tbody,table.tbl.tbl-stack tfoot{display:block;width:100%}
  table.tbl.tbl-stack tr{display:flex;flex-wrap:wrap;align-items:center;gap:3px 12px;padding:8px 12px;border-bottom:1px solid var(--line)}
  table.tbl.tbl-stack tr:last-child{border-bottom:0}
  table.tbl.tbl-stack td{display:inline-flex;flex-wrap:wrap;align-items:center;gap:2px 4px;padding:0;border:0;white-space:normal;max-width:100%;min-width:0;font-size:12px;color:var(--ink-2);text-align:left;height:auto}
  table.tbl.tbl-stack td:first-child{flex:1 1 100%;font-size:13px;color:var(--ink)}
  table.tbl.tbl-stack td:empty{display:none}
  table.tbl.tbl-stack td[data-l]:not(:first-child):not(:empty):not(:has(.btn))::before{content:attr(data-l) ":";color:var(--ink-4)}
  table.tbl.tbl-stack td:not(:first-child):has(.btn){margin-left:auto}
  table.tbl.tbl-stack tr.grp-row td:first-child{padding-top:4px}
}
.chips-sm{gap:3px}.chips-sm .chip{height:18px;padding:0 6px;font-size:11px}.chip.warn{background:var(--warn-soft,#fffbeb);color:var(--warn-ink,#b45309)}
.webtab-frame{display:block;width:100%;height:calc(100vh - 200px);min-height:420px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff}
html.mob .webtab-frame{height:calc(100vh - 230px)}
.ly-f:has(.ly-parts){flex-wrap:wrap}.ly-parts{display:flex;flex-wrap:wrap;gap:4px;flex:1 1 100%;order:9;margin:4px 0 2px 26px}
.ly-part{display:inline-flex;align-items:center;gap:2px;height:22px;padding:0 0 0 8px;border:1px solid var(--line);border-left:3px solid var(--line-2);border-radius:var(--r);background:var(--bg-2);font-size:var(--fs-xs);color:var(--ink-2)}
.ly-part.req{border-left-color:var(--dng)}.ly-part .btn{height:20px;width:20px;padding:0}
.rc-body{margin-top:8px}.rcb-sec{padding:0}.rcb-sec .card-hd{padding:10px 14px 0}.rcb-sec.bd-none{border-color:transparent;box-shadow:none}.rcb-sec.bd-thick{border-width:2px}
.rcb-grid{display:grid;gap:10px 18px;padding:12px 14px}.rcb-f{display:flex;flex-direction:column;gap:2px;min-width:0}.rcb-f.lb-left{flex-direction:row;align-items:baseline;gap:8px}
.rcb-l{font-size:var(--fs-xs);color:var(--ink-3)}.rcb-f.lb-left .rcb-l{flex:0 0 38%}.rcb-v{min-width:0;overflow-wrap:anywhere}
.rcb-row{display:flex;gap:14px;align-items:flex-start}.rcb-row.gap-s,.rcb-grid2.gap-s{gap:8px}.rcb-row.gap-l,.rcb-grid2.gap-l{gap:24px}.rcb-cell{min-width:0}.rcb-cell>.card,.rcb-cell>section{height:100%}
.rcb-grid2{display:grid;gap:14px;align-items:start}.rcb-text{padding:4px 2px;white-space:pre-wrap}.rcb-hr{border:0;border-top:1px solid var(--line);margin:4px 0}
@media (max-width:767px){.rcb-row{flex-direction:column}.rcb-row>.rcb-cell{width:100%;flex:none!important}.rcb-grid2{grid-template-columns:minmax(0,1fr)!important}.rcb-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.rcb-f{grid-column:auto!important}}
@media (max-width:600px){.rcb-grid{grid-template-columns:minmax(0,1fr)!important}}
.rcb-v a.truncate,.rcb-v .truncate{display:inline-block;max-width:100%;vertical-align:bottom}
.rcb-outline{display:flex;flex-direction:column;gap:6px}.rcb-item{border:1px solid var(--line);border-radius:var(--r);background:var(--bg)}.rcb-line{display:flex;align-items:center;gap:6px;padding:4px 6px}
.rcb-name{font-size:var(--fs-sm);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rcb-kids{display:flex;flex-direction:column;gap:6px;padding:0 6px 8px 22px}
.rcb-tab{border-left:2px solid var(--line-2);padding-left:6px}.rcb-tabname{display:flex;align-items:center;gap:4px;font-size:var(--fs-xs);color:var(--ink-3);margin:2px 0}
.rcb-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.rcb-gal-item{overflow:hidden}
.rcb-sketch{display:flex;flex-direction:column;gap:4px;padding:8px;background:var(--bg-2);border-bottom:1px solid var(--line);min-height:120px}
.rcb-sk-head{height:26px;border-radius:4px;background:linear-gradient(120deg,var(--pri),var(--vio));opacity:.7}.rcb-sk-block,.rcb-sk-tabs{height:16px;border-radius:3px;background:var(--line)}
.rcb-sk-tabs{border-top:4px solid var(--line-2)}.rcb-sk-row{display:flex;gap:4px}.rcb-sk-row>.rcb-sk-block{flex:1;height:22px}
.rng{display:flex;align-items:center;gap:8px;min-height:36px}
.rng .rng-in{flex:1;min-width:0;accent-color:var(--pri)}
.rng .rng-out{min-width:3em;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.rng.rng-empty .rng-in{opacity:.45}
.rng.rng-empty .rng-out{color:var(--ink-4);font-weight:400}
.rng.rng-empty .rng-clear{visibility:hidden}
.mrg-cands .menu-item{height:auto;min-height:30px;padding:6px 10px;white-space:normal;align-items:flex-start;text-align:left}
.mrg-cands .menu-item small,.mrg-cands .menu-item span{white-space:normal;overflow-wrap:anywhere}
.tbl.th-wrap th{white-space:normal;height:auto;line-height:1.25;padding-top:6px;padding-bottom:6px;vertical-align:bottom;letter-spacing:0}
.tbl.th-wrap td.num,.tbl.th-wrap th.num{padding-left:6px;padding-right:6px}
.cons-row{min-width:0}.cons-row>.row{min-width:0;flex-wrap:wrap}.cons-why{white-space:normal;overflow-wrap:anywhere;margin:1px 0 0 22px}
