/* WB Repricer · Warm workspace · shared client, login, legal and admin surfaces */
.warm-tooltip{position:fixed;z-index:150;max-width:min(320px,calc(100vw - 24px));padding:9px 13px;border-radius:11px;background:#24262d;color:#fff;font-size:12px;line-height:1.5;overflow-wrap:anywhere;pointer-events:none;box-shadow:0 7px 20px #24262d22;animation:tooltipEnter .14s ease}.warm-tooltip[hidden]{display:none}@keyframes tooltipEnter{from{opacity:0;transform:translateY(3px) scale(.98)}to{opacity:1;transform:none}}
@font-face{font-family:Inter;src:url('/assets/InterVariable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{color-scheme:light;--bg:#ece9e5;--panel:rgba(255,255,255,.55);--panel2:#f8f6f3;--surface:var(--panel2);--line:rgba(40,40,50,.09);--text:#191b22;--muted:#6f717b;--violet:#8066f6;--violet2:#6650d8;--violet-deep:var(--violet2);--green:#23865e;--mint:var(--green);--mint-deep:var(--green);--amber:#a56b16;--red:#cc444d;--shadow:0 8px 30px rgba(58,48,43,.055),inset 0 1px 0 rgba(255,255,255,.7)}
*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--text);font:14px/1.5 Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:radial-gradient(ellipse at 12% 0%,#fffcf5 0,transparent 45%),radial-gradient(ellipse at 88% 18%,#d9d2e366,transparent 42%),#ece9e5;background-attachment:fixed}body:before{content:'';position:fixed;inset:0;background:linear-gradient(115deg,transparent 12%,#ffffff30 12.3%,transparent 25%,#ffffff40 25.3%,transparent 40%);pointer-events:none;z-index:-1}
.stars,.star-dot,.stellar,.shooting{display:none!important}.logo,.logo img,.mark img{animation:none!important;filter:none!important;box-shadow:none!important;background:transparent!important}a{color:var(--violet2);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin-top:0}h1{font-weight:600;letter-spacing:-1.2px}h2,h3{font-weight:600;letter-spacing:-.45px}p{color:var(--muted);margin-bottom:16px}b,strong{font-weight:600}small,.tiny,.sub,.muted{color:var(--muted)}.tiny{font-size:12px}.good{color:var(--green)}.warn{color:var(--amber)}.bad{color:var(--red)}
button,input,select,textarea{font:inherit}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 16px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.6);color:var(--text);font-weight:500;cursor:pointer;box-shadow:inset 0 1px 0 #ffffffaa;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s}button:hover,.btn:hover{transform:translateY(-1px);background:#ffffffb8;border-color:#aaa0c555;box-shadow:0 5px 15px #46334e0b}button:active,.btn:active{transform:translateY(0) scale(.975)}button:disabled,.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}button.primary,.btn.primary{background:linear-gradient(180deg,#8b6fff,#7056e1);color:#fff;border:1px solid #8066f633;box-shadow:inset 0 1px 0 #ffffff55,0 5px 14px #6d52e133;font-weight:500}button.primary:hover,.btn.primary:hover{box-shadow:inset 0 1px 0 #ffffff70,0 7px 20px #6d52e144}button.danger,.btn.danger{color:var(--red);background:#fff9f880;border-color:#e85d621c}.ghost{color:var(--muted);background:#ffffff50;border:1px solid var(--line)}button:focus-visible,a:focus-visible{outline:3px solid #8066f660;outline-offset:3px}.icon-btn{width:36px;min-height:36px;padding:0;background:transparent;border:0;color:var(--muted);font-size:24px}
input:not([type=checkbox]),select,textarea,.control,.cell-input,.field input,.field select{color:var(--text);background:rgba(255,255,255,.58);border:1px solid var(--line);border-radius:14px;padding:11px 13px;outline:none;transition:border .18s,box-shadow .18s;max-width:100%;min-width:0}.control{width:100%}input:focus,textarea:focus,select:focus,.control:focus,.cell-input:focus{border-color:#8066f66b;box-shadow:0 0 0 4px #8066f614,inset 0 1px 0 #ffffffb3}input::placeholder,textarea::placeholder{color:#87868f}input[type=checkbox]{accent-color:var(--violet);width:18px;height:18px;flex-shrink:0}.field label{color:var(--muted);font-size:12px;display:block;margin-bottom:7px}.field{min-width:0}.cell-input{padding:8px 9px}.cell-input.numeric{max-width:100px;text-align:center}.cell-input:disabled{background:#efedea;color:var(--muted)}
.shell{display:flex;flex-direction:column;min-height:100vh;position:relative;z-index:auto}.main{width:100%;max-width:1760px;padding:24px 38px 32px;margin:0 auto;min-width:0}.side{display:none}.workspace-bar{display:flex;align-items:center;gap:22px;margin:22px auto 0;width:calc(100% - 76px);max-width:1684px;min-height:64px;position:relative;z-index:12}.brand{display:flex;align-items:center;gap:10px;padding:0;white-space:nowrap;font-weight:600;font-size:21px;letter-spacing:-.65px;color:var(--text);text-decoration:none!important}.logo,.logo img{width:37px;height:37px;display:block}.brand span{display:inline}.nav{position:relative;display:flex;align-items:center;gap:0;padding:6px;margin:0 auto;background:#ffffff55;border:1px solid #ffffff60;border-radius:999px;box-shadow:var(--shadow);backdrop-filter:blur(18px);isolation:isolate;max-width:100%;overflow-x:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav button{position:relative;z-index:1;flex-shrink:0;min-height:38px;padding:9px 14px;gap:0;font-size:12px;font-weight:500;border:0;border-radius:999px;box-shadow:none!important;background:transparent!important;color:#575763;white-space:nowrap}.nav button:hover{transform:none;color:#171923}.nav button.active{color:#fff}.nav button>span,.nav button span{display:inline}.nav .nav-icon{display:none!important}.nav-indicator{position:absolute;z-index:0;top:6px;height:38px;left:0;background:#262833;border-radius:999px;box-shadow:0 3px 8px #191b2222;pointer-events:none;transition:width .32s cubic-bezier(.2,.8,.2,1),transform .32s cubic-bezier(.2,.8,.2,1)}.nav .admin-link{display:none!important}
.head-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.sync-state{border:0!important;box-shadow:none!important;background:transparent!important;display:flex;gap:8px;min-width:0;padding:0 3px!important;text-align:left;transform:none!important;min-height:38px}.sync-orb{width:7px;height:7px;min-width:7px;border-radius:50%;background:#27b978;color:var(--green);position:relative;display:block}.sync-orb svg{display:none}.sync-orb:after,.status-dot:after{content:'';position:absolute;inset:0;border-radius:50%;background:inherit;animation:statusBreath 3.6s ease-out infinite}.sync-copy b{display:block;font-size:11px;font-weight:400;color:var(--muted)}.sync-copy small{display:block;font-size:10px;color:#7c7d85}.sync-state.loading .sync-orb{background:#a56b16}.sync-state.error .sync-orb{background:#cc444d}.sync-state.error .sync-orb:after{animation-iteration-count:1}.refresh-btn{border-radius:999px;min-height:40px;padding:9px 18px;background:#f4f0ff!important;color:var(--text)!important;box-shadow:inset 0 1px 0 #ffffffaa!important;border:1px solid #ffffff80!important;white-space:nowrap}.refresh-btn:before{content:'↻';font-size:19px;line-height:1}.header-alert{position:absolute;right:0;top:calc(100% + 10px);z-index:20;display:flex;gap:9px;max-width:min(400px,90vw);background:#fff1f1;box-shadow:0 10px 30px #8f3b4514;border:1px solid #e85d6255;min-height:48px;padding:8px 13px;text-align:left}.header-alert[hidden]{display:none}.header-alert b{color:var(--red);font-weight:500}.header-alert small{color:#92575b;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.header-alert svg{width:22px;height:22px;stroke:var(--red);fill:none;flex-shrink:0}.profile-button{background:transparent;border:0;box-shadow:none;padding:4px 0 4px 10px;gap:9px;font-size:12px}.profile-button small{display:block;font-size:10px;text-align:left}.profile-button b{display:block;font-weight:500;text-align:left;max-width:115px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-avatar{display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:#d9d1eb;color:#6044a1;font-size:13px;border:2px solid #ffffff99}.profile-popover{position:absolute;right:0;top:68px;min-width:240px;padding:10px;background:#faf9f7f5;border:1px solid #fff;border-radius:18px;box-shadow:0 14px 45px #1e191f22;z-index:30}.profile-popover[hidden]{display:none}.profile-popover a,.profile-popover button{display:flex;width:100%;padding:10px 13px;text-align:left;justify-content:flex-start;box-shadow:none;border:0;background:transparent;border-radius:12px}.profile-popover a:hover,.profile-popover button:hover{background:#8066f614;text-decoration:none}.top{display:flex;align-items:center;justify-content:space-between;margin:15px 0 25px;gap:20px}.top h1{font-size:32px;font-weight:600;margin:0 0 4px}.sub{font-size:13px}.page.active{animation:pageEnter .24s ease}.section-head{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:18px;flex-wrap:wrap}.section-head h2{font-size:21px;margin:0}.section-head p{margin:4px 0 0}.page>.section-head h2{display:none}.page>.section-head:has(>h2){justify-content:flex-end}.page>.section-head:has(>h2):not(:has(button)){display:none}
.card,.surface,.table-wrap,.schedule-item,.dialog,.loader-card{background:var(--panel);border:1px solid #ffffff88;border-radius:22px;box-shadow:var(--shadow);backdrop-filter:blur(18px);color:var(--text)}.card{padding:23px;transition:box-shadow .22s,border-color .22s,transform .22s}.card:hover{border-color:#ffffffdd;box-shadow:0 10px 34px #3a302b12,inset 0 1px 0 #ffffffa6}.card h2{font-size:20px;margin:0 0 14px}.card p{font-size:13px}.surface{overflow:hidden}.dashboard{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:18px}.dashboard-stack{display:grid;gap:18px;align-content:start;min-width:0}.dashboard .surface{grid-column:1/-1}.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}.kpi{padding:20px;position:relative;overflow:hidden;min-height:126px}.kpi small{font-size:12px;letter-spacing:0;text-transform:none;line-height:1.45;display:block;padding-left:32px;min-height:28px}.kpi:before{content:'◇';position:absolute;left:20px;top:19px;display:grid;place-items:center;width:25px;height:25px;background:#8066f617;color:var(--violet);border-radius:8px;font-size:17px}.kpi:nth-child(2):before{content:'●';background:#27b97818;color:#27b978;font-size:12px}.kpi:nth-child(3):before{content:'◷'}.kpi:nth-child(4):before{content:'↗'}.kpi:nth-child(5):before{content:'!';background:#e4a43b18;color:var(--amber)}.kpi strong{display:block;font-size:30px;margin-top:12px;font-weight:600;letter-spacing:-1px}.kpi-note{font-size:10px;margin-top:5px;color:var(--muted)}
.cycle-board{padding:24px;margin-bottom:18px}.cycle-board h2{margin-bottom:22px}.cycle-board-layout{display:grid;grid-template-columns:160px 190px minmax(0,1fr);gap:26px;align-items:center}.cycle-ring{width:146px;height:146px;border-radius:50%;background:conic-gradient(var(--violet) var(--cycle-angle,0deg),#d6d1dc 0);padding:14px;box-shadow:inset 0 1px 5px #ffffff99}.cycle-ring>div{height:100%;border-radius:50%;background:#f0eeeb;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:inset 0 2px 6px #28222f0a}.cycle-ring strong{font-size:34px;letter-spacing:-1px}.cycle-ring small{font-size:11px;text-align:center;max-width:76px}.cycle-legend{display:grid;gap:13px}.cycle-legend>div{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px}.cycle-legend b{margin-left:auto;color:var(--text)}.legend-dot{width:8px;height:8px;border-radius:50%;background:var(--violet)}.legend-dot.amber{background:#e4a43b}.legend-dot.mint{background:#27b978}.legend-dot.gray{background:#b9b7bf}.operation-strip{border-left:1px solid var(--line);padding-left:30px;min-width:0}.operation-strip h3{font-size:13px;margin-bottom:25px}.operation-points{display:flex;overflow:auto;padding:3px 0 8px;gap:0}.operation-point{flex:1 0 100px;border-top:1px solid #beb5d355;padding:19px 8px 0 0;position:relative}.operation-point:before{content:'';position:absolute;top:-5px;left:0;width:10px;height:10px;border-radius:50%;background:#aa90f5;box-shadow:0 0 0 4px #8066f60a}.operation-point b,.operation-point small{display:block;font-size:12px}.operation-point small{font-size:10px;margin-top:4px}.empty{padding:40px 24px;text-align:center;color:var(--muted);font-size:13px;line-height:1.8}.compare-row{display:grid;grid-template-columns:130px minmax(0,1fr) 105px;gap:14px;align-items:center}.compare-label b{font-size:13px}.compare-label small{font-size:11px;color:var(--muted)}.compare-value{text-align:right}.compare-value b{font-size:13px}.bar-line{height:7px;background:#d9d3e333}.bar-line i{background:linear-gradient(90deg,#8066f6,#b39dff)}.bar-line.median i{background:#71baa1}.chart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.chart-head h2{margin-bottom:4px}.chart-head p{font-size:12px;margin:0}.upcoming-item{background:#ffffff38;border:1px solid #ffffff66;border-radius:14px;padding:13px}.upcoming-time{color:var(--violet2)}.status-dot{width:7px;height:7px;background:#27b978;position:relative;border-radius:50%;box-shadow:0 0 0 4px #27b97812}
.table-wrap{overflow:auto;max-width:100%;background:#ffffff45}table,.table,.rules-table,.member-table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}table th,.table th,.rules-table th,.member-table th{color:var(--muted);font-size:11px;font-weight:400;letter-spacing:0;text-transform:none;line-height:1.45;text-align:center;background:#f4f1ede8;padding:16px 13px;border:0;position:sticky;top:0;z-index:2}table td,.table td,.rules-table td,.member-table td{padding:11px 13px;border-top:1px solid #28283209;text-align:center;vertical-align:middle;height:65px}table tbody tr:hover td,.table tr:hover td{background:#ffffff76}.table tr:hover td:first-child{box-shadow:inset 2px 0 #8066f666}.table th:nth-child(2),.table td:nth-child(2){text-align:left}.table td:nth-child(2) b{display:block;max-width:160px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.table td{white-space:nowrap}table td .tiny{font-size:10px}#eventRows td:last-child{white-space:normal;text-align:left;max-width:480px;overflow-wrap:anywhere}.table td>.btn{min-height:32px;padding:5px 10px;font-size:11px}.photo{width:40px;height:46px;object-fit:cover;border-radius:12px;background:#ffffff80;border:1px solid #ffffff88}.photo-empty{display:grid;place-items:center;color:var(--muted)}.spark{width:64px;height:23px}.price-steps{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text);justify-content:center}.price-steps i{font-style:normal;color:#9b8cbd}.price-steps .next{color:var(--violet2)}.price-labels{display:flex;justify-content:space-around;font-size:9px;color:var(--muted);margin-top:3px}.cycle-preview{color:var(--muted);min-width:180px}.badge,.pill{display:inline-flex;align-items:center;gap:6px;min-height:25px;padding:4px 10px;border:0;border-radius:999px;background:#8066f619;color:#7155c8;font-size:10px;letter-spacing:0;font-weight:500}.badge.good{background:#27b97819;color:var(--green)}.badge.warn{background:#e4a43b1c;color:var(--amber)}.badge.bad{background:#e85d6216;color:var(--red)}.badge.good:before{content:'';width:5px;height:5px;border-radius:50%;background:#27b978}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:18px}.toolbar .search{flex:1 1 240px;min-width:0}.toolbar .select-shell{flex:0 1 190px;min-width:150px}
.switch{width:44px;min-width:44px;height:24px;min-height:24px;padding:0;border:0;border-radius:24px;position:relative;background:#d1d2d7;box-shadow:inset 0 1px 2px #00000010;vertical-align:middle}.switch:before{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fafafa;box-shadow:0 1px 4px #00000022;transition:transform .26s cubic-bezier(.2,.8,.2,1),box-shadow .26s}.switch[aria-checked=true]{background:#8066f6}.switch[aria-checked=true]:before{transform:translateX(20px);box-shadow:0 1px 4px #0000001a,0 0 8px #ffffff55}.switch:hover{background:#b9bac4;transform:none}.switch[aria-checked=true]:hover{background:#745be5}.switch:active{transform:scale(.98)}
.select-shell{position:relative;min-width:0;max-width:100%}.select-button{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 12px;gap:12px;text-align:left;background:#ffffff80;border-color:var(--line);font-weight:400;min-height:42px;padding:10px 13px}.select-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-button i{border-color:#85828d}.select-shell.open .select-button{border-color:#8066f650;box-shadow:0 0 0 4px #8066f614}.select-menu{background:#faf9f7fa;backdrop-filter:blur(22px);border:1px solid var(--line);box-shadow:0 14px 45px #1e191f1f;border-radius:15px;padding:6px;max-height:245px;overflow:auto;z-index:95}.select-shell.open .select-menu{animation:menuEnter .19s ease}.select-option{display:block;width:100%;text-align:left;color:var(--text);background:transparent;border:0;box-shadow:none;font-size:13px;font-weight:400;padding:9px 11px;min-height:34px;border-radius:10px;white-space:normal;overflow-wrap:anywhere}.select-option:hover,.select-option.selected{background:#8066f619;color:var(--violet2);transform:none}.select-option.selected:after{color:var(--violet)}
.modal{padding:22px;background:#25222038;backdrop-filter:blur(5px);z-index:70;overflow:auto}.modal.show{animation:veilEnter .24s ease}.dialog{padding:25px;background:#f7f5f0f5;border-radius:24px;max-height:calc(100dvh - 44px);overflow:auto;box-shadow:0 25px 90px #2d283126;animation:modalEnter .24s cubic-bezier(.2,.8,.2,1);width:min(850px,100%)}.dialog.small{width:min(560px,100%)}.dialog-head{margin-bottom:20px}.dialog-head h2{font-size:21px;font-weight:600}.dialog-body{padding:0;max-height:none;overflow:visible}.dialog .toolbar{display:flex;flex-wrap:wrap}.dialog .toolbar .search{flex:1 1 240px;min-width:0}.dialog .toolbar button{max-width:100%;white-space:normal}.catalog-filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.catalog-summary{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between}.catalog-summary button{font-size:11px;min-height:32px;padding:6px 10px}.catalog{max-height:36vh;overflow:auto;gap:6px}.catalog-row{grid-template-columns:23px 42px minmax(0,1fr) auto;gap:12px;background:#ffffff33;border-color:#ffffff70;border-radius:14px;padding:10px}.catalog-row:hover{background:#fff9;border-color:#8066f62c}.catalog-row b{font-size:13px}.catalog-row>div{min-width:0;overflow-wrap:anywhere}.catalog-row>span:last-child{font-size:11px;color:var(--muted);max-width:145px;overflow-wrap:anywhere}.catalog-row .tiny{font-size:11px}.modal-foot{border-top:1px solid var(--line);padding:20px 0 0;margin-top:16px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.dialog-actions,.member-actions,.mode-actions,.rule-actions{display:flex;gap:14px;flex-wrap:wrap}.dialog-actions{justify-content:flex-end;margin-top:24px}.member-actions{justify-content:center}.mode-actions{margin-top:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.wide{grid-column:1/-1}.loader{z-index:100;backdrop-filter:blur(5px);background:#25222038}.loader-card{background:#f7f5f2f5;padding:30px;width:min(390px,calc(100vw - 32px));animation:modalEnter .24s ease}.loader-title{font-size:17px;font-weight:500}.track{height:6px;background:#d8d2e3;border-radius:99px}.bar{background:linear-gradient(90deg,#8066f6,#a78fff);transition:width .05s linear}.percent{color:var(--muted);font-size:12px}.toast{z-index:120;background:#f4fcf7;color:var(--green);border:1px solid #27b97833;box-shadow:0 10px 35px #1e191f15;border-radius:16px;font-size:13px}.toast.error{background:#fff2f2;color:var(--red);border-color:#e85d6233}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.wide-card{grid-column:1/-1}.status-line{border-color:var(--line);gap:14px;font-size:13px}.status-line b{text-align:right;overflow-wrap:anywhere}.token-box{background:#ffffff50;border:1px solid var(--line);border-radius:16px;padding:16px;flex-wrap:wrap}.check-item{background:#ffffff44;border:1px solid #ffffff80;color:var(--muted);border-radius:13px;font-size:11px}.check-item .check{background:#e4a43b19;color:var(--amber)}.check-item.ready .check{background:#27b97819;color:var(--green)}.check-item input{width:18px;height:18px}.live-checklist{gap:10px}.mode-actions button.is-current{background:#262833;color:#fff;border-color:#262833}.mode-actions #liveBtn.is-current{background:#27b9781c;color:var(--green);border-color:#27b97822;box-shadow:inset 0 0 10px #27b9780c}.actions:has(#couponCode){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;margin-top:24px}.hero{gap:18px;grid-template-columns:1fr 1fr}.email-hint{background:#e4a43b12;border-color:#e4a43b;color:#8c641e}.email-warning-icon{background:#e4a43b22;color:#a56b16}.avatar{background:#8066f622;color:var(--violet2);border-radius:50%;font-weight:500}.avatar.pending{background:#dfd9e2;color:var(--muted)}.schedule-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:18px}.schedule-item{padding:22px}.schedule-item strong{font-size:19px;font-weight:500}.schedule-item>.tiny{margin-bottom:10px}.schedule-item p{margin:10px 0}.danger-zone{border-color:#e85d6222}.legal-mini{font-size:11px;display:flex;gap:14px;flex-wrap:wrap}
.merged-system-source{display:none!important}
.mode-compact-card{grid-column:auto;display:none}.mode-compact-card .live-checklist{grid-template-columns:1fr 1fr}.mode-compact-card .mode-actions{gap:10px}.rule-schedule-cell{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:135px}.schedule-settings{min-width:96px}.rule-schedule-list{display:flex;gap:5px;flex-wrap:wrap}.rule-schedule-entry{display:inline-flex;align-items:center;gap:2px}.rule-schedule-entry .schedule-chip{font-size:11px;padding:5px 8px}.schedule-remove{border:0;background:transparent;color:var(--red)!important;font-size:16px;padding:2px;line-height:1;cursor:pointer}.rule-schedule-cell .schedule-add{margin-left:2px}
.promo-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:18px;align-items:center;margin:0 0 20px}.promo-card h3{margin:0 0 5px;font-size:16px}.promo-card p{margin:0;color:var(--muted);font-size:12px}.promo-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.promo-entry small{grid-column:1/-1;color:var(--muted);font-size:11px}.promo-card .field-help{grid-column:1/-1}.schedule-existing-row{display:flex;align-items:center;gap:4px}.schedule-existing{border:0;background:transparent;color:var(--text);padding:5px 7px;cursor:pointer}.schedule-existing.is-current,.schedule-existing:hover{color:var(--violet2)}.schedule-existing-remove{border:0;background:transparent;color:var(--red);padding:4px;cursor:pointer}.schedule-new{margin-top:8px;border:1px dashed var(--line);background:transparent;color:var(--violet2);padding:7px 10px;border-radius:10px;cursor:pointer}
.mode-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}.mode-btn{font-size:10px;padding:6px 8px;min-height:30px}.promo-card .promo-entry{justify-content:end}.contact-back .contact-write{overflow:hidden;text-overflow:ellipsis}
@media(max-width:700px){.promo-card{grid-template-columns:1fr;gap:12px}.promo-card .promo-entry{grid-template-columns:minmax(0,1fr) auto}.rules-table{min-width:1120px}.rule-schedule-cell{min-width:125px}.contact-card{width:min(100%,360px)}.contact-back{grid-template-columns:1fr 1fr;column-gap:6px}.contact-back .contact-write{font-size:8px;padding-left:2px;padding-right:2px}.workspace-footer{gap:16px}}
@media(max-width:420px){.promo-card .promo-entry{grid-template-columns:1fr}.promo-card .promo-entry button{width:100%}.contact-back{grid-template-columns:1fr;grid-template-rows:auto auto auto}.contact-back .contact-write{font-size:9px}.contact-back>b,.contact-back>p{grid-column:1}}
.workspace-footer{width:calc(100% - 76px);max-width:1684px;margin:auto auto 24px;padding-top:22px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer-copy{font-size:11px;color:var(--muted)}.footer-copy b{display:block;color:var(--text);font-size:13px;font-weight:500;margin-bottom:7px}.footer-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:9px}.footer-links a{color:var(--muted);font-size:11px}.contact-card{width:268px;height:94px;position:relative;perspective:800px;flex-shrink:0}.contact-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .58s cubic-bezier(.2,.75,.25,1)}.contact-card:hover .contact-inner,.contact-card:focus-within .contact-inner,.contact-card.flipped .contact-inner{transform:translateY(-3px) rotateY(180deg)}.contact-front,.contact-back{position:absolute;inset:0;border-radius:20px;padding:16px;background:linear-gradient(135deg,#449ad3ef,#4fa1d9e0);color:#fff;backface-visibility:hidden;box-shadow:0 6px 20px #27749c19,inset 0 1px 0 #ffffff44;display:flex;align-items:center;gap:12px}.contact-avatar{width:55px;height:55px;border-radius:50%;object-fit:cover;border:2px solid #ffffff80}.contact-name{display:flex;align-items:center;gap:6px;font-weight:500}.contact-name svg{width:15px;height:15px;fill:#ffffffee}.contact-front small{display:block;color:#e8f5ff;font-size:11px;margin-top:2px}.contact-front .channel{font-size:9px;opacity:.8}.contact-back{transform:rotateY(180deg);display:block;padding:11px 16px}.contact-back b{font-size:12px;font-weight:500}.contact-back a{color:#fff;font-size:10px}.contact-back .contact-write{display:inline-flex;align-items:center;background:#ffffff22;border:1px solid #ffffff44;border-radius:999px;padding:5px 10px;margin:7px 5px 0 0;font-weight:500}.contact-back p{font-size:10px;color:#e8f5ff;margin:1px 0 0}.contact-flip{position:absolute;inset:0;background:transparent;border:0;border-radius:20px;box-shadow:none;min-height:0;padding:0;cursor:pointer}.contact-flip:hover{background:transparent;transform:none;box-shadow:none}
body.login-page{display:grid;place-items:center;padding:24px;min-height:100dvh}body.login-page .card{width:min(490px,100%);padding:45px 40px;background:#ffffff52;text-align:center;border:1px solid #ffffff8c;border-radius:28px;box-shadow:0 22px 70px #3a302b0c,inset 0 1px 0 #ffffffbb}body.login-page .mark{margin:0 auto;width:48px;height:48px;background:none;box-shadow:none}body.login-page .mark img{width:48px;height:48px}body.login-page h1{font-size:36px;font-weight:520;letter-spacing:-1.2px;margin:20px 0 13px}body.login-page h1 p{color:var(--text);margin:0;line-height:1.2}body.login-page .card>p{font-size:14px;color:var(--muted);line-height:1.65;margin:0 0 27px}#googleButton{display:flex;justify-content:center;min-height:44px}body.login-page #status{color:var(--muted);font-size:12px;min-height:36px;margin-top:20px}body.login-page .safe{color:#8a8691;border-color:var(--line);font-size:11px;margin-top:14px;padding-top:20px}body.login-page #legal{background:#ffffff44;border-color:var(--line);text-align:left;padding:17px;border-radius:18px}body.login-page #legal h2{font-size:18px}body.login-page #legal p{color:var(--muted)}body.login-page .legal-row{color:#56545f;font-size:12px}body.login-page .legal-row.optional{border-color:var(--line)}body.login-page .legal-row input{width:17px;height:17px;margin-top:3px}body.login-page .error{color:var(--red)!important}#totp.show{display:flex;gap:12px}#totp input{text-align:center;width:100%;font-size:20px;letter-spacing:.25em}.font-weight-title{margin:0;white-space:nowrap}.font-weight-title span{display:inline-block;white-space:pre}
body.admin-page .wrap{max-width:1500px;width:calc(100% - 76px);padding:24px 0 60px;margin:auto}body.admin-page .top{background:#ffffff45;border:1px solid #ffffff88;backdrop-filter:blur(18px);padding:18px 22px;border-radius:24px}body.admin-page .brand{white-space:normal;font-size:18px}body.admin-page .top h1{font-size:25px;letter-spacing:-.6px}body.admin-page .eyebrow{color:var(--muted);font-size:10px;letter-spacing:.1em}body.admin-page .metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}body.admin-page .metric{padding:22px}body.admin-page .metric small{text-transform:none;letter-spacing:0;font-size:12px}body.admin-page .metric strong{font-size:32px;font-weight:600}body.admin-page .card:has(table){padding:0;overflow:hidden}body.admin-page .section-head{padding:22px;margin:0}body.admin-page .table-wrap{border:0;border-radius:0;box-shadow:none}body.admin-page .actions{gap:12px}body.admin-page .table-wrap button{font-size:11px;min-height:32px;padding:7px 10px}body.admin-page td:first-child{text-align:left}.document-page main{background:#ffffff80;border-color:#ffffffaa;box-shadow:var(--shadow);color:var(--text);border-radius:24px;backdrop-filter:blur(18px)}.document-page p,.document-page li{color:#56545f}.document-page a{color:var(--violet2)}.document-page aside{background:#e4a43b15;color:#8c641e;border-color:#e4a43b}
@keyframes statusBreath{0%{transform:scale(1);opacity:.3}75%,100%{transform:scale(2.6);opacity:0}}@keyframes menuEnter{from{opacity:0;transform:translateY(-5px) scale(.985);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}@keyframes modalEnter{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}@keyframes pageEnter{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes veilEnter{from{opacity:0}to{opacity:1}}
@media(min-width:1500px){.workspace-bar{gap:24px}.nav button{padding:10px 17px}.nav{margin-left:auto;margin-right:auto}}@media(max-width:1500px){.workspace-bar{flex-wrap:wrap;gap:14px}.workspace-bar>.nav{order:3;width:100%;justify-content:center}.workspace-bar>.head-actions{margin-left:auto}.nav button{flex:1;justify-content:center}.profile-button b{max-width:130px}.main{padding-top:16px}.top{margin-top:9px}.cycle-board-layout{grid-template-columns:146px 170px minmax(0,1fr);gap:20px}}
@media(max-width:1000px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard{grid-template-columns:1fr}.dashboard-stack{min-width:0}.cycle-board-layout{grid-template-columns:146px minmax(0,1fr)}.operation-strip{grid-column:1/-1;border-left:0;padding:20px 0 0;border-top:1px solid var(--line)}.settings-grid{grid-template-columns:1fr}.wide-card{grid-column:auto}.live-checklist{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1fr}.catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.workspace-bar,.workspace-footer{width:calc(100% - 32px)}.workspace-bar{margin-top:14px}.brand{font-size:18px}.brand .logo,.brand .logo img{width:30px;height:30px}.profile-button b,.profile-button small{display:none}.profile-button{padding-left:0}.head-actions{gap:9px}.sync-state{display:none}.nav{justify-content:flex-start!important;width:100%;border-radius:24px}.nav button{flex:0 0 auto;padding:9px 15px}.main{padding:18px 16px 26px}.top h1{font-size:28px}.top{margin:4px 0 22px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi{padding:16px;min-height:112px}.kpi small{padding-left:0;font-size:11px;padding-right:22px}.kpi:before{left:auto;right:12px;top:14px;width:20px;height:20px}.kpi strong{font-size:25px}.card{padding:18px}.cycle-board-layout{gap:15px;grid-template-columns:124px minmax(0,1fr)}.cycle-ring{width:120px;height:120px;padding:11px}.cycle-ring strong{font-size:28px}.cycle-legend>div{font-size:10px;gap:6px}.cycle-board h2{font-size:18px}.operation-strip h3{margin-bottom:20px}.compare-row{grid-template-columns:90px minmax(0,1fr) 90px;gap:9px}.compare-value b{font-size:11px}.modal{padding:12px}.dialog{max-height:calc(100dvh - 24px);padding:19px}.modal-foot .member-actions{width:100%;justify-content:flex-end}.catalog-row{grid-template-columns:20px 40px minmax(0,1fr)}.catalog-row>span:last-child{display:none}.catalog{max-height:32vh}.dialog-actions{gap:12px}.member-actions button{max-width:100%}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.actions:has(#couponCode){grid-template-columns:1fr;gap:16px}.workspace-footer{align-items:flex-start;margin-bottom:20px}.footer-copy{max-width:100%}body.admin-page .wrap{width:calc(100% - 32px)}body.admin-page .top{align-items:flex-start}body.admin-page .metrics{grid-template-columns:1fr 1fr}.legal-mini{font-size:10px}body.login-page .card{padding:32px 23px}body.login-page h1{font-size:32px}.contact-card{width:268px;max-width:100%}.profile-popover{top:58px}.header-alert{top:calc(100% + 4px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition-property:opacity!important;transition-duration:.12s!important}.contact-card:hover .contact-inner,.contact-card:focus-within .contact-inner,.contact-card.flipped .contact-inner{transform:none}.contact-back{transform:none;opacity:0;pointer-events:none}.contact-card:hover .contact-back,.contact-card:focus-within .contact-back,.contact-card.flipped .contact-back{opacity:1;pointer-events:auto}.contact-card:hover .contact-front,.contact-card:focus-within .contact-front,.contact-card.flipped .contact-front{opacity:0}.font-weight-title span{font-variation-settings:'wght' 520!important}}

/* Keep the legal links in a readable column and reserve the right side for Telegram. */
.workspace-footer{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important;justify-content:initial!important}.footer-links{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:6px!important}.contact-card{justify-self:end!important}
.product-toolbar{width:100%;align-items:center;flex-wrap:nowrap}.product-toolbar .search{order:1;flex:1 1 auto!important;max-width:none!important;min-width:0;width:auto}.product-toolbar .select-shell,.product-toolbar select{order:2;flex:0 0 190px}.product-toolbar .toolbar-add{order:3;flex:0 0 auto;margin-left:auto}
#page-products>.section-head:has(#addProduct){transform:translateY(62px);position:relative;z-index:4}
@media(max-width:700px){.product-toolbar{flex-wrap:wrap}.product-toolbar .search{flex:1 1 100%;max-width:none;order:1}.product-toolbar .select-shell,.product-toolbar select{order:2;flex:1 1 100%;width:100%!important}.product-toolbar .toolbar-add{order:3;margin-left:auto}}
@media(max-width:700px){#page-products>.section-head:has(#addProduct){transform:none}}

/* Day / night control, adapted from the calm physical-switch idea on Uiverse. */
.theme-toggle{position:relative;width:76px;min-width:76px;height:38px;min-height:38px;padding:0;border:1px solid #ffffffa8;border-radius:999px;overflow:hidden;background:linear-gradient(135deg,#d8ebff,#f7e8c4);box-shadow:inset 0 2px 8px #6e8ba21d,0 5px 17px #4e454019;isolation:isolate}.theme-toggle:hover{transform:translateY(-1px);background:linear-gradient(135deg,#cfe6ff,#f8e2ac);box-shadow:inset 0 2px 8px #6e8ba21d,0 8px 20px #4e454021}.theme-toggle:active{transform:scale(.975)}.theme-sky{position:absolute;inset:0;display:block;transition:background .45s ease}.theme-sun,.theme-moon{position:absolute;top:9px;width:19px;height:19px;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7;transition:opacity .32s,transform .45s}.theme-sun{left:10px;stroke:#b27a18;opacity:.85}.theme-moon{right:9px;stroke:#fff;opacity:.25;transform:translateX(3px) rotate(8deg)}.theme-orb{position:absolute;z-index:2;left:4px;top:4px;width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 18%,#fff2bd 45%,#f2bd62 100%);box-shadow:0 2px 8px #8b651e32,inset -2px -2px 5px #b27a1822;transition:transform .46s cubic-bezier(.2,.8,.2,1),background .35s,box-shadow .35s}.theme-orb i,.theme-orb b{position:absolute;opacity:0;transition:opacity .25s;background:#7477a321;border-radius:50%}.theme-orb i{width:7px;height:7px;left:7px;top:7px}.theme-orb b{width:5px;height:5px;right:5px;bottom:6px}.theme-star{position:absolute;z-index:1;width:2px;height:2px;border-radius:50%;background:#fff;opacity:0;transform:scale(.4);transition:opacity .3s,transform .45s}.theme-star.one{left:13px;top:9px}.theme-star.two{left:23px;bottom:8px;width:1.5px;height:1.5px}.theme-star.three{left:8px;bottom:12px;width:1px;height:1px}.theme-floating{position:fixed;z-index:40;right:24px;top:24px}.document-page header .theme-toggle{margin-left:auto}.admin-page .theme-toggle{flex-shrink:0}

[data-theme=dark]{color-scheme:dark;--bg:#111217;--panel:rgba(31,32,39,.72);--panel2:#212229;--line:rgba(255,255,255,.10);--text:#f3f1f7;--muted:#aaa7b2;--violet:#9b84ff;--violet2:#b39dff;--green:#62d6a6;--amber:#f2bd62;--red:#ff858d;--shadow:0 10px 35px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.07)}
[data-theme=dark] body{background:radial-gradient(ellipse at 12% 0%,#3a3030 0,transparent 44%),radial-gradient(ellipse at 87% 12%,#42385d7a,transparent 42%),#111217;color:var(--text)}
[data-theme=dark] body:before{background:linear-gradient(115deg,transparent 12%,#ffffff08 12.3%,transparent 25%,#bca8ff08 25.3%,transparent 42%)}
[data-theme=dark] .theme-toggle{border-color:#4a4b5b;background:linear-gradient(135deg,#181a2b,#333552);box-shadow:inset 0 2px 9px #0007,0 7px 20px #0004}
[data-theme=dark] .theme-toggle:hover{background:linear-gradient(135deg,#151728,#3b3d5c);box-shadow:inset 0 2px 9px #0008,0 8px 22px #0005}
[data-theme=dark] .theme-orb{transform:translateX(38px);background:radial-gradient(circle at 34% 28%,#f5f2ff 0 18%,#c9c5dd 48%,#868aa8 100%);box-shadow:0 2px 9px #0008,inset -3px -2px 6px #393d5b55}
[data-theme=dark] .theme-orb i,[data-theme=dark] .theme-orb b{opacity:1}
[data-theme=dark] .theme-star{opacity:.82;transform:scale(1)}
[data-theme=dark] .theme-sun{opacity:.18;transform:translateX(-3px) rotate(-15deg)}
[data-theme=dark] .theme-moon{opacity:.88;transform:none}
[data-theme=dark] a{color:#baa7ff}
[data-theme=dark] button,[data-theme=dark] .btn{background:#292a32;color:var(--text);border-color:var(--line);box-shadow:inset 0 1px 0 #ffffff0d}
[data-theme=dark] button:hover,[data-theme=dark] .btn:hover{background:#33343e;border-color:#776b9b66;box-shadow:0 7px 18px #0003}
[data-theme=dark] button.primary,[data-theme=dark] .btn.primary{background:linear-gradient(180deg,#9178fa,#6f59d2);color:#fff;border-color:#a58fff44;box-shadow:inset 0 1px 0 #ffffff30,0 7px 18px #5742bb44}
[data-theme=dark] button.danger,[data-theme=dark] .btn.danger{color:#ff9da5;background:#38262a;border-color:#ff858d24}
[data-theme=dark] .ghost{background:#27282f;color:#c3c0c9}
[data-theme=dark] input:not([type=checkbox]),[data-theme=dark] select,[data-theme=dark] textarea,[data-theme=dark] .control,[data-theme=dark] .cell-input,[data-theme=dark] .field input,[data-theme=dark] .field select{background:#1c1d23;color:var(--text);border-color:#ffffff16;box-shadow:inset 0 1px 0 #ffffff08}
[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#7f7d88}
[data-theme=dark] .cell-input:disabled{background:#25262d;color:#97949e}
[data-theme=dark] .nav{background:#202127d9;border-color:#ffffff0e}
[data-theme=dark] .nav button{color:#b9b6c0!important;background:transparent!important}
[data-theme=dark] .nav button:hover{color:#fff!important}
[data-theme=dark] .nav button.active{color:#fff!important}
[data-theme=dark] .nav-indicator{background:#6f59d2;box-shadow:0 4px 14px #0005,inset 0 1px 0 #ffffff20}
[data-theme=dark] .refresh-btn{background:#292a35!important;color:#f5f2fa!important;border-color:#ffffff13!important;box-shadow:inset 0 1px 0 #ffffff0b!important}
[data-theme=dark] .sync-copy b,[data-theme=dark] .sync-copy small{color:#aaa7b2}
[data-theme=dark] .profile-avatar{background:#3d354e;color:#d4c7ff;border-color:#ffffff12}
[data-theme=dark] .profile-popover,[data-theme=dark] .select-menu{background:#24252ced;border-color:#ffffff14;box-shadow:0 18px 50px #0008}
[data-theme=dark] .profile-popover a:hover,[data-theme=dark] .profile-popover button:hover,[data-theme=dark] .select-option:hover,[data-theme=dark] .select-option.selected{background:#9b84ff18;color:#c7b9ff}
[data-theme=dark] .select-button{background:#1c1d23;color:#f3f1f7;border-color:#ffffff16}
[data-theme=dark] .select-button i{border-color:#aaa7b2}
[data-theme=dark] .header-alert{background:#3a2227;border-color:#ff858d55;box-shadow:0 12px 32px #0005}
[data-theme=dark] .header-alert b,[data-theme=dark] .header-alert svg{color:#ff9ba3;stroke:#ff9ba3}
[data-theme=dark] .header-alert small{color:#dcb8bb}
[data-theme=dark] .card,[data-theme=dark] .surface,[data-theme=dark] .table-wrap,[data-theme=dark] .schedule-item,[data-theme=dark] .dialog,[data-theme=dark] .loader-card{background:var(--panel);border-color:#ffffff0e;color:var(--text);box-shadow:var(--shadow)}
[data-theme=dark] .card:hover{border-color:#ffffff1d;box-shadow:0 13px 40px #0005,inset 0 1px 0 #ffffff0c}
[data-theme=dark] .kpi:before{background:#9b84ff1c;color:#baa7ff}
[data-theme=dark] .cycle-ring{background:conic-gradient(var(--violet) var(--cycle-angle,0deg),#383940 0);box-shadow:inset 0 1px 5px #0006}
[data-theme=dark] .cycle-ring>div{background:#202127;box-shadow:inset 0 2px 7px #0004}
[data-theme=dark] .bar-line{background:#ffffff12}
[data-theme=dark] .bar-line.median i{background:#62c9a0}
[data-theme=dark] .upcoming-item,[data-theme=dark] .check-item,[data-theme=dark] .token-box,[data-theme=dark] .catalog-row{background:#ffffff06;border-color:#ffffff0d}
[data-theme=dark] .catalog-row:hover{background:#ffffff0c;border-color:#9b84ff55}
[data-theme=dark] table th,[data-theme=dark] .table th,[data-theme=dark] .rules-table th,[data-theme=dark] .member-table th{background:#202127f2;color:#b7b4be}
[data-theme=dark] table td,[data-theme=dark] .table td,[data-theme=dark] .rules-table td,[data-theme=dark] .member-table td{border-top-color:#ffffff0a;color:#e9e6ee}
[data-theme=dark] table tbody tr:hover td,[data-theme=dark] .table tr:hover td{background:#ffffff08}
[data-theme=dark] .photo{background:#292a31;border-color:#ffffff10}
[data-theme=dark] .badge,[data-theme=dark] .pill{background:#9b84ff1c;color:#c7b9ff}
[data-theme=dark] .switch{background:#4a4b54}
[data-theme=dark] .switch:hover{background:#555661}
[data-theme=dark] .switch[aria-checked=true],[data-theme=dark] .switch[aria-checked=true]:hover{background:#8066f6}
[data-theme=dark] .modal,[data-theme=dark] .loader{background:#090a0dd1}
[data-theme=dark] .loader-card,[data-theme=dark] .dialog{background:#202127f7}
[data-theme=dark] .track{background:#393a43}
[data-theme=dark] .toast{background:#183229;color:#8de2b9;border-color:#62d6a644}
[data-theme=dark] .toast.error{background:#3a2227;color:#ffabb2;border-color:#ff858d44}
[data-theme=dark] .email-hint{background:#4a371b;border-color:#e4a43b66;color:#f3cc82}
[data-theme=dark] .avatar{background:#413653;color:#d8caff}
[data-theme=dark] .avatar.pending{background:#34353d;color:#aaa7b2}
[data-theme=dark] .contact-front,[data-theme=dark] .contact-back{box-shadow:0 9px 25px #0004,inset 0 1px 0 #ffffff30}
[data-theme=dark] body.login-page .card{background:#202127c9;border-color:#ffffff12;box-shadow:0 25px 80px #0006,inset 0 1px 0 #ffffff0b}
[data-theme=dark] body.login-page #legal{background:#ffffff06;border-color:#ffffff10}
[data-theme=dark] body.login-page .legal-row{color:#d0cdd6}
[data-theme=dark] body.login-page .safe{color:#aaa7b2}
[data-theme=dark] body.admin-page .top{background:#202127b8;border-color:#ffffff0e}
[data-theme=dark] .document-page main{background:#202127e8;border-color:#ffffff10;color:var(--text)}
[data-theme=dark] .document-page p,[data-theme=dark] .document-page li{color:#c3c0c9}
[data-theme=dark] .document-page aside{background:#4a371b;color:#f3cc82;border-color:#e4a43b}

@media(max-width:700px){.theme-floating{right:16px;top:16px}.theme-toggle{width:70px;min-width:70px;height:36px;min-height:36px}.theme-orb{width:28px;height:28px;top:4px}[data-theme=dark] .theme-orb{transform:translateX(34px)}}
@media(prefers-reduced-motion:reduce){.theme-toggle *{transition:none!important}}

/* Final responsive refinements: compact controls, safe contact card and schedule picker. */
.footer-links{flex-direction:row!important;gap:0!important}.footer-links a+a:before{content:' / ';color:var(--muted);margin:0 8px}.contact-card{width:min(360px,100%)!important;height:132px!important}.contact-back{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto 1fr;column-gap:8px;align-items:start;overflow:hidden}.contact-back>b,.contact-back>p{grid-column:1/-1}.contact-back .contact-write{width:100%;min-width:0;min-height:30px;margin:6px 0 0;padding:6px 5px;justify-content:center;white-space:normal;overflow-wrap:anywhere;line-height:1.15}.schedule-new{display:none!important}.existing-times{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.existing-times>small{grid-column:1/-1}.schedule-existing-row{min-width:0}.schedule-existing{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.time-picker{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center}.time-picker select{width:100%;min-height:48px;padding:9px 14px;border:1px solid color-mix(in srgb,var(--violet) 38%,var(--line));border-radius:999px;background:linear-gradient(135deg,color-mix(in srgb,var(--violet) 18%,var(--surface)),var(--surface-soft));color:var(--text);font-size:18px;font-weight:650;text-align:center;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}.time-picker select:hover,.time-picker select:focus{border-color:var(--violet);box-shadow:0 0 0 4px var(--violet-soft);transform:translateY(-1px);outline:none}.time-picker>span{font-size:24px;font-weight:800;color:var(--violet2)}
@media(max-width:700px){.footer-links{flex-direction:column!important;gap:6px!important}.footer-links a+a:before{content:none}.contact-card{width:min(100%,360px)!important;height:132px!important}.existing-times{grid-template-columns:1fr}.existing-times>small{grid-column:1}.time-picker select{min-height:44px;font-size:16px}.workspace-footer{grid-template-columns:1fr!important}.contact-card{justify-self:start!important}}
body.admin-page th,body.admin-page td{text-align:center!important;vertical-align:middle!important}body.admin-page td:first-child{text-align:center!important}.admin-page .table-wrap table{table-layout:auto}.admin-page .actions{justify-content:center!important;align-items:center!important;flex-wrap:nowrap!important;white-space:nowrap}.admin-page .mode-actions{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:nowrap}.admin-page .mode-btn{min-width:76px;text-align:center;white-space:nowrap}.admin-page .table-wrap button{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.icon-danger,.schedule-existing-remove{color:#ff5968!important;border-color:#ff596855!important;background:color-mix(in srgb,#ff5968 12%,transparent)!important}.icon-danger:hover,.schedule-existing-remove:hover{color:#fff!important;background:#e94355!important;border-color:#ff7180!important;box-shadow:0 8px 18px #e9435544!important;transform:translateY(-1px)}

/* Small refinements requested after the first light release. */
body.login-page .card{width:min(560px,100%);padding-left:46px;padding-right:46px}
.main>.top{display:none}.main{padding-top:22px}.page>.section-head{margin-top:0}.chart-head>.status-dot{display:none}
.kpi{text-align:center}.kpi small{padding:28px 0 0;color:color-mix(in srgb,var(--text) 72%,var(--muted));font-size:13px;font-weight:500}.kpi:before,.kpi:nth-child(n):before{left:50%;top:13px;transform:translateX(-50%)}
.nav button{min-width:max-content}
@media(max-width:1500px){.workspace-bar>.nav{justify-content:center}.nav button{flex:0 0 auto}}
.brand .logo img,body.login-page .mark img{animation:brandTurn 7s ease-in-out infinite!important;transform-origin:50% 50%}
.font-weight-title{cursor:default}
@keyframes brandTurn{0%,100%{transform:perspective(140px) rotateY(-5deg) rotateZ(-1deg)}50%{transform:perspective(140px) rotateY(8deg) rotateZ(1deg)}}
@media(prefers-reduced-motion:reduce){.brand .logo img,body.login-page .mark img{animation:none!important}}

/* Subscription and billing 0.12 */
.subscription-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.subscription-safety{display:grid;gap:5px;margin-top:18px;padding:14px 16px;border-radius:16px;background:color-mix(in srgb,var(--mint) 10%,transparent);border:1px solid color-mix(in srgb,var(--mint) 28%,transparent)}.subscription-safety b{color:var(--mint-deep)}.subscription-safety span{color:var(--muted);font-size:12px}.tariff-title{margin-top:30px}.promo-entry{display:grid;grid-template-columns:minmax(220px,320px);gap:5px}.promo-entry small{color:var(--muted);text-align:right}.tariff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:18px}.tariff-card{position:relative;display:grid;grid-template-rows:auto auto auto auto;gap:18px;min-height:340px;padding:25px;border:1px solid var(--line);border-radius:26px;background:var(--surface);box-shadow:var(--shadow-soft)}.tariff-card.featured{border-color:color-mix(in srgb,var(--violet) 55%,var(--line));box-shadow:0 22px 55px color-mix(in srgb,var(--violet) 20%,transparent)}.tariff-popular{position:absolute;top:15px;right:15px;padding:6px 10px;border-radius:999px;background:var(--violet-soft);color:var(--violet-deep);font-size:10px;font-weight:800}.tariff-card>div{display:grid;gap:6px}.tariff-card small{color:var(--muted);font-weight:700}.tariff-card strong{font-size:34px;line-height:1.05}.tariff-card>div span{color:var(--muted)}.tariff-card ul{display:grid;gap:10px;margin:0;padding:0;list-style:none;color:var(--muted)}.tariff-card li:before{content:'✓';margin-right:9px;color:var(--mint-deep);font-weight:900}.tariff-saving{margin:0;color:var(--mint-deep);font-weight:800}.tariff-card .btn{width:100%;align-self:end}.payment-unavailable{display:block;text-align:center}.payment-history{margin-top:18px}.payment-history .section-head{margin-bottom:8px}.old-amount{display:block;color:var(--muted);text-decoration:line-through}.coupon-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;margin-top:24px}
@media(max-width:900px){.subscription-summary,.tariff-grid{grid-template-columns:1fr}.promo-entry{width:100%}.tariff-title{align-items:flex-start;flex-direction:column}}

body.admin-page .top>.actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}body.admin-page .top>.actions button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;line-height:1.1;white-space:nowrap}body.admin-page .admin-coupons{margin-top:20px;overflow:hidden}body.admin-page .audit-head{margin-top:12px;border-top:1px solid var(--line)}body.admin-page .coupon-result{padding:18px;border:1px dashed var(--violet);border-radius:16px;background:var(--violet-soft);color:var(--violet-deep);font-size:22px;font-weight:850;letter-spacing:.08em;text-align:center;user-select:all}body.admin-page [hidden]{display:none!important}

/* Eldora-inspired wordmark motion, implemented without a React runtime. */
.brand-motion{display:inline-flex;align-items:baseline;white-space:nowrap;perspective:180px}.brand-motion>span{display:inline-block;opacity:0;filter:blur(10px);transform:translateY(5px) scale(.94);transform-origin:50% 70%;transition:opacity .7s ease calc(var(--letter-index)*45ms),filter .8s ease calc(var(--letter-index)*45ms),transform .42s cubic-bezier(.2,.75,.25,1);will-change:transform,filter}.brand-motion.motion-ready>span{opacity:1;filter:blur(0);transform:translateY(var(--letter-lift,0px)) scale(var(--letter-scale,1))}.workspace-bar .brand-motion{font-size:19px;font-weight:720}body.login-page .brand-motion{justify-content:center;font-size:36px;font-weight:720;letter-spacing:-.045em}

/* Sparse Animata-inspired shooting sky. It exists only in dark mode. */
.shooting-sky{display:none;pointer-events:none;position:fixed;inset:0;overflow:hidden;z-index:0;background:radial-gradient(60% 45% at 50% 35%,#4d4f9942,transparent 72%)}[data-theme=dark] .shooting-sky{display:block}.sky-dot{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:50%;background:#fff;opacity:.48;animation:skyTwinkle var(--twinkle) ease-in-out var(--delay) infinite}.sky-shoot{position:absolute;left:var(--start-x);top:var(--start-y);width:150px;height:1.5px;border-radius:999px;background:linear-gradient(90deg,transparent,#bbb3ff 72%,#fff);box-shadow:55px 0 15px #aba0ff99;opacity:0;transform:rotate(27deg);animation:skyShoot var(--shoot-time) cubic-bezier(.4,0,.7,1) var(--shoot-delay) infinite;animation-iteration-count:infinite}.workspace-page .shell,body.login-page .card,body.admin-page .wrap{position:relative;z-index:1}@keyframes skyTwinkle{50%{opacity:.12;transform:scale(.7)}}@keyframes skyShoot{0%,76%{opacity:0;transform:translate3d(0,0,0) rotate(27deg)}78%{opacity:.85}88%{opacity:.75}94%,100%{opacity:0;transform:translate3d(var(--travel-x),var(--travel-y),0) rotate(27deg)}}

/* Cursor-following ripple for sign-in and contact actions. */
.ripple-target{position:relative!important;overflow:hidden!important;isolation:isolate}.ripple-target>*:not(.ripple-wave){position:relative;z-index:2}.ripple-wave{position:absolute!important;z-index:1!important;pointer-events:none!important;border-radius:50%;background:radial-gradient(circle,#9d77f0aa 0,#7c59d15c 42%,transparent 72%);opacity:0;transform:scale(0);transition:transform .32s ease-out,opacity .32s ease-out}.ripple-wave.active{opacity:1;transform:scale(1)}#googleButton.ripple-target{border-radius:999px;box-shadow:0 10px 34px #7658b522}#googleButton.ripple-target iframe{position:relative;z-index:3}

/* Product rule and per-product schedule controls. */
.rule-choice-list{display:grid;gap:10px;max-height:360px;overflow:auto}.rule-choice{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft);cursor:pointer}.rule-choice:has(input:checked){border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-soft)}.rule-choice input{accent-color:var(--violet)}.rule-choice b,.rule-choice small{display:block}.rule-choice small{margin-top:3px;color:var(--muted)}.rule-product-button{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-chips{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;min-width:118px}.schedule-chip,.schedule-add{display:inline-grid;place-items:center;min-height:30px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--text);font-size:11px;cursor:pointer}.schedule-chip:hover,.schedule-add:hover{border-color:var(--violet);color:var(--violet-deep)}.schedule-add{width:30px;padding:0;font-size:18px}.icon-danger{display:inline-grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid color-mix(in srgb,var(--red) 35%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--red) 9%,transparent);color:var(--red);cursor:pointer}.icon-danger svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.clock-picker{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:center}.clock-picker>span{font-size:28px;font-weight:700}.clock-picker small{display:block;margin-bottom:7px;text-align:center;color:var(--muted)}.clock-values{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;max-height:145px;padding:7px;overflow:auto;scroll-snap-type:y proximity;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}.clock-values.minutes{grid-template-columns:1fr}.clock-values button{min-height:34px;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer;scroll-snap-align:center}.clock-values button:hover,.clock-values button.selected{background:var(--violet-soft);color:var(--violet-deep);font-weight:800}

/* Profile and team pictures. */
.profile-avatar,.avatar,.avatar-preview{overflow:hidden;flex:0 0 auto}.profile-avatar img,.avatar img,.avatar-preview img{display:block;width:100%;height:100%;object-fit:cover}.avatar-editor{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:14px;margin:16px 0;padding:13px;border:1px solid var(--line);border-radius:18px;background:var(--surface-soft)}.avatar-preview{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--violet-soft);color:var(--violet-deep);font-size:20px;font-weight:800;border:2px solid color-mix(in srgb,var(--violet) 22%,#fff)}.avatar-editor b,.avatar-editor small{display:block}.avatar-editor small{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.45}.invite-avatar-editor{margin-top:18px}.profile-button .profile-avatar{padding:0}
[data-theme=dark] .avatar-editor{background:#ffffff05;border-color:#ffffff10}[data-theme=dark] .avatar-preview{border-color:#ffffff16}
@media(max-width:640px){.avatar-editor{grid-template-columns:48px 1fr}.avatar-preview{width:48px;height:48px}.avatar-editor>button{grid-column:1/-1;width:100%}}
@media(prefers-reduced-motion:reduce){.brand-motion>span{opacity:1;filter:none;transform:none;transition:none}.shooting-sky{display:none!important}.ripple-wave{display:none}}

/* 0.12.1 polish: compact metrics, direct scheduling and consistent controls. */
.nav{gap:4px}.nav button{text-transform:uppercase;letter-spacing:.035em;font-size:11px;font-weight:650}
.kpi{min-height:104px;padding:15px 17px;text-align:left}.kpi:before{display:none!important}.kpi-heading{display:flex;align-items:center;gap:10px;min-width:0}.kpi-heading small{min-height:0;padding:0!important;line-height:1.25;font-size:12px;font-weight:650}.kpi-icon{display:grid;place-items:center;width:29px;height:29px;flex:0 0 29px;border-radius:9px;background:var(--violet-soft);color:var(--violet-deep)}.kpi-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.kpi:nth-child(2) .kpi-icon{background:#dff5ec;color:#278d68}.kpi:nth-child(5) .kpi-icon{background:color-mix(in srgb,var(--amber) 14%,transparent);color:var(--amber)}.kpi strong{margin-top:8px;font-size:27px}
#page-products th{white-space:nowrap}#page-products td:nth-child(2) b{display:block;max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-button{max-width:180px}.profile-popover{display:grid;gap:5px}.profile-popover[hidden]{display:none}.profile-popover a,.profile-popover button{min-height:42px;align-items:center;justify-content:center!important;text-align:center!important;line-height:1.2}.profile-popover .admin-link{display:flex!important;margin:0!important;padding:10px 13px!important;border:0!important;background:transparent!important;color:var(--violet-deep)!important}.profile-popover .admin-link .nav-icon{display:none!important}
.schedule-context{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}.schedule-context span,.schedule-context b,.schedule-context small{display:block}.schedule-context small{margin-top:3px;color:var(--muted)}.field-help{display:block;margin-top:7px;color:var(--muted);font-size:10px;line-height:1.45}.existing-times{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px}.existing-times>small{width:100%;color:var(--muted)}.existing-times>span{display:inline-flex;padding:5px 8px;border-radius:999px;background:var(--violet-soft);color:var(--violet-deep);font-size:10px}.existing-times>span.is-current{outline:1px solid var(--violet);font-weight:700}.input-error{border-color:var(--red)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--red) 12%,transparent)!important}.clock-picker{display:none!important}
.median-plot-svg{display:block;width:100%;height:auto;min-height:210px;overflow:visible}.median-plot-svg>line{stroke:var(--line);stroke-width:1}.median-plot-svg text{fill:var(--muted);font-size:10px;text-anchor:end}.median-plot-svg .product-label{text-anchor:middle}.median-plot-svg .connector{stroke:#a49bbd;stroke-width:2;stroke-dasharray:4 4}.median-plot-svg circle.current{fill:var(--violet);filter:drop-shadow(0 3px 5px color-mix(in srgb,var(--violet) 36%,transparent))}.median-plot-svg circle.median{fill:var(--mint);stroke:var(--surface);stroke-width:2}.operation-strip,.operation-points{overflow:visible}.operation-points{overflow-x:auto;overflow-y:visible;padding:9px 0 12px}.operation-point:before{top:-6px}
.tariff-title{align-items:flex-end}.promo-entry{gap:9px}.promo-entry small{text-align:left;line-height:1.35}.coupon-actions{gap:26px}
.logo-3d-host{position:relative!important;display:grid!important;place-items:center!important;isolation:isolate;overflow:visible;animation:none!important;filter:drop-shadow(0 7px 12px color-mix(in srgb,var(--violet) 30%,transparent))!important}.logo-3d-host canvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block;cursor:grab;touch-action:none}.logo-3d-host canvas:active{cursor:grabbing}.logo-3d-host img[hidden]{display:none!important}.document-logo{position:relative;display:grid;width:38px;height:38px;flex:0 0 38px}
#googleButton{background:transparent!important;box-shadow:none!important;overflow:visible!important}
.contact-back .contact-write{color:#fff!important;text-decoration:none!important}.contact-back .contact-write:hover{background:#ffffff35;border-color:#ffffff70;color:#fff!important}
[data-theme=dark] .contact-back .contact-write{color:#fff!important;background:#ffffff20;border-color:#ffffff4d;text-shadow:0 1px 2px #0005}[data-theme=dark] .contact-back .contact-write:hover{color:#fff!important;background:#ffffff32}
[data-theme=dark] .kpi-icon{background:#9b84ff1f;color:#c4b5ff}[data-theme=dark] .schedule-context{background:#ffffff05;border-color:#ffffff10}[data-theme=dark] .median-plot-svg circle.median{stroke:#202127}
[data-theme=dark] .kpi:nth-child(2) .kpi-icon{background:#62d6a61f;color:#7de1ba}
@media(max-width:700px){.nav button{font-size:10px}.kpi{min-height:96px}.kpi-heading{align-items:flex-start}.kpi strong{font-size:24px}.schedule-context{align-items:flex-start}}

/* 0.12.2: profile trigger and every menu action share one spacing system. */
.profile-button{min-width:176px;max-width:220px;min-height:52px;padding:7px 18px 7px 9px!important;gap:11px;border:1px solid var(--line)!important;border-radius:18px;background:var(--surface-soft)!important;box-shadow:inset 0 1px 0 #ffffff70!important}.profile-button>span:last-child{display:block;min-width:0;padding-right:2px}.profile-button b{max-width:138px;font-size:13px;line-height:1.25}.profile-button small{margin-top:2px;line-height:1.2}.profile-button:hover{border-color:color-mix(in srgb,var(--violet) 24%,var(--line))!important;background:var(--surface)!important}
.profile-popover{min-width:270px;padding:12px;gap:8px}.profile-popover a,.profile-popover button,.profile-popover .admin-link{display:flex!important;width:100%;min-height:48px;margin:0!important;padding:11px 18px!important;align-items:center;justify-content:center!important;border:1px solid transparent!important;border-radius:14px!important;background:var(--surface-soft)!important;color:var(--text)!important;box-shadow:none!important;font-size:14px;font-weight:600;text-align:center!important;line-height:1.2;text-decoration:none!important;cursor:pointer}.profile-popover a:hover,.profile-popover button:hover,.profile-popover .admin-link:hover{transform:none;background:var(--violet-soft)!important;border-color:color-mix(in srgb,var(--violet) 22%,transparent)!important;color:var(--violet-deep)!important}.profile-popover .admin-link .nav-icon{display:none!important}
[data-theme=dark] .profile-button{background:#292a32!important;border-color:#ffffff12!important;box-shadow:inset 0 1px 0 #ffffff0d!important}[data-theme=dark] .profile-button:hover{background:#33343e!important;border-color:#776b9b66!important}[data-theme=dark] .profile-popover a,[data-theme=dark] .profile-popover button,[data-theme=dark] .profile-popover .admin-link{background:#2b2c34!important;color:#f4f1fa!important;border-color:#ffffff08!important}[data-theme=dark] .profile-popover a:hover,[data-theme=dark] .profile-popover button:hover,[data-theme=dark] .profile-popover .admin-link:hover{background:#9b84ff1d!important;color:#d7ceff!important;border-color:#9b84ff38!important}
@media(max-width:700px){.profile-button{min-width:46px;width:46px;max-width:46px;padding:5px!important}.profile-button>span:last-child{display:none}.profile-popover{right:0;min-width:min(270px,calc(100vw - 32px))}}

/* Login is a strict step-by-step flow: Google, agreements, then optional TOTP. */
body.login-page #legal,body.login-page #totp{display:none}
body.login-page #legal.show{display:block;margin-top:20px}
body.login-page #totp.show{display:flex;margin-top:18px;align-items:center;gap:12px}
body.login-page #totp input{min-width:0;flex:1}
body.login-page #totp button{flex:0 0 auto}
body.login-page .legal-row{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;margin:12px 0;line-height:1.5}
body.login-page .legal-row.optional{padding-top:12px;border-top:1px solid var(--line)}
body.login-page #acceptLegal{width:100%;margin-top:14px}

/* Large hero logo on authentication, with the same canvas animation as the app. */
body.login-page .mark,body.login-page .mark.logo-3d-host{width:94px;height:94px;margin:0 auto}
body.login-page .mark img{width:94px;height:94px}
@media(max-width:700px){body.login-page .mark,body.login-page .mark.logo-3d-host{width:82px;height:82px}body.login-page .mark img{width:82px;height:82px}}

/* 0.12.5 authentication motion: a single native Google button in an animated
   violet shell, followed by a functional six-slot Authenticator control. */
.google-auth-shell{position:relative;display:grid;place-items:center;isolation:isolate;width:min(356px,100%);min-height:50px;margin:0 auto;padding:3px;border-radius:999px;overflow:hidden;background:#fff;box-shadow:0 9px 25px #6650d81c;transition:transform .22s ease,box-shadow .22s ease}
.google-auth-shell[hidden]{display:none!important}.google-auth-shell:before{content:'';position:absolute;z-index:0;width:145%;aspect-ratio:1;left:-22%;top:50%;translate:0 -50%;background:conic-gradient(from 15deg,transparent 0 18%,#bbaaff 27%,#7e62f4 39%,#d8cfff 51%,transparent 62% 78%,#9678ff 91%,transparent);animation:googleBorderOrbit 6.5s linear infinite;opacity:.88}.google-auth-shell:after{content:'';position:absolute;z-index:1;inset:2px;border-radius:inherit;background:#fff}.google-auth-shell:hover{transform:translateY(-1px);box-shadow:0 12px 32px #7658b535}.google-auth-shell:hover:before{animation-duration:2.8s;opacity:1}.google-auth-shine{position:absolute;z-index:3;inset:3px;border-radius:inherit;overflow:hidden;pointer-events:none}.google-auth-shine:after{content:'';position:absolute;inset:-80% auto -80% -35%;width:22%;background:linear-gradient(90deg,transparent,#ffffffb8,transparent);transform:rotate(18deg);transition:left .65s cubic-bezier(.2,.75,.25,1)}.google-auth-shell:hover .google-auth-shine:after{left:115%}#googleButton{position:relative;z-index:2;width:350px;max-width:100%;min-height:44px;display:flex;align-items:center;justify-content:center}#googleButton>div,#googleButton iframe{max-width:100%}
@keyframes googleBorderOrbit{to{transform:rotate(360deg)}}

body.login-page #totp.show{display:grid;grid-template-columns:1fr;margin-top:20px;gap:15px;align-items:stretch}
body.login-page .otp-field{display:grid;gap:9px;text-align:left}body.login-page .otp-field>label{color:var(--text);font-size:13px;font-weight:650;text-align:center}body.login-page .otp-field>small{color:var(--muted);font-size:11px;text-align:center}
body.login-page .otp-control{position:relative;width:100%;max-width:374px;margin:0 auto;cursor:text}
body.login-page .otp-slots{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
body.login-page .otp-slots>span{position:relative;display:grid;place-items:center;aspect-ratio:.82;min-width:0;border:1px solid color-mix(in srgb,var(--violet) 14%,var(--line));border-radius:14px;background:#ffffff73;box-shadow:inset 0 1px 0 #ffffffb5,0 6px 18px #5d4b7a0c;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,background .2s ease}
body.login-page .otp-slots>span:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 120%,color-mix(in srgb,var(--violet) 24%,transparent),transparent 58%);opacity:0;transition:opacity .2s ease}
body.login-page .otp-slots>span:after{content:'';position:absolute;left:28%;right:28%;bottom:7px;height:2px;border-radius:99px;background:var(--violet);opacity:0;transform:scaleX(.3);transition:opacity .2s ease,transform .2s ease}
body.login-page .otp-slots b{position:relative;z-index:1;color:var(--text);font-size:22px;font-weight:720;font-variant-numeric:tabular-nums;line-height:1}
body.login-page .otp-slots>span.filled{border-color:color-mix(in srgb,var(--violet) 42%,var(--line));background:color-mix(in srgb,var(--violet) 7%,#fff)}body.login-page .otp-slots>span.filled:before{opacity:1}body.login-page .otp-slots>span.pop b{animation:otpDigitLand .24s cubic-bezier(.2,.85,.25,1)}
body.login-page #totp.focused .otp-slots>span.active{border-color:var(--violet);box-shadow:0 0 0 4px color-mix(in srgb,var(--violet) 13%,transparent),0 9px 23px color-mix(in srgb,var(--violet) 18%,transparent);transform:translateY(-2px)}body.login-page #totp.focused .otp-slots>span.active:after{opacity:1;transform:scaleX(1)}
body.login-page .otp-control #code{position:absolute;z-index:4;inset:0;width:100%;height:100%;margin:0;padding:0;border:0!important;border-radius:14px;background:transparent!important;box-shadow:none!important;color:transparent!important;caret-color:transparent;opacity:.015;letter-spacing:0;cursor:text}
body.login-page #confirm{justify-self:center;width:min(220px,100%);min-height:44px;background:linear-gradient(180deg,#8f76ff,#7357e4);border-color:#8066f64d;color:#fff;box-shadow:inset 0 1px 0 #ffffff52,0 8px 22px #6f55df2c}
body.login-page #totp.invalid .otp-slots{animation:otpReject .42s ease}body.login-page #totp.invalid .otp-slots>span{border-color:color-mix(in srgb,var(--red) 58%,var(--line))}
[data-theme=dark] .google-auth-shell{background:#202127;box-shadow:0 10px 32px #0005,0 0 0 1px #ffffff10}[data-theme=dark] .google-auth-shell:after{background:#202127}[data-theme=dark] .google-auth-shine:after{background:linear-gradient(90deg,transparent,#d9d0ff52,transparent)}
[data-theme=dark] body.login-page .otp-slots>span{background:#ffffff07;border-color:#ffffff12;box-shadow:inset 0 1px 0 #ffffff0a,0 8px 18px #0002}[data-theme=dark] body.login-page .otp-slots>span.filled{background:#9b84ff12;border-color:#9b84ff62}
@keyframes otpDigitLand{0%{opacity:.15;filter:blur(5px);transform:translateY(-9px) scale(.86)}100%{opacity:1;filter:none;transform:none}}@keyframes otpReject{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}100%{transform:none}}
@media(max-width:440px){body.login-page .otp-slots{gap:5px}body.login-page .otp-slots>span{border-radius:11px}body.login-page .otp-slots b{font-size:19px}}
@media(prefers-reduced-motion:reduce){.google-auth-shell:before{animation:none}.google-auth-shine{display:none}.google-auth-shell:hover{transform:none}body.login-page .otp-slots>span.pop b,body.login-page #totp.invalid .otp-slots{animation:none}}

/* Keep both Telegram actions inside the compact flip card. */
.contact-back{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto 1fr;column-gap:8px;align-items:start}
.contact-back>b,.contact-back>p{grid-column:1/-1}.contact-back .contact-write{width:100%;min-width:0;min-height:27px;margin:5px 0 0;padding:5px 4px;justify-content:center;white-space:nowrap;font-size:9px;line-height:1.1}

/* Keep the flip card stable while scrolling and never clip Telegram labels. */
.contact-card{width:360px!important;max-width:calc(100vw - 32px)!important;flex:0 1 360px!important}
.contact-back{box-sizing:border-box!important;overflow:hidden!important}
.contact-back .contact-write{display:flex!important;width:auto!important;max-width:100%!important;min-width:0!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important;text-align:center;font-size:10px!important;line-height:1.15;padding:7px 6px!important}
@media(max-width:420px){.contact-card{max-width:calc(100vw - 24px)!important}.contact-back{grid-template-columns:1fr!important;grid-template-rows:auto auto auto!important}.contact-back .contact-write{width:100%!important}}

/* Uiverse-inspired trash hover: the lid opens, the bin drops and a sheet spins in. */
.icon-danger{position:relative;overflow:hidden!important;isolation:isolate;transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}
.icon-danger:before{content:'▤';position:absolute;z-index:1;top:-13px;left:50%;font-size:10px;line-height:1;color:#fff;opacity:0;transform:translateX(-50%) rotate(-18deg);transition:opacity .16s ease,top .45s cubic-bezier(.2,.8,.2,1)}
.icon-danger .trash-svg{position:relative;z-index:2;transform-origin:50% 100%;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.icon-danger .trash-lid,.icon-danger .trash-handle,.icon-danger .trash-body{transform-box:fill-box;transform-origin:50% 100%;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.icon-danger:hover{background:#e94355!important;border-color:#ff7180!important;box-shadow:0 8px 18px #e9435544!important;transform:translateY(-1px)}
.icon-danger:hover:before{top:5px;opacity:1;animation:trashPaperSpin 1.4s ease-in-out .1s both}
.icon-danger:hover .trash-svg{transform:translateY(2px)}
.icon-danger:hover .trash-lid{transform:translateY(-3px) rotate(-13deg)}
.icon-danger:hover .trash-handle{transform:translateY(-5px) rotate(-16deg)}
.icon-danger:hover .trash-body{transform:translateY(2px)}
@keyframes trashPaperSpin{0%{opacity:0;transform:translateX(-50%) translateY(-3px) rotate(-18deg)}25%{opacity:1}70%{opacity:1;transform:translateX(-50%) translateY(2px) rotate(18deg)}100%{opacity:0;transform:translateX(-50%) translateY(7px) rotate(90deg)}}
@media(prefers-reduced-motion:reduce){.icon-danger:before{display:none}.icon-danger,.icon-danger .trash-svg,.icon-danger .trash-lid,.icon-danger .trash-handle,.icon-danger .trash-body{transition:none!important}.icon-danger:hover .trash-svg,.icon-danger:hover .trash-lid,.icon-danger:hover .trash-handle,.icon-danger:hover .trash-body{transform:none}}

/* Keep both faces of the contact card identical; the back only shows the actions. */
.contact-card,.contact-inner,.contact-front,.contact-back{width:360px!important;max-width:100%!important;height:132px!important;min-height:132px!important;max-height:132px!important;box-sizing:border-box!important}
.contact-back{grid-template-rows:auto 1fr!important;align-content:start!important}
.contact-back>p{display:none!important}
.contact-back .contact-write{align-self:center!important}
@media(max-width:420px){.contact-card,.contact-inner,.contact-front,.contact-back{width:100%!important}.contact-back{grid-template-rows:auto 1fr 1fr!important}}

/* Scheduling is opened only through the single «Настроить» action. */
.rule-schedule-cell .schedule-add{display:none!important}

/* Show an immediate fallback while the external Google Identity iframe loads. */
body.login-page #googleButton:before{content:'Вход через Google';display:block;color:var(--text);font-size:15px;font-weight:600;line-height:44px;text-align:center;white-space:nowrap}
body.login-page #googleButton:has(iframe):before,body.login-page #googleButton:has(>div[role=button]):before{display:none}

/* Compact contact card with larger type and a single Telegram handle line. */
.contact-card,.contact-inner,.contact-front,.contact-back{height:104px!important;min-height:104px!important;max-height:104px!important}
.contact-front{gap:13px!important;padding:12px 16px!important}
.contact-front .contact-avatar{width:58px!important;height:58px!important}
.contact-front .contact-name{font-size:16px!important;font-weight:700!important;line-height:1.15!important}
.contact-front small{display:inline!important;font-size:13px!important;line-height:1.25!important}
.contact-front .channel:before{content:' / ';opacity:.8;margin:0 3px}
.contact-front .channel{font-size:13px!important}
@media(max-width:420px){.contact-front{padding:10px 12px!important;gap:9px!important}.contact-front .contact-avatar{width:52px!important;height:52px!important}.contact-front .contact-name{font-size:14px!important}.contact-front small,.contact-front .channel{font-size:11px!important}.contact-front .channel:before{margin:0 1px}}

/* Larger contact typography requested for the compact Telegram card. */
.contact-front .contact-name{font-size:32px!important;line-height:1!important}
.contact-front .contact-name svg{width:30px!important;height:30px!important;flex:0 0 30px!important}
.contact-back>b{font-size:24px!important;line-height:1.1!important}
@media(max-width:420px){.contact-front .contact-name{font-size:22px!important}.contact-front .contact-name svg{width:22px!important;height:22px!important;flex-basis:22px!important}.contact-back>b{font-size:20px!important}}

/* Final compact sizing for the contact card. */
.contact-card,.contact-inner,.contact-front,.contact-back{height:88px!important;min-height:88px!important;max-height:88px!important}
.contact-front{padding:8px 14px!important;gap:11px!important}
.contact-front .contact-avatar{width:48px!important;height:48px!important}
.contact-front .contact-name{font-size:23px!important}
.contact-front .contact-name svg{width:22px!important;height:22px!important;flex-basis:22px!important}
.contact-back{padding:6px 10px!important}
@media(max-width:420px){.contact-front{padding:7px 10px!important;gap:8px!important}.contact-front .contact-avatar{width:44px!important;height:44px!important}.contact-front .contact-name{font-size:18px!important}.contact-front .contact-name svg{width:18px!important;height:18px!important;flex-basis:18px!important}}

/* Final Telegram contact-card layout: a slightly larger video avatar and a compact
   action face with two comfortable, vertically stacked links. */
.contact-card,.contact-inner,.contact-front,.contact-back{height:96px!important;min-height:96px!important;max-height:96px!important}
.contact-card{width:min(340px,100%)!important;flex-basis:340px!important}
.contact-front{padding:6px 13px!important;gap:12px!important}
.contact-front .contact-avatar{width:64px!important;height:64px!important;flex:0 0 64px!important}
.contact-back{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:center!important;gap:6px!important;padding:8px 18px!important;overflow:hidden!important}
.contact-back>b,.contact-back>p{display:none!important}
.contact-back .contact-write{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:30px!important;margin:0!important;padding:7px 12px!important;box-sizing:border-box!important;font-size:10px!important;line-height:1.1!important;white-space:nowrap!important;overflow:visible!important}
@media(max-width:420px){.contact-card,.contact-inner,.contact-front,.contact-back{height:96px!important;min-height:96px!important;max-height:96px!important}.contact-card{width:100%!important;flex-basis:100%!important}.contact-front{padding:6px 11px!important;gap:9px!important}.contact-front .contact-avatar{width:58px!important;height:58px!important;flex-basis:58px!important}.contact-back{padding:8px 14px!important}.contact-back .contact-write{font-size:10px!important;min-height:30px!important}}

/* Telegram actions: larger, crisp type and hover illumination contained by each
   button instead of bleeding into the blue card. */
.contact-back .contact-write{position:relative!important;overflow:hidden!important;isolation:isolate!important;font-size:12px!important;font-weight:700!important;color:#fff!important;text-shadow:0 1px 1px #17304a99!important;background:#ffffff20!important;border-color:#ffffff65!important;transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,color .22s ease!important}
.contact-back .contact-write:hover{background:#a78bff!important;border-color:#d8ccff!important;color:#211a3d!important;text-shadow:none!important;box-shadow:inset 0 0 18px #e2d8ff99,0 0 0 2px #a78bff33!important}
.contact-back .contact-write .ripple-wave{background:radial-gradient(circle,#e8ddffcc 0,#a78bff88 42%,transparent 72%)!important}
@media(max-width:420px){.contact-back .contact-write{font-size:11px!important}}

/* Deeper violet hover treatment for the Telegram actions. */
.contact-back .contact-write:hover{background:linear-gradient(135deg,#3e287f 0%,#5940a8 52%,#684bc0 100%)!important;border-color:#927be8!important;color:#fff!important;text-shadow:0 1px 2px #170d35!important;box-shadow:inset 0 0 18px #a28be955,0 0 0 2px #4b329933!important}
.contact-back .contact-write .ripple-wave{background:radial-gradient(circle,#a996f066 0,#6546b866 45%,transparent 74%)!important}

/* Telegram-inspired dark blue hover state, clearly separated from the cyan card. */
.contact-back .contact-write:hover{background:linear-gradient(135deg,#123b63 0%,#15558a 54%,#1d6da5 100%)!important;border-color:#6eb8e8!important;color:#fff!important;text-shadow:0 1px 2px #071d32!important;box-shadow:inset 0 0 18px #68b7e855,0 0 0 2px #12446d55!important}
.contact-back .contact-write .ripple-wave{background:radial-gradient(circle,#8bd0f088 0,#277db466 44%,transparent 74%)!important}

/* Give rule schedules enough room to show every configured launch in full. */
#scheduleModal .dialog.small{width:min(820px,100%)!important}
#scheduleModal .form-grid{grid-template-columns:minmax(0,1fr) 240px!important}
#scheduleModal .field:has(#scTime){grid-column:1/-1!important}
#scheduleModal .existing-times{display:grid!important;grid-template-columns:repeat(3,minmax(180px,1fr))!important;gap:10px!important;align-items:stretch!important}
#scheduleModal .existing-times>small{grid-column:1/-1!important}
#scheduleModal .schedule-existing-row{display:grid!important;grid-template-columns:minmax(0,1fr) 38px!important;gap:0!important;min-width:0!important;padding:0!important;overflow:hidden!important;border-radius:18px!important}
#scheduleModal .schedule-existing{width:100%!important;min-width:0!important;min-height:46px!important;padding:10px 12px!important;overflow:visible!important;text-overflow:clip!important;white-space:normal!important;text-align:left!important;line-height:1.25!important}
#scheduleModal .schedule-existing-remove{width:38px!important;min-width:38px!important;min-height:46px!important;padding:0!important;border-radius:0!important}
@media(max-width:700px){#scheduleModal .form-grid{grid-template-columns:1fr!important}#scheduleModal .field:has(#scTime){grid-column:1!important}#scheduleModal .existing-times{grid-template-columns:1fr!important}#scheduleModal .existing-times>small{grid-column:1!important}}

/* Select menus choose the side with available space and stay outside dialog clipping. */
.select-shell.drop-up .select-menu{top:auto!important;bottom:calc(100% + 6px)!important;transform-origin:bottom center!important}
.modal .dialog:has(.select-shell.open){overflow:visible!important}
.select-menu{max-height:min(260px,calc(100dvh - 40px))!important}
#scheduleModal .schedule-existing{font-size:14px!important;font-weight:700!important}
#scheduleModal .schedule-existing-remove{font-size:17px!important;font-weight:800!important}
#scheduleModal .existing-times>small{font-size:13px!important}

/* Six compact overview metrics, rich explanations and a scrollable day planner. */
.kpis{grid-template-columns:repeat(6,minmax(0,1fr))!important}.kpi{cursor:help;outline:none}.kpi:focus-visible{border-color:var(--violet)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--violet) 18%,transparent)!important}.kpi:nth-child(6) .kpi-icon{background:color-mix(in srgb,var(--mint) 15%,transparent);color:var(--mint-deep)}
.warm-tooltip.rich{width:min(340px,calc(100vw - 24px));padding:15px 17px;border:1px solid #ffffff22;border-radius:16px;background:color-mix(in srgb,var(--surface) 92%,#111827);box-shadow:0 18px 50px #0007;color:var(--text)}.warm-tooltip.rich>strong{display:block;margin-bottom:5px;font-size:14px}.warm-tooltip.rich>p{display:grid;gap:7px;margin:0;color:var(--muted);font-size:12px}.warm-tooltip.rich>p>span{display:grid;grid-template-columns:minmax(70px,auto) 1fr;gap:9px;padding-top:7px;border-top:1px solid var(--line)}.warm-tooltip.rich>p>span b{color:var(--text)}.warm-tooltip .tip-stats{display:grid;gap:5px;margin-top:8px}.warm-tooltip .tip-stats i{display:flex;justify-content:space-between;gap:16px;font-style:normal}.warm-tooltip .tip-stats b{color:var(--text)}
.day-planner-card{margin-bottom:18px;padding:20px!important;overflow:hidden}.planner-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:15px}.planner-toolbar h2{margin:0 0 3px!important}.planner-toolbar p{margin:0;color:var(--muted);font-size:12px}.planner-date-controls{display:flex;align-items:center;gap:8px}.planner-date-controls>b{min-width:170px;text-align:center}.planner-date-controls>span{padding-left:4px;color:var(--muted);font-size:11px}.planner-arrow{display:grid;place-items:center;width:34px;height:34px;min-height:34px;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font-size:24px;line-height:1;cursor:pointer}.planner-arrow:hover{border-color:var(--violet);color:var(--violet-deep)}
.day-planner{overflow:hidden;border:1px solid var(--line);border-radius:17px;background:color-mix(in srgb,var(--surface) 84%,transparent)}.planner-head{position:sticky;z-index:30;top:0;display:grid;grid-template-columns:76px repeat(var(--planner-columns),minmax(270px,1fr));width:max(100%,var(--planner-width));border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 96%,transparent)}.planner-time-title,.planner-product{padding:12px 14px}.planner-time-title{color:var(--muted);font-size:11px}.planner-product{border-left:1px solid var(--line)}.planner-product b,.planner-product span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-product b{font-size:14px}.planner-product span{margin-top:2px;color:var(--muted);font-size:11px}
.planner-scroll{height:min(500px,58vh);overflow:auto;scrollbar-gutter:stable}.planner-body{position:relative;width:max(100%,var(--planner-width));background:linear-gradient(90deg,transparent 75px,var(--line) 76px,transparent 77px)}.planner-hour{position:absolute;left:0;right:0;height:1px;border-top:1px solid color-mix(in srgb,var(--line) 68%,transparent);pointer-events:none}.planner-hour span{position:absolute;left:12px;top:-9px;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.planner-lanes{position:absolute;inset:0 0 0 76px;display:grid;grid-template-columns:repeat(var(--planner-columns),minmax(270px,1fr))}.planner-lane{position:relative;border-left:1px solid var(--line)}
.planner-task{position:absolute;z-index:2;left:12px;right:12px;display:grid;grid-template-columns:22px minmax(0,1fr) 22px;gap:8px;align-items:start;min-height:76px;padding:10px;border:1px solid color-mix(in srgb,var(--violet) 48%,var(--line));border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--violet) 18%,var(--surface)),color-mix(in srgb,var(--surface) 94%,transparent));box-shadow:0 9px 24px #0002;overflow:auto}.planner-task>div{display:grid;gap:2px;min-width:0}.planner-task b,.planner-task span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-task b{color:var(--violet-deep);font-size:11px}.planner-task span{color:var(--muted);font-size:10px}.planner-task .task-return{margin-top:5px;color:var(--mint-deep)}.task-point{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--violet);color:#fff;font-size:9px;font-style:normal;font-weight:800}.task-point.end{align-self:end;background:var(--mint-deep)}
.planner-now{position:absolute;z-index:5;left:76px;right:0;height:1px;border-top:1px solid var(--mint-deep);pointer-events:none}.planner-now:after{content:'';position:absolute;right:0;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--mint-deep);box-shadow:0 0 0 4px color-mix(in srgb,var(--mint) 15%,transparent)}.planner-now b{position:absolute;right:calc(100% + 8px);top:-10px;color:var(--mint-deep);font-size:11px;font-variant-numeric:tabular-nums}.planner-empty{display:grid;place-items:center;gap:5px;min-height:230px;padding:30px;text-align:center}.planner-empty span{color:var(--muted);font-size:12px}
.settings-grid .card:has(.select-shell.open){position:relative;z-index:120!important;overflow:visible!important}.settings-grid .select-shell.open{z-index:125}.settings-grid .select-menu{z-index:130!important}
.subscription-summary{grid-template-columns:minmax(0,1fr)!important}.promo-card{margin-top:0!important}.activation-card{margin-top:18px}.payment-unavailable{color:var(--red)!important}
@media(max-width:1250px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media(max-width:700px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.planner-toolbar{align-items:flex-start;flex-direction:column}.planner-date-controls{width:100%;flex-wrap:wrap}.planner-date-controls>b{min-width:130px;flex:1}.day-planner-card{padding:14px!important}.planner-scroll{height:440px}}

/* Planner controls and reference-style operation cards. */
.planner-toolbar{display:grid!important;grid-template-columns:auto minmax(360px,1fr) auto!important;align-items:end!important}.planner-title{min-width:180px}.planner-filters{display:grid;grid-template-columns:minmax(150px,1.3fr) minmax(130px,1fr) minmax(130px,1fr);gap:8px}.planner-filters label{display:grid;gap:4px}.planner-filters label>span{color:var(--muted);font-size:9px}.planner-filters input,.planner-filters select{width:100%;min-width:0;height:35px;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:11px;outline:none}.planner-filters input:focus,.planner-filters select:focus{border-color:var(--violet);box-shadow:0 0 0 3px color-mix(in srgb,var(--violet) 15%,transparent)}.planner-pagebar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:0 1px 9px;color:var(--muted);font-size:10px}.planner-pagebar>div{display:flex;align-items:center;justify-content:flex-end;gap:8px}.planner-pagebar .planner-arrow{width:28px;height:28px;min-height:28px;font-size:18px}.planner-pagebar b{min-width:40px;text-align:center;color:var(--text)}.planner-price-legend{display:flex;align-items:center;gap:14px}.planner-price-legend i{font-style:normal;white-space:nowrap}.planner-price-legend i:before{content:'';display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:var(--violet)}.planner-price-legend i:last-child:before{background:var(--mint-deep)}
.planner-task{grid-template-columns:24px minmax(0,1fr)!important;gap:9px!important;min-height:104px!important;padding:10px 12px!important;overflow:hidden!important;align-items:stretch!important}.task-rail{display:grid;grid-template-rows:20px minmax(10px,1fr) 20px;justify-items:center;min-height:80px}.task-rail>span{width:2px;min-height:10px;background:linear-gradient(var(--violet),var(--mint-deep))}.task-point.end{align-self:auto!important}.task-copy{display:grid!important;grid-template-rows:auto auto 1px auto auto!important;align-content:center!important;gap:3px!important;min-width:0}.task-copy b{font-size:12px!important;line-height:1.15}.task-copy span{font-size:11px!important;line-height:1.2}.task-copy em{display:block;margin:3px 0;border-top:1px solid var(--line)}
.planner-now{z-index:20!important;border-top:2px solid var(--mint-deep)!important;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--mint) 58%,transparent))}.planner-now:before{content:'';position:absolute;left:-1px;top:-6px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:9px solid var(--mint-deep)}.planner-now:after{top:-5px!important;width:9px!important;height:9px!important}.planner-now b{top:-11px!important;font-size:12px!important;font-weight:800;background:var(--surface);padding:1px 4px;border-radius:5px}
@media(max-width:1200px){.planner-toolbar{grid-template-columns:1fr auto!important}.planner-filters{grid-column:1/-1;grid-row:2}.planner-date-controls{grid-column:2;grid-row:1}}@media(max-width:700px){.planner-toolbar{display:flex!important;align-items:stretch!important}.planner-filters{grid-template-columns:1fr}.planner-date-controls{width:100%}.planner-pagebar{align-items:flex-start}.planner-task{left:8px;right:8px}.task-copy b{font-size:11px!important}.task-copy span{font-size:10px!important}}

/* Keep every planner control on one shared visual baseline. */
.planner-filters input,.planner-filters select{height:42px!important;padding-block:9px!important}
.planner-date-controls{height:42px;align-self:end}
.planner-date-controls .planner-arrow,.planner-date-controls .btn{height:42px!important;min-height:42px!important}
.planner-date-controls>b{display:flex;align-items:center;justify-content:center;height:42px;line-height:1.2}
.planner-date-controls>span{display:flex;align-items:center;height:42px}

/* Two price views in product cycles and planner tasks. */
.cycle-price-lines{display:grid;gap:5px;min-width:285px;text-align:left}
.cycle-price-lines>span{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:7px}
.cycle-price-lines small{color:var(--muted);font-size:9px}
.cycle-price-lines b{font-size:10px;font-weight:500;white-space:nowrap}
.cycle-price-lines i{color:var(--violet2);font-style:normal}
.planner-task{min-height:0!important}
.task-rail{height:100%;min-height:0!important}
.task-copy{grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr)!important;grid-template-rows:1fr!important;align-items:center!important;align-content:stretch!important;gap:10px!important;padding-top:0}
.task-copy section{display:grid;gap:1px;min-width:0}
.task-copy em{height:100%;margin:0!important;border-top:0!important;border-left:1px solid var(--line)}
.task-copy .task-return{margin-top:0!important}
.task-copy b{font-size:11px!important}
.task-copy span{display:block!important;font-size:9px!important;font-variant-numeric:tabular-nums}
.task-copy section span:last-child{color:color-mix(in srgb,var(--mint-deep) 72%,var(--muted))}
@media(max-width:900px){.planner-pagebar{grid-template-columns:1fr auto}.planner-price-legend{grid-column:1/-1;grid-row:2;justify-content:center}}

/* Reversible detail face for planner operations. */
.planner-task{display:block!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;perspective:900px;outline:none}
.planner-task-inner{display:block!important;position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .48s cubic-bezier(.2,.75,.25,1)}
.planner-task:hover .planner-task-inner,.planner-task:focus-visible .planner-task-inner,.planner-task.flipped .planner-task-inner{transform:rotateY(180deg);transition-delay:.14s}
.planner-task-face{position:absolute;inset:0;min-width:0;padding:10px 12px;border:1px solid color-mix(in srgb,var(--violet) 48%,var(--line));border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--violet) 18%,var(--surface)),color-mix(in srgb,var(--surface) 94%,transparent));box-shadow:0 9px 24px #0002;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.planner-task-front{display:grid;grid-template-columns:24px minmax(0,1fr);gap:9px;align-items:stretch}
.planner-task-back{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;gap:2px 10px;padding:7px 10px;transform:rotateY(180deg);align-content:center}
.task-back-head{display:flex;align-items:center;justify-content:space-between;gap:8px;grid-column:1/-1}.task-back-head b{color:var(--text)!important}.task-back-head span{padding:2px 6px;border-radius:999px;background:color-mix(in srgb,var(--violet) 16%,transparent);color:var(--violet-deep)!important;font-size:8px!important}
.task-back-meta{display:flex;align-items:center;gap:8px;grid-column:1/-1}.task-back-meta span{color:var(--muted);font-size:8px!important}.task-back-meta span+span:before{content:'·';margin-right:8px;color:var(--line)}
.task-back-price{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:5px;grid-column:1/-1;min-width:0}.task-back-price small{color:var(--muted);font-size:8px}.task-back-price b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)!important;font-size:9px!important;font-weight:500}.task-back-price.buyer b{color:var(--mint-deep)!important}
.planner-task.overlap .planner-task-face,.planner-task.outside-corridor .planner-task-face{border-color:color-mix(in srgb,var(--amber) 72%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--amber) 12%,var(--surface)),color-mix(in srgb,var(--surface) 94%,transparent))}.planner-task.overlap .task-back-head>span,.planner-task.outside-corridor .task-back-head>span{background:color-mix(in srgb,var(--amber) 18%,transparent);color:var(--amber)!important}
@media(prefers-reduced-motion:reduce){.planner-task-inner{transition:opacity .12s!important}.planner-task:hover .planner-task-front,.planner-task:focus-visible .planner-task-front,.planner-task.flipped .planner-task-front{opacity:0}.planner-task:hover .planner-task-back,.planner-task:focus-visible .planner-task-back,.planner-task.flipped .planner-task-back{transform:none;opacity:1}.planner-task-back{transform:none;opacity:0}}

/* Fine-grained team access editor. */
.access-dialog{width:min(790px,100%)!important}.access-field>label{margin-bottom:10px}.access-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.access-permission{display:grid!important;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;margin:0!important;padding:12px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 88%,transparent);cursor:pointer}.access-permission:has(input:checked){border-color:color-mix(in srgb,var(--violet) 58%,var(--line));background:color-mix(in srgb,var(--violet) 10%,var(--surface))}.access-permission input{width:17px;height:17px;margin:2px 0 0;accent-color:var(--violet)}.access-permission span,.access-permission b,.access-permission small{display:block;min-width:0}.access-permission b{color:var(--text);font-size:12px}.access-permission small{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.35}.access-note{margin-top:14px;padding:11px 13px;border-radius:12px;background:color-mix(in srgb,var(--mint) 9%,var(--surface));color:var(--muted);font-size:11px}.member-access-summary{display:block;max-width:360px;margin:4px auto 0;color:var(--muted);font-size:10px;line-height:1.35;white-space:normal}.member-table td:nth-child(2){min-width:260px}.member-table .avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
@media(max-width:700px){.access-permission-grid{grid-template-columns:1fr}.member-table td:nth-child(2){min-width:220px}}

/* Diagnostic operation history: compact filters, explicit outcomes and readable causes. */
#page-history>.section-head h2{display:block}
.history-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:15px}
.history-stat{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:68px;padding:14px 16px;border:1px solid var(--line);border-radius:17px;background:color-mix(in srgb,var(--surface) 88%,transparent)}
.history-stat b{font-size:17px}.history-stat small{font-size:10px;text-align:right}.history-stat.success b{color:var(--mint-deep)}.history-stat.warning b{color:var(--amber)}.history-stat.error b{color:var(--red)}
.history-filters{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:10px;margin-bottom:12px}
.history-filters label{display:grid;gap:5px;min-width:0}.history-filters label>span{color:var(--muted);font-size:10px}.history-filters input,.history-filters select{width:100%;height:42px}
.history-search{grid-column:span 2}.history-result-line,.history-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px}.history-result-line{margin:2px 0 10px;color:var(--muted);font-size:11px}.history-result-line .compact,.history-pagination .compact{min-height:34px;padding:6px 11px;border-radius:11px;font-size:10px}
.history-table-wrap{border-radius:18px}.history-table{min-width:1050px}.history-table th,.history-table td{text-align:left!important}.history-table th:first-child,.history-table td:first-child{width:94px;text-align:center!important}.history-table th:nth-child(2),.history-table td:nth-child(2){width:120px}.history-table th:nth-child(3),.history-table td:nth-child(3){width:155px}.history-table th:nth-child(4),.history-table td:nth-child(4){width:195px}.history-table td{height:76px;white-space:normal}.history-table td>b,.history-table td>small{display:block}.history-table td>small{margin-top:2px;font-size:9px}.history-row.error td:first-child{box-shadow:inset 3px 0 var(--red)}.history-row.warning td:first-child{box-shadow:inset 3px 0 var(--amber)}
.event-result{display:grid;justify-items:center;gap:3px}.event-result b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;font-size:13px}.event-result small{font-size:9px}.event-result.success b{background:color-mix(in srgb,var(--mint) 16%,transparent);color:var(--mint-deep)}.event-result.warning b{background:color-mix(in srgb,var(--amber) 18%,transparent);color:var(--amber)}.event-result.error b{background:color-mix(in srgb,var(--red) 16%,transparent);color:var(--red)}
.event-time{font-variant-numeric:tabular-nums}.event-detail{display:grid;gap:7px;min-width:260px;line-height:1.4}.event-detail>b{font-size:11px}.event-detail>div{display:flex;flex-wrap:wrap;gap:6px}.event-detail span{display:grid;gap:1px;padding:5px 7px;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--surface) 84%,transparent)}.event-detail span small{font-size:8px}.event-detail span b{font-size:9px;font-weight:600}.history-group td{height:auto!important;padding:8px 13px!important;background:color-mix(in srgb,var(--violet) 9%,var(--surface))!important;color:var(--violet-deep);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.history-pagination{justify-content:center;margin-top:12px}.history-pagination b{min-width:65px;text-align:center;font-size:11px}
@media(max-width:1150px){.history-filters{grid-template-columns:repeat(3,minmax(140px,1fr))}.history-search{grid-column:span 1}}
@media(max-width:700px){.history-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.history-filters{grid-template-columns:1fr}.history-search{grid-column:auto}.history-stat{min-height:58px;padding:11px}.history-result-line{align-items:flex-start;flex-direction:column}}
