@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Inter+Tight:wght@500;600;700&family=JetBrains+Mono:wght@400;500&display=swap);:root[data-theme=light]{--bg-body:#f0f4f8;--bg-card:#fff;--bg-sidebar:#fff;--bg-hover:#f8fafc;--bg-muted:#f1f5f9;--t-base:#1e293b;--t-muted:#64748b;--t-light:#94a3b8;--t-inverse:#fff;--border:#e4e8ef;--border-soft:#eef1f5;--primary:#2563eb;--primary-light:#3b82f6;--primary-dark:#1d4ed8;--primary-soft:#eff6ff;--primary-ring:rgba(37,99,235,.18);--success:#10b981;--success-soft:#ecfdf5;--warning:#f59e0b;--warning-soft:#fffbeb;--danger:#ef4444;--danger-soft:#fef2f2;--info:#0ea5e9;--info-soft:#f0f9ff;--purple:#8b5cf6;--purple-soft:#f5f3ff;--pink:#ec4899;--pink-soft:#fdf2f8;--teal:#14b8a6;--teal-soft:#f0fdfa;--orange:#f97316;--orange-soft:#fff7ed;--shadow-sm:0 1px 2px 0 rgba(15,23,42,.04);--shadow-card:0 1px 3px 0 rgba(15,23,42,.06),0 1px 2px -1px rgba(15,23,42,.04);--shadow-lg:0 10px 15px -3px rgba(15,23,42,.08),0 4px 6px -4px rgba(15,23,42,.05);--overlay:rgba(240,244,248,.72)}:root[data-theme=dark]{--bg-body:#0b1120;--bg-card:#141b2d;--bg-sidebar:#141b2d;--bg-hover:#1c2438;--bg-muted:#1a2237;--t-base:#f1f5f9;--t-muted:#94a3b8;--t-light:#64748b;--t-inverse:#0b1120;--border:#222c42;--border-soft:#1a2237;--primary:#60a5fa;--primary-light:#93c5fd;--primary-dark:#3b82f6;--primary-soft:#0f2847;--primary-ring:rgba(96,165,250,.24);--success:#34d399;--success-soft:#0f2a20;--warning:#fbbf24;--warning-soft:#2b1f08;--danger:#f87171;--danger-soft:#2b1414;--info:#38bdf8;--info-soft:#0d2232;--purple:#a78bfa;--purple-soft:#1e1a2c;--pink:#f472b6;--pink-soft:#2a1424;--teal:#2dd4bf;--teal-soft:#0e2826;--orange:#fb923c;--orange-soft:#2a1810;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.4);--shadow-card:0 1px 3px 0 rgba(0,0,0,.3),0 1px 2px -1px rgba(0,0,0,.25);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.5),0 4px 6px -4px rgba(0,0,0,.4);--overlay:rgba(11,17,32,.72)}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}a{-webkit-text-decoration:none;text-decoration:none}a,button{color:inherit}button{background:none;border:0;cursor:pointer;font:inherit;padding:0}ol,ul{list-style:none;margin:0;padding:0}img,svg{display:block;max-width:100%}input,textarea{color:inherit;font:inherit}body{background:var(--bg-body);color:var(--t-base);font-family:Inter,system-ui,Segoe UI,Ubuntu,Cantarell,Noto Sans,-apple-system,Roboto,sans-serif;font-feature-settings:"cv11","ss01","ss03";font-size:14px;font-weight:400;letter-spacing:-.003em;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color .28s ease,color .28s ease}::-moz-selection{background:var(--primary);color:#fff}::selection{background:var(--primary);color:#fff}.mono{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace}.eyebrow{color:var(--t-light);font-family:JetBrains Mono,monospace;font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes bar-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes fade-in{to{opacity:1}}.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.d-sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:22px;height:100vh;overflow-y:auto;padding:22px 16px 18px;position:sticky;top:0}.d-sidebar::-webkit-scrollbar{width:4px}.d-sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.brand{align-items:center;border-bottom:1px solid var(--border-soft);display:flex;gap:10px;padding:4px 10px 20px}.brand-logo{background:var(--primary);border-radius:8px;box-shadow:0 4px 10px -2px color-mix(in oklab,var(--primary) 40%,transparent);display:grid;height:32px;place-items:center;width:32px}.brand-logo svg{height:18px;width:18px}.brand-text{line-height:1.1}.brand-name{color:var(--t-base);font-family:Inter Tight,Inter,sans-serif;font-size:15.5px;font-weight:700;letter-spacing:-.02em}.brand-tag{color:var(--t-light);font-family:JetBrains Mono,monospace;font-size:9.5px;letter-spacing:.1em}.nav-section{display:flex;flex-direction:column;gap:2px}.nav-label{color:var(--t-light);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.2em;padding:0 10px 6px;text-transform:uppercase}.nav-link{align-items:center;border-radius:8px;color:var(--t-muted);display:flex;font-size:13px;font-weight:500;gap:12px;line-height:1.2;padding:9px 12px;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}.nav-link>svg{display:block;fill:none;flex-shrink:0;height:17px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.75;width:17px}.nav-link>span:not(.nav-badge){flex:1;min-width:0}.nav-link:hover{background:var(--bg-hover);color:var(--t-base)}.nav-link.is-active{background:var(--primary-soft);box-shadow:inset 3px 0 0 var(--primary);color:var(--primary)}.nav-badge{border-radius:999px;flex:0 0 auto;font-family:Inter,sans-serif;font-size:9px;font-weight:700;letter-spacing:.04em;line-height:1.4;margin-left:auto;padding:2px 6px}.nav-badge.pro{background:var(--primary);color:#fff}.nav-badge.hot{background:var(--danger-soft);color:var(--danger)}.nav-badge.new{background:var(--success-soft);color:var(--success)}.nav-item-group .nav-link .chev{height:11px;margin-left:auto;transition:transform .2s ease;width:11px}.nav-item-group.is-open .nav-link .chev{transform:rotate(90deg)}.nav-submenu{margin-left:20px;max-height:0;overflow:hidden;padding-left:14px;position:relative;transition:max-height .28s cubic-bezier(.4,0,.2,1)}.nav-submenu:before{background:var(--border);bottom:6px;content:"";left:0;position:absolute;top:6px;width:1px}.nav-item-group.is-open .nav-submenu{max-height:400px;padding-bottom:6px;padding-top:4px}.nav-submenu a{align-items:center;border-radius:6px;color:var(--t-muted);display:flex;font-size:12.5px;padding:7px 10px;transition:color .16s ease,background-color .16s ease,padding-left .16s ease}.nav-submenu a:hover{background:var(--bg-hover);color:var(--t-base);padding-left:13px}.nav-submenu a.is-active{background:var(--primary-soft);color:var(--primary);font-weight:600}.sidebar-footer{border-top:1px solid var(--border-soft);margin-top:auto;padding-top:16px}.workspace{align-items:center;border-radius:8px;display:flex;gap:10px;padding:6px 10px;transition:background-color .18s ease}.workspace:hover{background:var(--bg-hover)}.workspace-avatar{background:linear-gradient(135deg,var(--primary),var(--purple));border-radius:50%;color:#fff;display:grid;flex-shrink:0;font-size:12.5px;font-weight:600;height:32px;place-items:center;width:32px}.workspace-text{line-height:1.2;min-width:0}.workspace-name{color:var(--t-base);font-size:13px;font-weight:600}.workspace-role{color:var(--t-light);font-size:11px}.workspace-chev{color:var(--t-light);margin-left:auto}.main{display:flex;flex-direction:column;min-width:0}.hamburger{align-items:center;border-radius:8px;color:var(--t-base);display:none;height:36px;justify-content:center;margin-right:4px;transition:background .16s;width:36px}.hamburger:hover{background:var(--bg-hover)}.hamburger svg{height:20px;width:20px}.drawer-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:rgba(15,23,42,.5);inset:0;opacity:0;position:fixed;transition:opacity .24s ease,visibility .24s;visibility:hidden;z-index:90}body.has-drawer-open .drawer-backdrop{opacity:1;visibility:visible}.d-topbar{backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);background:var(--overlay);border-bottom:1px solid var(--border);height:60px;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:10}.crumbs,.d-topbar{align-items:center;display:flex}.crumbs{color:var(--t-muted);font-size:13px;font-weight:500;gap:10px}.crumbs .sep{color:var(--t-light)}.crumbs .current{color:var(--t-base);font-weight:600}.topbar-actions{align-items:center;display:flex;gap:6px}.cmd{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--t-light);display:inline-flex;font-size:13px;gap:10px;min-width:220px;padding:7px 10px 7px 12px;transition:all .2s ease}.cmd:hover{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);color:var(--t-muted)}.cmd svg{fill:none;height:14px;stroke:currentColor;stroke-width:2;width:14px}.cmd span{flex:1;text-align:left}.kbd{background:var(--bg-muted);border:1px solid var(--border);border-radius:4px;color:var(--t-muted);font-family:JetBrains Mono,monospace;font-size:10px;padding:2px 6px}.icon-btn{border-radius:8px;color:var(--t-muted);display:grid;height:36px;place-items:center;position:relative;transition:background .18s,color .18s;width:36px}.icon-btn:hover{background:var(--bg-hover);color:var(--t-base)}.icon-btn>svg{fill:none;height:17px;stroke:currentColor;stroke-width:1.8;width:17px}.icon-btn .count{border:2px solid var(--bg-body);border-radius:999px;display:grid;font-size:9.5px;font-weight:600;height:16px;line-height:1;min-width:16px;padding:0 4px;place-items:center;position:absolute;right:5px;top:5px}.icon-btn .count.danger{background:var(--danger);color:#fff}.icon-btn .count.info{background:var(--info);color:#fff}.avatar{background:linear-gradient(135deg,var(--primary),var(--purple));border:2px solid var(--bg-card);border-radius:50%;box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;display:grid;font-size:13px;font-weight:600;height:34px;margin-left:6px;place-items:center;width:34px}.d-footer{align-items:center;color:var(--t-muted);display:flex;font-size:12px;justify-content:space-between;padding:24px 32px 28px}.d-footer a{color:var(--primary);font-weight:600}.d-footer a:hover{color:var(--primary-dark)}.d-footer-meta{color:var(--t-light);display:flex;font-family:JetBrains Mono,monospace;font-size:10.5px;gap:20px;letter-spacing:.06em}.dd-wrap{position:relative}.dd-menu{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);min-width:340px;opacity:0;overflow:hidden;position:absolute;right:0;top:calc(100% + 10px);transform:translateY(-4px);transition:opacity .18s ease,transform .18s ease,visibility .18s;visibility:hidden;z-index:100}.dd-wrap.is-open .dd-menu{opacity:1;transform:translateY(0);visibility:visible}.dd-head{align-items:center;border-bottom:1px solid var(--border-soft);color:var(--t-base);display:flex;font-size:12.5px;font-weight:600;gap:10px;letter-spacing:.01em;padding:14px 18px}.dd-head svg{color:var(--t-muted);fill:none;height:14px;stroke:currentColor;stroke-width:1.8;width:14px}.dd-list{max-height:320px;overflow-y:auto}.dd-list::-webkit-scrollbar{width:4px}.dd-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.dd-item{align-items:center;border-bottom:1px solid var(--border-soft);display:grid;gap:12px;grid-template-columns:36px 1fr;padding:12px 18px;transition:background .15s ease}.dd-item:last-child{border-bottom:0}.dd-item:hover{background:var(--bg-hover)}.dd-avatar{border-radius:50%;color:#fff;display:grid;flex-shrink:0;font-size:12px;font-weight:600;height:36px;place-items:center;width:36px}.dd-avatar.a1{background:linear-gradient(135deg,var(--primary),var(--purple))}.dd-avatar.a2{background:linear-gradient(135deg,var(--success),var(--teal))}.dd-avatar.a3{background:linear-gradient(135deg,var(--danger),var(--warning))}.dd-body{min-width:0}.dd-text{color:var(--t-muted);font-size:13px;line-height:1.4;margin-bottom:3px}.dd-text strong{color:var(--t-base);font-weight:600}.dd-text em{color:var(--primary);font-style:normal}.dd-preview{color:var(--t-muted);display:-webkit-box;font-size:12.5px;-webkit-line-clamp:2;line-height:1.45;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;margin-top:2px}.dd-row-head{align-items:baseline;display:flex;gap:8px;justify-content:space-between}.dd-row-head strong{color:var(--t-base);font-size:13px;font-weight:600}.dd-time{color:var(--t-light);flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.04em}.dd-footer{border-top:1px solid var(--border-soft);color:var(--primary);display:block;font-size:12.5px;font-weight:600;padding:12px 18px;text-align:center;transition:color .18s,background .18s}.dd-footer:hover{background:var(--bg-hover);color:var(--primary-dark)}.dd-menu.dd-profile{min-width:220px}.dd-menu-item{align-items:center;color:var(--t-base);display:flex;font-size:13px;gap:12px;padding:10px 18px;transition:background .15s,color .15s}.dd-menu-item:hover{background:var(--bg-hover)}.dd-menu-item svg{color:var(--t-muted);fill:none;height:15px;stroke:currentColor;stroke-width:1.75;width:15px}.dd-menu-item.danger,.dd-menu-item.danger svg{color:var(--danger)}.dd-menu-item.danger:hover{background:var(--danger-soft)}.dd-divider{background:var(--border-soft);height:1px;margin:6px 0}.dd-profile-head{border-bottom:1px solid var(--border-soft);padding:14px 18px}.dd-profile-name{color:var(--t-base);font-size:13px;font-weight:600}.dd-profile-email{color:var(--t-muted);font-family:JetBrains Mono,monospace;font-size:11.5px;letter-spacing:.02em;margin-top:2px}.content{padding:32px 32px 24px;width:100%}.hero{align-items:flex-end;animation:rise-in .6s cubic-bezier(.2,.7,.2,1) both;display:flex;gap:32px;justify-content:space-between;margin-bottom:28px}.hero-text .eyebrow{display:block;margin-bottom:10px}.hero-title{color:var(--t-base);font-family:Inter Tight,Inter,sans-serif;font-size:clamp(28px,3.2vw,36px);font-weight:700;letter-spacing:-.028em;line-height:1.15;margin:0 0 8px}.hero-title .accent{color:var(--primary)}.hero-sub{color:var(--t-muted);font-size:14px;line-height:1.6;max-width:60ch}.hero-sub strong{color:var(--success);font-weight:600}.hero-actions{display:flex;flex-shrink:0;gap:8px}.btn{align-items:center;border:1px solid transparent;border-radius:8px;display:inline-flex;font-size:13px;font-weight:600;gap:8px;padding:9px 14px;transition:all .18s ease;white-space:nowrap}.btn svg{fill:none;height:14px;stroke:currentColor;stroke-width:2;width:14px}.btn--ghost{background:var(--bg-card);border-color:var(--border);color:var(--t-base)}.btn--ghost:hover{border-color:var(--t-light);box-shadow:var(--shadow-sm)}.btn--primary{background:var(--primary);box-shadow:0 1px 2px var(--primary-ring);color:#fff}.btn--primary:hover{background:var(--primary-dark)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;min-width:0;padding:22px}.card-head{align-items:flex-end;border-bottom:1px solid var(--border-soft);display:flex;gap:16px;justify-content:space-between;margin-bottom:20px;padding:0 0 16px}.card-head>:last-child{flex-shrink:0;padding-bottom:2px}.card-title-wrap{min-width:0}.card-title-wrap .eyebrow{display:block;margin-bottom:4px}.card-title{color:var(--t-base);font-family:Inter Tight,Inter,sans-serif;font-size:16px;font-weight:700;letter-spacing:-.02em;margin:0}.card-action{align-items:center;color:var(--primary);display:inline-flex;font-size:12px;font-weight:600;gap:5px;transition:color .18s}.card-action:hover{color:var(--primary-dark)}.card-action svg{fill:none;height:12px;stroke:currentColor;stroke-width:2.2;width:12px}.grid{animation:rise-in .6s cubic-bezier(.2,.7,.2,1) both;animation-delay:.26s;display:grid;gap:20px;grid-template-columns:repeat(12,minmax(0,1fr))}.grid>*{min-width:0}.col-6{grid-column:span 6}.col-12{grid-column:span 12}.table-scroll{overflow-x:auto;width:100%;-webkit-overflow-scrolling:touch}.table-scroll::-webkit-scrollbar{height:4px}.table-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.table{border-collapse:collapse;width:100%}.table thead th{border-bottom:1px solid var(--border);color:var(--t-light);font-family:JetBrains Mono,monospace;font-size:10px;font-weight:500;letter-spacing:.14em;padding:10px 0 12px;text-align:left;text-transform:uppercase}.table tbody td{border-bottom:1px solid var(--border-soft);font-size:13px;padding:11px 0}.table tbody tr:last-child td{border-bottom:0}.table tbody tr{transition:background-color .16s ease}.table tbody tr:hover td{background:var(--bg-hover)}.table .cell-name{color:var(--t-base);font-weight:600}.table .cell-date{color:var(--t-muted);font-size:12px}.table .cell-price{color:var(--t-base);font-weight:600;text-align:right}.table .cell-price.pos{color:var(--success)}.table .cell-price.neg{color:var(--danger)}.tag{align-items:center;border-radius:999px;display:inline-flex;font-size:10.5px;font-weight:600;letter-spacing:.02em;line-height:1;padding:3px 9px}.tag.t-new{background:var(--purple-soft);color:var(--purple)}.tag.t-used{background:var(--orange-soft);color:var(--orange)}.tag.t-old{background:var(--warning-soft);color:var(--warning)}.tag.t-unavail{background:var(--danger-soft);color:var(--danger)}.tag.t-active{background:var(--success-soft);color:var(--success)}.tag.t-info{background:var(--info-soft);color:var(--info)}.form-grid{display:grid;gap:18px 22px;grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .span-2{grid-column:span 2}@media(max-width:720px){.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}}.field{flex-direction:column;min-width:0}.field,.field-label{display:flex;gap:6px}.field-label{align-items:center;color:var(--t-base);font-size:12px;font-weight:600;letter-spacing:-.005em}.field-label .req{color:var(--danger)}.field-help{color:var(--t-muted);font-size:11.5px;line-height:1.45}.field-error{align-items:center;color:var(--danger);display:flex;font-size:11.5px;gap:4px}.input,.select,.textarea{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--t-base);font-family:inherit;font-size:13px;outline:0;padding:9px 12px;transition:border-color .18s,box-shadow .18s,background .18s;width:100%}.input::-moz-placeholder,.textarea::-moz-placeholder{color:var(--t-light)}.input::placeholder,.textarea::placeholder{color:var(--t-light)}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--bg-muted);color:var(--t-light);cursor:not-allowed}.input.is-invalid,.select.is-invalid,.textarea.is-invalid{border-color:var(--danger)}.input.is-invalid:focus,.select.is-invalid:focus,.textarea.is-invalid:focus{box-shadow:0 0 0 3px var(--danger-soft)}.textarea{line-height:1.5;min-height:96px;resize:vertical}.select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%2712%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%2364748B%27 stroke-width=%272%27><path d=%27m6 9 6 6 6-6%27/></svg>");background-position:right 10px center;background-repeat:no-repeat;padding-right:32px}.input-icon{position:relative}.input-icon .ico{color:var(--t-light);height:14px;left:11px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:14px}.input-icon .ico svg{fill:none;height:100%;stroke:currentColor;stroke-width:2;width:100%}.input-icon .input{padding-left:34px}.input-group{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;display:flex;overflow:hidden;transition:border-color .18s,box-shadow .18s}.input-group:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.input-group .addon{background:var(--bg-muted);border-right:1px solid var(--border);color:var(--t-muted);display:grid;font-family:JetBrains Mono,monospace;font-size:12px;padding:0 12px;place-items:center}.input-group .input{background:transparent;border:0;border-radius:0}.input-group .input:focus{box-shadow:none}.check{align-items:center;color:var(--t-base);cursor:pointer;display:inline-flex;font-size:13px;gap:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.check input{opacity:0;pointer-events:none;position:absolute}.check .box{background:var(--bg-card);border:1.5px solid var(--t-light);border-radius:5px;display:grid;flex-shrink:0;height:16px;place-items:center;transition:all .16s;width:16px}.check input:checked+.box{background:var(--primary);border-color:var(--primary)}.check input:checked+.box:after{border:solid #fff;border-width:0 1.8px 1.8px 0;content:"";height:8px;transform:rotate(45deg) translate(-1px,-1px);width:4px}.check.radio .box{border-radius:50%}.check.radio input:checked+.box:after{background:#fff;border:0;border-radius:50%;height:7px;transform:none;width:7px}.check:hover .box{border-color:var(--primary)}.check input:disabled+.box{cursor:not-allowed;opacity:.5}.switch{align-items:center;color:var(--t-base);cursor:pointer;display:inline-flex;font-size:13px;gap:10px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.switch input{opacity:0;pointer-events:none;position:absolute}.switch .track{background:var(--bg-muted);border:1px solid var(--border);border-radius:999px;flex-shrink:0;height:20px;position:relative;transition:background .2s;width:34px}.switch .track:after{background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.2);content:"";height:14px;left:2px;position:absolute;top:2px;transition:transform .2s cubic-bezier(.2,.7,.2,1);width:14px}.switch input:checked+.track{background:var(--primary);border-color:var(--primary)}.switch input:checked+.track:after{transform:translateX(14px)}.form-actions{align-items:center;border-top:1px solid var(--border-soft);display:flex;gap:10px;margin-top:18px;padding-top:18px}.form-actions .spacer{flex:1}.btn--secondary{background:var(--bg-muted);border-color:var(--border);color:var(--t-base)}.btn--secondary:hover{background:var(--bg-hover);border-color:var(--t-light)}.btn--success{background:var(--success);color:#fff}.btn--success:hover{background:color-mix(in oklab,var(--success) 90%,#000)}.btn--danger{background:var(--danger);color:#fff}.btn--danger:hover{background:color-mix(in oklab,var(--danger) 90%,#000)}.btn--warning{background:var(--warning);color:#fff}.btn--warning:hover{background:color-mix(in oklab,var(--warning) 90%,#000)}.btn--info{background:var(--info);color:#fff}.btn--info:hover{background:color-mix(in oklab,var(--info) 90%,#000)}.btn--soft-primary{background:var(--primary-soft);color:var(--primary)}.btn--soft-primary:hover{background:color-mix(in oklab,var(--primary-soft) 80%,var(--primary) 8%)}.btn--soft-success{background:var(--success-soft);color:var(--success)}.btn--soft-danger{background:var(--danger-soft);color:var(--danger)}.btn--soft-warning{background:var(--warning-soft);color:var(--warning)}.btn--soft-info{background:var(--info-soft);color:var(--info)}.btn--outline-primary{background:transparent;border-color:var(--primary);color:var(--primary)}.btn--outline-primary:hover{background:var(--primary-soft)}.btn--outline-danger{background:transparent;border-color:var(--danger);color:var(--danger)}.btn--outline-danger:hover{background:var(--danger-soft)}.btn--outline-success{background:transparent;border-color:var(--success);color:var(--success)}.btn--outline-success:hover{background:var(--success-soft)}.btn--lg{font-size:14px;padding:12px 18px}.btn--sm{font-size:11.5px;padding:6px 10px}.btn--icon{padding:9px}.btn--icon svg{margin:0}.btn-group{border-radius:8px;box-shadow:0 0 0 1px var(--border);display:inline-flex;overflow:hidden}.btn-group .btn{border:0;border-radius:0;border-right:1px solid var(--border);box-shadow:none}.btn-group .btn:last-child{border-right:0}.btn-group .btn.is-active{background:var(--primary-soft);color:var(--primary)}.alert{align-items:start;background:var(--bg-muted);border-left:3px solid var(--t-muted);border-radius:10px;color:var(--t-base);display:grid;font-size:13px;gap:12px;grid-template-columns:24px 1fr auto;line-height:1.5;padding:14px 16px}.alert+.alert{margin-top:10px}.alert .ico{border-radius:6px;color:var(--t-muted);display:grid;flex-shrink:0;height:20px;place-items:center;width:20px}.alert .ico svg{fill:none;height:14px;stroke:currentColor;stroke-width:2;width:14px}.alert .body{min-width:0}.alert .title{color:var(--t-base);font-weight:600;margin-bottom:2px}.alert .close{border-radius:5px;color:var(--t-light);display:grid;height:22px;place-items:center;transition:background .16s,color .16s;width:22px}.alert .close:hover{background:var(--bg-hover);color:var(--t-base)}.alert .close svg{fill:none;height:12px;stroke:currentColor;stroke-width:2;width:12px}.alert.success{background:var(--success-soft);border-left-color:var(--success)}.alert.success .ico{background:color-mix(in oklab,var(--success) 14%,transparent);color:var(--success)}.alert.danger{background:var(--danger-soft);border-left-color:var(--danger)}.alert.danger .ico{background:color-mix(in oklab,var(--danger) 14%,transparent);color:var(--danger)}.alert.warning{background:var(--warning-soft);border-left-color:var(--warning)}.alert.warning .ico{background:color-mix(in oklab,var(--warning) 14%,transparent);color:var(--warning)}.alert.info{background:var(--info-soft);border-left-color:var(--info)}.alert.info .ico{background:color-mix(in oklab,var(--info) 14%,transparent);color:var(--info)}.alert.primary{background:var(--primary-soft);border-left-color:var(--primary)}.alert.primary .ico{background:color-mix(in oklab,var(--primary) 14%,transparent);color:var(--primary)}.badge{align-items:center;background:var(--bg-muted);border-radius:999px;color:var(--t-muted);display:inline-flex;font-size:10.5px;font-weight:600;gap:4px;letter-spacing:.02em;line-height:1.4;padding:3px 8px}.badge.primary{background:var(--primary-soft);color:var(--primary)}.badge.success{background:var(--success-soft);color:var(--success)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.warning{background:var(--warning-soft);color:var(--warning)}.badge.info{background:var(--info-soft);color:var(--info)}.badge.purple{background:var(--purple-soft);color:var(--purple)}.badge.solid{background:var(--primary);color:#fff}.badge.dot:before{background:currentColor;border-radius:50%;content:"";height:6px;width:6px}.progress{background:var(--bg-muted);border-radius:999px;height:8px;overflow:hidden;width:100%}.progress.thin{height:4px}.progress.tall{height:14px}.progress-fill{animation:bar-in .9s cubic-bezier(.2,.7,.2,1) both;background:var(--primary);border-radius:999px;height:100%;transform-origin:left}.progress-fill.success{background:var(--success)}.progress-fill.danger{background:var(--danger)}.progress-fill.warning{background:var(--warning)}.progress-fill.info{background:var(--info)}.progress-fill.gradient{background:linear-gradient(90deg,var(--primary),var(--purple))}.progress-fill.striped{background-image:linear-gradient(45deg,hsla(0,0%,100%,.16) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.16) 0,hsla(0,0%,100%,.16) 75%,transparent 0,transparent);background-size:12px 12px}.spinner{animation:spin .7s linear infinite;border:2.5px solid var(--bg-muted);border-radius:50%;border-top-color:var(--primary);display:inline-block;height:22px;width:22px}.spinner.sm{border-width:2px;height:14px;width:14px}.spinner.lg{border-width:3px;height:36px;width:36px}@keyframes spin{to{transform:rotate(1turn)}}.tabs{border-bottom:1px solid var(--border);display:flex;gap:4px;margin-bottom:18px}.tab{border-bottom:2px solid transparent;color:var(--t-muted);cursor:pointer;font-size:13px;font-weight:500;padding:10px 14px;position:relative;top:1px;transition:color .16s,border-color .16s}.tab:hover{color:var(--t-base)}.tab.is-active{border-bottom-color:var(--primary);color:var(--primary);font-weight:600}.tab .badge{margin-left:6px}.tabs.pills{background:var(--bg-muted);border-bottom:0;border-radius:9px;display:inline-flex;padding:3px}.tabs.pills .tab{border-bottom:0;border-radius:7px;font-size:12.5px;padding:7px 12px;top:0}.tabs.pills .tab.is-active{background:var(--bg-card);box-shadow:var(--shadow-sm);color:var(--t-base)}.tab-panel{display:none}.tab-panel.is-active{animation:rise-in .32s ease both;display:block}.accordion{display:flex;flex-direction:column;gap:8px}.accordion-item{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;overflow:hidden}.accordion-trigger{align-items:center;color:var(--t-base);display:flex;font-size:13.5px;font-weight:600;justify-content:space-between;padding:14px 16px;text-align:left;transition:background .16s;width:100%}.accordion-trigger:hover{background:var(--bg-hover)}.accordion-trigger .chev{color:var(--t-muted);height:13px;transition:transform .24s ease;width:13px}.accordion-trigger .chev svg{fill:none;height:100%;stroke:currentColor;stroke-width:2;width:100%}.accordion-item.is-open .accordion-trigger .chev{transform:rotate(180deg)}.accordion-body{color:var(--t-muted);font-size:13px;line-height:1.6;max-height:0;overflow:hidden;transition:max-height .32s cubic-bezier(.4,0,.2,1)}.accordion-body-inner{padding:0 16px 14px}.accordion-item.is-open .accordion-body{max-height:400px}.modal-demo{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);max-width:480px;overflow:hidden}.modal-head{align-items:center;border-bottom:1px solid var(--border-soft);display:flex;justify-content:space-between;padding:16px 20px}.modal-title{color:var(--t-base);font-family:Inter Tight,sans-serif;font-size:15px;font-weight:700;letter-spacing:-.012em}.modal-body{color:var(--t-muted);font-size:13.5px;line-height:1.6;padding:18px 20px;overflow-y:auto;flex:1 1 auto}.modal-foot{background:var(--bg-card);border-top:1px solid var(--border-soft);display:flex;gap:8px;justify-content:flex-end;padding:14px 20px}
.modal-head,.modal-foot{flex:0 0 auto}.popover-demo{display:inline-block;position:relative}.popover-demo .pop{background:var(--t-base);border-radius:6px;bottom:calc(100% + 10px);box-shadow:var(--shadow-lg);color:var(--bg-card);font-size:11.5px;font-weight:500;padding:6px 10px;white-space:nowrap}.popover-demo .pop,.popover-demo .pop:after{left:50%;position:absolute;transform:translateX(-50%)}.popover-demo .pop:after{border:5px solid transparent;border-top:5px solid var(--t-base);content:"";top:100%}.avatar-group{align-items:center;display:inline-flex}.avatar-group .av{border:2px solid var(--bg-card);border-radius:50%;color:#fff;display:grid;flex-shrink:0;font-size:11.5px;font-weight:600;height:32px;margin-left:-8px;place-items:center;width:32px}.avatar-group .av:first-child{margin-left:0}.avatar-group .av.more{background:var(--bg-muted);color:var(--t-muted);font-size:10.5px}.section-h{align-items:baseline;color:var(--t-base);display:flex;font-family:Inter Tight,sans-serif;font-size:15px;font-weight:700;gap:12px;letter-spacing:-.012em;margin:0 0 14px}.section-h .num{color:var(--t-light);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500;letter-spacing:.06em}.demo-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.auth-shell{background:var(--bg-body);display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.auth-aside{background:linear-gradient(135deg,var(--primary),var(--purple));color:#fff;display:flex;flex-direction:column;overflow:hidden;padding:40px 48px;position:relative}.auth-aside:before{background:radial-gradient(circle,hsla(0,0%,100%,.18),transparent 60%);inset:-40% -20% auto auto}.auth-aside:after,.auth-aside:before{aspect-ratio:1;content:"";pointer-events:none;position:absolute;width:80%}.auth-aside:after{background:radial-gradient(circle,hsla(0,0%,100%,.1),transparent 60%);inset:auto auto -30% -20%}.auth-brand{align-items:center;display:flex;gap:10px;position:relative;z-index:1}.auth-brand .logo{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:hsla(0,0%,100%,.18);border:1px solid hsla(0,0%,100%,.25);border-radius:9px;display:grid;height:36px;place-items:center;width:36px}.auth-brand .logo svg{height:20px;width:20px}.auth-brand .name{font-family:Inter Tight,sans-serif;font-size:16px;font-weight:700;letter-spacing:-.018em}.auth-aside-body{margin-top:auto;max-width:440px;position:relative;z-index:1}.auth-aside-eyebrow{color:hsla(0,0%,100%,.7);display:block;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.18em;margin-bottom:14px;text-transform:uppercase}.auth-aside h1{font-family:Inter Tight,sans-serif;font-size:clamp(28px,3vw,38px);font-weight:700;letter-spacing:-.025em;line-height:1.15;margin:0 0 14px}.auth-aside p{color:hsla(0,0%,100%,.85);font-size:14.5px;line-height:1.6;margin:0 0 24px}.auth-quote{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.18);border-radius:12px;color:hsla(0,0%,100%,.9);font-size:13px;line-height:1.6;margin-top:32px;padding:18px 20px}.auth-quote-author{align-items:center;color:hsla(0,0%,100%,.75);display:flex;font-size:12px;gap:10px;margin-top:14px}.auth-quote-author .av{background:hsla(0,0%,100%,.22);border-radius:50%;display:grid;font-size:11px;font-weight:600;height:28px;place-items:center;width:28px}.auth-aside-footer{color:hsla(0,0%,100%,.55);display:flex;font-family:JetBrains Mono,monospace;font-size:10px;gap:18px;letter-spacing:.06em;margin-top:auto;padding-top:24px;position:relative;z-index:1}.auth-main{display:flex;flex-direction:column;min-height:100vh;padding:32px 48px}.auth-main-top{align-items:center;display:flex;justify-content:space-between}.auth-main-top .switch-link{color:var(--t-muted);font-size:12.5px}.auth-main-top .switch-link a{color:var(--primary);font-weight:600;margin-left:4px}.auth-card{margin:auto;max-width:400px;padding:8px 0;width:100%}.auth-card h2{color:var(--t-base);font-family:Inter Tight,sans-serif;font-size:26px;font-weight:700;letter-spacing:-.022em;margin:0 0 6px}.auth-card .sub{color:var(--t-muted);font-size:13.5px;line-height:1.55;margin:0 0 24px}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-form .field-row{align-items:center;display:flex;justify-content:space-between}.auth-form .field-row a{color:var(--primary);font-size:12px;font-weight:600}.auth-submit{margin-top:4px}.auth-submit.btn{padding:11px 14px}.auth-divider{align-items:center;color:var(--t-light);display:flex;font-family:JetBrains Mono,monospace;font-size:10px;gap:12px;letter-spacing:.14em;margin:18px 0;text-transform:uppercase}.auth-divider:after,.auth-divider:before{background:var(--border);content:"";flex:1;height:1px}.social-row{display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.social-btn{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--t-base);display:inline-flex;font-size:12.5px;font-weight:600;gap:8px;justify-content:center;padding:9px 12px;transition:border-color .16s,box-shadow .16s,background .16s}.social-btn:hover{border-color:var(--t-light);box-shadow:var(--shadow-sm)}.social-btn svg{height:14px;width:14px}.auth-main-bottom{color:var(--t-light);font-size:11.5px;margin-top:24px;text-align:center}.auth-main-bottom a{color:var(--t-muted)}.error-shell{background:var(--bg-body);display:grid;min-height:100vh;overflow:hidden;padding:32px;place-items:center;position:relative}.error-shell:before{background:radial-gradient(circle,color-mix(in oklab,var(--primary) 10%,transparent),transparent 70%);inset:-20% -10% auto auto}.error-shell:after,.error-shell:before{aspect-ratio:1;content:"";pointer-events:none;position:absolute;width:60vmax}.error-shell:after{background:radial-gradient(circle,color-mix(in oklab,var(--purple) 8%,transparent),transparent 70%);inset:auto auto -20% -10%}.error-card{animation:rise-in .6s cubic-bezier(.2,.7,.2,1) both;background:var(--bg-card);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-lg);max-width:540px;padding:48px 56px;position:relative;text-align:center;width:100%}@media(max-width:600px){.error-card{padding:32px 24px}}.error-eyebrow{color:var(--t-light);display:block;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.18em;margin-bottom:14px;text-transform:uppercase}.error-code{background:linear-gradient(135deg,var(--primary),var(--purple));-webkit-background-clip:text;background-clip:text;color:transparent;font-size:clamp(96px,16vw,160px);letter-spacing:-.05em;line-height:.95;margin-bottom:8px}.error-code,.error-title{font-family:Inter Tight,sans-serif;font-weight:700}.error-title{color:var(--t-base);font-size:24px;letter-spacing:-.022em;margin:0 0 10px}.error-sub{color:var(--t-muted);font-size:14px;line-height:1.6;margin:0 auto 24px;max-width:40ch}.error-actions{gap:10px}.error-actions,.error-meta{display:flex;flex-wrap:wrap;justify-content:center}.error-meta{border-top:1px dashed var(--border);color:var(--t-light);font-family:JetBrains Mono,monospace;font-size:10.5px;gap:16px;letter-spacing:.06em;margin-top:28px;padding-top:18px}.error-meta strong{color:var(--t-muted);font-weight:600}.chat-shell{animation:rise-in .6s cubic-bezier(.2,.7,.2,1) both;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-card);display:grid;gap:20px;grid-template-columns:280px minmax(0,1fr);height:calc(100vh - 220px);min-height:560px;overflow:hidden}.chat-rail{background:var(--bg-card);border-right:1px solid var(--border-soft);min-width:0}.chat-rail,.chat-rail-head{display:flex;flex-direction:column}.chat-rail-head{border-bottom:1px solid var(--border-soft);gap:12px;padding:14px 16px}.chat-rail-title-row{align-items:center;display:flex;justify-content:space-between}.chat-rail-title{color:var(--t-base);font-family:Inter Tight,sans-serif;font-size:14.5px;font-weight:700;letter-spacing:-.012em}.chat-rail-title .meta{color:var(--t-light);font-family:JetBrains Mono,monospace;font-size:10px;font-weight:500;letter-spacing:.04em;margin-left:8px}.chat-search{position:relative}.chat-search input{background:var(--bg-muted);border:1px solid var(--border);border-radius:8px;color:var(--t-base);font-size:12.5px;outline:0;padding:8px 10px 8px 32px;transition:border-color .18s,box-shadow .18s,background .18s;width:100%}.chat-search input::-moz-placeholder{color:var(--t-light)}.chat-search input::placeholder{color:var(--t-light)}.chat-search input:focus{background:var(--bg-card);border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.chat-search svg{fill:none;height:13px;left:10px;pointer-events:none;position:absolute;stroke:var(--t-light);stroke-width:2;top:50%;transform:translateY(-50%);width:13px}.chat-list-scroll{flex:1;overflow-y:auto;padding:4px 0}.chat-list-scroll::-webkit-scrollbar{width:4px}.chat-list-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.chat-conv{border-bottom:1px solid var(--border-soft);cursor:pointer;display:grid;gap:10px;grid-template-columns:38px 1fr;padding:11px 16px;position:relative;transition:background .16s ease}.chat-conv:hover{background:var(--bg-hover)}.chat-conv.is-active{background:var(--primary-soft);box-shadow:inset 3px 0 0 var(--primary)}.chat-conv-avatar{border-radius:50%;color:#fff;display:grid;flex-shrink:0;font-size:12px;font-weight:600;height:38px;place-items:center;position:relative;width:38px}.chat-conv-avatar .presence{background:var(--success);border:2px solid var(--bg-card);border-radius:50%;bottom:0;height:10px;position:absolute;right:0;width:10px}.chat-conv-avatar .presence.away{background:var(--warning)}.chat-conv-avatar .presence.off{background:var(--t-light)}.chat-conv-body{display:flex;flex-direction:column;gap:2px;min-width:0}.chat-conv-top{align-items:baseline;display:flex;gap:6px;justify-content:space-between}.chat-conv-name{color:var(--t-base);font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-conv-time{color:var(--t-light);flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.04em}.chat-conv-preview{color:var(--t-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-conv.is-unread .chat-conv-preview{color:var(--t-base);font-weight:500}.chat-conv.is-unread .chat-conv-time{color:var(--primary)}.chat-conv-badge{background:var(--primary);border-radius:999px;color:#fff;display:grid;font-size:10px;font-weight:700;height:18px;min-width:18px;padding:0 6px;place-items:center;position:absolute;right:14px;top:14px}.chat-pane{background:var(--bg-card);display:flex;flex-direction:column;min-width:0;overflow:hidden}.chat-pane-head{align-items:center;border-bottom:1px solid var(--border-soft);display:flex;gap:12px;padding:14px 22px}.chat-pane-head .av{border-radius:50%;color:#fff;display:grid;font-size:12px;font-weight:600;height:38px;place-items:center;position:relative;width:38px}.chat-pane-head .av .presence{background:var(--success);border:2px solid var(--bg-card);border-radius:50%;bottom:0;height:10px;position:absolute;right:0;width:10px}.chat-pane-head .meta{flex:1;line-height:1.3;min-width:0}.chat-pane-head .name{color:var(--t-base);font-size:14px;font-weight:600}.chat-pane-head .status{align-items:center;color:var(--t-muted);display:flex;font-size:11.5px;gap:4px}.chat-pane-head .status .dot{background:var(--success);border-radius:50%;height:6px;width:6px}.chat-pane-head-tools{display:flex;gap:2px}.chat-thread{background:var(--bg-muted);display:flex;flex:1;flex-direction:column;gap:16px;overflow-y:auto;padding:22px 28px}.chat-thread::-webkit-scrollbar{width:5px}.chat-thread::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.chat-day-sep{align-items:center;color:var(--t-light);display:flex;font-family:JetBrains Mono,monospace;font-size:10px;gap:10px;letter-spacing:.14em;margin:6px 0;text-transform:uppercase}.chat-day-sep:after,.chat-day-sep:before{background:var(--border);content:"";flex:1;height:1px}.chat-msg{display:flex;gap:10px;max-width:min(75%,600px)}.chat-msg.me{flex-direction:row-reverse;margin-left:auto}.chat-msg-av{align-self:flex-end;border-radius:50%;color:#fff;display:grid;flex-shrink:0;font-size:11.5px;font-weight:600;height:32px;place-items:center;width:32px}.chat-msg-av.me{background:linear-gradient(135deg,var(--primary),var(--purple))}.chat-msg-stack{display:flex;flex-direction:column;gap:4px;min-width:0}.chat-msg.me .chat-msg-stack{align-items:flex-end}.chat-bub{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;border-top-left-radius:4px;box-shadow:var(--shadow-sm);color:var(--t-base);font-size:13.5px;line-height:1.5;padding:10px 14px;word-wrap:break-word}.chat-msg.me .chat-bub{background:var(--primary);border-color:var(--primary);border-top-left-radius:14px;border-top-right-radius:4px;color:#fff}.chat-msg-meta{align-items:center;color:var(--t-light);display:flex;font-family:JetBrains Mono,monospace;font-size:9.5px;gap:6px;letter-spacing:.04em;padding:0 4px}.chat-msg-meta .read{color:var(--primary)}.chat-typing{align-items:center;color:var(--t-muted);display:flex;font-size:11.5px;gap:8px;margin-top:4px}.chat-typing-dots{display:inline-flex;gap:3px}.chat-typing-dots span{animation:typing 1.2s ease-in-out infinite;background:var(--t-light);border-radius:50%;height:4px;width:4px}.chat-typing-dots span:nth-child(2){animation-delay:.15s}.chat-typing-dots span:nth-child(3){animation-delay:.3s}@keyframes typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.chat-composer{background:var(--bg-card);border-top:1px solid var(--border-soft);padding:14px 22px 18px}.chat-composer-input{align-items:end;background:var(--bg-muted);border:1px solid var(--border);border-radius:12px;display:flex;gap:8px;padding:8px 10px;transition:border-color .18s,box-shadow .18s}.chat-composer-input:focus-within{background:var(--bg-card);border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.chat-composer-input textarea{background:transparent;border:0;color:var(--t-base);flex:1;font-family:inherit;font-size:13.5px;line-height:1.5;max-height:120px;min-height:22px;outline:0;padding:4px;resize:none}.chat-composer-input textarea::-moz-placeholder{color:var(--t-light)}.chat-composer-input textarea::placeholder{color:var(--t-light)}.chat-composer-tools{align-items:center;display:flex;flex-shrink:0;gap:2px}.chat-composer-tools .tool{border-radius:6px;color:var(--t-muted);display:grid;height:28px;place-items:center;transition:background .16s,color .16s;width:28px}.chat-composer-tools .tool:hover{background:var(--bg-hover);color:var(--t-base)}.chat-composer-tools .tool svg{fill:none;height:14px;stroke:currentColor;stroke-width:1.8;width:14px}.chat-composer-send{background:var(--primary);border-radius:8px;color:#fff;display:grid;flex-shrink:0;height:32px;place-items:center;transition:background .18s;width:32px}.chat-composer-send:hover{background:var(--primary-dark)}.chat-composer-send svg{fill:none;height:14px;stroke:currentColor;stroke-width:2;width:14px}.data-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.data-toolbar-left{flex:1;min-width:240px}.data-toolbar-left,.data-toolbar-right{align-items:center;display:flex;gap:8px}.data-toolbar .input-icon{flex:1;max-width:320px}.data-table{border-collapse:initial;border-spacing:0;width:100%}.data-table thead th{background:var(--bg-card);border-bottom:1px solid var(--border);color:var(--t-light);font-family:JetBrains Mono,monospace;font-size:10px;font-weight:500;letter-spacing:.14em;padding:12px 14px;position:sticky;text-align:left;text-transform:uppercase;top:0;white-space:nowrap}.data-table thead th .sort{color:var(--t-light);display:inline-flex;margin-left:4px;vertical-align:middle}.data-table thead th.sorted-asc .sort,.data-table thead th.sorted-desc .sort{color:var(--primary)}.data-table thead th.sorted-asc .sort svg{transform:rotate(180deg)}.data-table thead th .sort svg{fill:none;height:10px;stroke:currentColor;stroke-width:2;transition:transform .16s;width:10px}.data-table tbody td{border-bottom:1px solid var(--border-soft);color:var(--t-base);font-size:13px;padding:12px 14px;white-space:nowrap}.data-table tbody tr{transition:background .14s}.data-table tbody tr:hover td{background:var(--bg-hover)}.data-table tbody tr.is-selected td{background:var(--primary-soft)}.data-cell-user{align-items:center;display:flex;gap:10px;min-width:0}.data-cell-user .av{border-radius:50%;color:#fff;display:grid;flex-shrink:0;font-size:11px;font-weight:600;height:30px;place-items:center;width:30px}.data-cell-user-meta{line-height:1.3;min-width:0}.data-cell-user-name{color:var(--t-base);font-size:13px;font-weight:600}.data-cell-user-email{font-size:11px}.data-cell-mono,.data-cell-user-email{color:var(--t-muted);font-family:JetBrains Mono,monospace;letter-spacing:.02em}.data-cell-mono{font-size:12px}.data-cell-actions{display:flex;gap:2px}.data-cell-actions .btn--icon{background:transparent;border:0;border-radius:6px;color:var(--t-muted);padding:6px;transition:background .14s,color .14s}.data-cell-actions .btn--icon:hover{background:var(--bg-hover);color:var(--t-base)}.data-cell-actions .btn--icon svg{fill:none;height:13px;stroke:currentColor;stroke-width:1.8;width:13px}.data-foot{border-top:1px solid var(--border-soft);color:var(--t-muted);font-size:12px;justify-content:space-between;margin-top:4px;padding-top:16px}.data-foot,.data-foot-info{align-items:center;display:flex}.data-foot-info{gap:16px}.data-foot-info .select{font-size:12px;padding:6px 28px 6px 10px;width:auto}.pager{align-items:center;display:flex;gap:4px}.pager-btn{border-radius:7px;color:var(--t-muted);display:grid;font-size:12px;font-weight:600;height:30px;min-width:30px;padding:0 8px;place-items:center;transition:background .16s,color .16s}.pager-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--t-base)}.pager-btn.is-active{background:var(--primary);color:#fff}.pager-btn:disabled{cursor:not-allowed;opacity:.4}.pager-btn svg{fill:none;height:12px;stroke:currentColor;stroke-width:2;width:12px}.chart-pad{padding:8px 0 4px;position:relative}.chart-canvas-wrap{min-height:240px;position:relative;width:100%}.chart-legend{border-top:1px solid var(--border-soft);display:flex;flex-wrap:wrap;gap:14px;margin-top:14px;padding-top:14px}.chart-legend-item{align-items:center;color:var(--t-muted);display:inline-flex;font-size:12px;gap:8px}.chart-legend-item .swatch{border-radius:3px;flex-shrink:0;height:10px;width:10px}.chart-meta-row{border-top:1px dashed var(--border-soft);display:flex;flex-wrap:wrap;gap:18px;margin-top:14px;padding-top:14px}.chart-meta-cell{display:flex;flex-direction:column;gap:3px;min-width:90px}.chart-meta-label{color:var(--t-light);font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}.chart-meta-value{color:var(--t-base);font-family:Inter Tight,sans-serif;font-size:17px;font-weight:700;letter-spacing:-.02em}.chart-meta-value.up{color:var(--success)}.chart-meta-value.down{color:var(--danger)}.kpi-grid{display:grid;gap:20px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px}.kpi-card{animation:rise-in .6s cubic-bezier(.2,.7,.2,1) both;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:14px;min-width:0;overflow:hidden;padding:22px 22px 20px;position:relative;transition:transform .22s cubic-bezier(.2,.7,.2,1),box-shadow .22s ease,border-color .22s ease}.kpi-card:before{background:radial-gradient(circle at top right,currentColor,transparent 65%);content:"";height:180px;inset:0 0 auto auto;opacity:.08;pointer-events:none;position:absolute;transition:opacity .22s ease;width:180px}.kpi-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.kpi-card:hover:before{opacity:.14}.kpi-card.c-success{color:var(--success)}.kpi-card.c-danger{color:var(--danger)}.kpi-card.c-purple{color:var(--purple)}.kpi-card.c-primary{color:var(--primary)}.kpi-card:first-child{animation-delay:60ms}.kpi-card:nth-child(2){animation-delay:.12s}.kpi-card:nth-child(3){animation-delay:.18s}.kpi-card:nth-child(4){animation-delay:.24s}.kpi-top{gap:12px;justify-content:space-between;position:relative}.kpi-identity,.kpi-top{align-items:center;display:flex}.kpi-identity{gap:10px;min-width:0}.kpi-icon{border-radius:9px;display:grid;flex-shrink:0;height:32px;place-items:center;width:32px}.kpi-icon svg{fill:none;height:15px;stroke:currentColor;stroke-width:1.9;width:15px}.kpi-icon.primary{background:var(--primary-soft);color:var(--primary)}.kpi-icon.success{background:var(--success-soft);color:var(--success)}.kpi-icon.info{background:var(--info-soft);color:var(--info)}.kpi-icon.purple{background:var(--purple-soft);color:var(--purple)}.kpi-icon.danger{background:var(--danger-soft);color:var(--danger)}.kpi-icon.warning{background:var(--warning-soft);color:var(--warning)}.kpi-label{color:var(--t-muted);font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kpi-value{color:var(--t-base);font-family:Inter Tight,Inter,sans-serif;font-size:44px;font-weight:700;letter-spacing:-.035em;line-height:1;position:relative}.kpi-value sup{color:var(--t-muted);font-size:17px;font-weight:500;line-height:2.1;margin-left:3px;vertical-align:top}.kpi-compare{align-items:center;border-top:1px dashed var(--border-soft);color:var(--t-light);display:flex;font-size:12px;font-weight:500;gap:7px;margin-top:auto;padding-top:12px}.kpi-compare strong{color:var(--t-base);font-family:JetBrains Mono,monospace;font-size:11.5px;font-weight:600;letter-spacing:-.01em}.kpi-compare svg{fill:none;flex-shrink:0;height:11px;stroke:currentColor;stroke-width:2.2;width:11px}.kpi-compare .up{color:var(--success)}.kpi-compare .down{color:var(--danger)}.kpi-compare .flat{color:var(--purple)}.kpi-compare .info{color:var(--info)}.kpi-compare .sep{color:var(--t-light);font-weight:400;opacity:.45}.kpi-pill{align-items:center;border-radius:999px;display:inline-flex;flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:10.5px;font-weight:500;gap:4px;letter-spacing:.02em;padding:4px 9px}.kpi-pill.up{background:var(--success-soft);color:var(--success)}.kpi-pill.down{background:var(--danger-soft);color:var(--danger)}.kpi-pill.flat{background:var(--purple-soft);color:var(--purple)}.kpi-pill.info{background:var(--info-soft);color:var(--info)}.kpi-pill svg{fill:none;height:10px;stroke:currentColor;stroke-width:2.5;width:10px}.sv-regions{display:grid;gap:36px;grid-template-columns:repeat(4,minmax(0,1fr))}.sv-region{display:flex;flex-direction:column;gap:10px;min-width:0}.sv-region-head{align-items:center;color:var(--t-muted);display:flex;font-size:13px;font-weight:500;gap:9px}.sv-region-head .marker{border-radius:50%;flex-shrink:0;height:8px;width:8px}.sv-region-value{align-items:baseline;color:var(--t-base);display:flex;font-family:Inter Tight,sans-serif;font-size:28px;font-weight:700;gap:8px;letter-spacing:-.03em;line-height:1.05}.sv-region-value .pct{color:var(--t-light);font-family:JetBrains Mono,monospace;font-size:11.5px;font-weight:500;letter-spacing:.02em}.sv-region-bar{background:var(--bg-muted);border-radius:99px;height:3px;margin-top:2px;overflow:hidden}.sv-region-bar-fill{animation:bar-in .9s cubic-bezier(.2,.7,.2,1) .3s both;border-radius:99px;height:100%;transform-origin:left}.sv-divider{background:var(--border-soft);height:1px;margin:28px 0}.sv-radials{display:grid;gap:28px;grid-template-columns:repeat(3,minmax(0,1fr))}.sv-radial{align-items:center;display:grid;gap:16px;grid-template-columns:72px 1fr}.sv-radial-chart{flex-shrink:0;height:72px;position:relative;width:72px}.sv-radial-chart svg{height:100%;transform:rotate(-90deg);width:100%}.radial-track{fill:none;stroke:var(--bg-muted);stroke-width:5}.radial-fill{fill:none;stroke-linecap:round;stroke-width:5}.radial-fill.danger{stroke:var(--danger)}.radial-fill.info{stroke:var(--info)}.radial-fill.warning{stroke:var(--warning)}.sv-radial-chart .pct{color:var(--t-base);font-family:Inter Tight,sans-serif;font-size:15px;font-weight:700;left:50%;letter-spacing:-.022em;position:absolute;top:50%;transform:translate(-50%,-50%)}.sv-radial-text{display:flex;flex-direction:column;gap:2px;min-width:0}.sv-radial-name{color:var(--t-base);font-size:13.5px;font-weight:600;letter-spacing:-.005em}.sv-radial-caption{color:var(--t-muted);font-size:11.5px}.chart-svg{display:block;height:auto;width:100%}.chart-svg .grid-line{stroke:var(--border-soft);stroke-dasharray:2 4;stroke-width:1}.chart-svg .axis-label{fill:var(--t-light);font-family:JetBrains Mono,monospace;font-size:9.5px;letter-spacing:.04em}.chart-svg .area{fill:url(#chartGrad)}.chart-svg .line{animation:draw 1.4s cubic-bezier(.55,.15,.2,1) .4s forwards;fill:none;stroke:var(--primary);stroke-dasharray:2400;stroke-dashoffset:2400;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.chart-svg .dot-peak{animation:fade-in .6s ease 1.4s forwards;fill:var(--primary);opacity:0;stroke:var(--bg-card);stroke-width:3}.monthly-footer{border-top:1px solid var(--border-soft);display:grid;gap:18px;grid-template-columns:repeat(4,1fr);margin-top:18px;padding-top:18px}.stat-cell{display:flex;flex-direction:column;gap:4px}.stat-cell-label{color:var(--t-muted);font-size:11px;font-weight:500}.stat-cell-value{align-items:center;color:var(--t-base);display:flex;font-family:Inter Tight,sans-serif;font-size:18px;font-weight:700;gap:6px;letter-spacing:-.022em}.stat-cell-value .trend-ic{color:var(--success);flex-shrink:0;height:11px;width:11px}.todo-list{display:flex;flex-direction:column}.todo-item{align-items:center;border-bottom:1px solid var(--border-soft);display:grid;gap:12px;grid-template-columns:20px 1fr auto;padding:11px 0}.todo-item:last-child{border-bottom:0}.todo-check{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;border:1.5px solid var(--t-light);border-radius:6px;cursor:pointer;height:18px;position:relative;transition:all .16s ease;width:18px}.todo-check:checked,.todo-check:hover{border-color:var(--primary)}.todo-check:checked{background:var(--primary)}.todo-check:checked:after{border:solid #fff;border-width:0 1.8px 1.8px 0;content:"";height:9px;left:5px;position:absolute;top:1px;transform:rotate(45deg);width:4px}.todo-item.is-done .todo-text{color:var(--t-light);-webkit-text-decoration:line-through;text-decoration:line-through;text-decoration-thickness:1.5px}.todo-text{color:var(--t-base);cursor:pointer;font-size:13.5px}.todo-badge{border-radius:999px;font-size:10.5px;font-weight:600;letter-spacing:.02em;line-height:1;padding:3px 9px}.todo-badge.low{background:var(--bg-muted);color:var(--t-muted)}.todo-badge.upcoming{background:var(--info-soft);color:var(--info)}.todo-badge.urgent{background:var(--danger-soft);color:var(--danger)}.todo-badge.warn{background:var(--warning-soft);color:var(--warning)}.todo-badge.done{background:var(--success-soft);color:var(--success)}.sales-summary{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:4px;padding:0 0 20px}.sales-summary-label .eyebrow{display:block;margin-bottom:4px}.sales-summary h4{font-size:15px;font-weight:600;margin:0}.sales-summary h4,.sales-summary-total{color:var(--t-base);font-family:Inter Tight,sans-serif}.sales-summary-total{font-size:28px;font-weight:700;letter-spacing:-.03em;line-height:1}.sales-summary-total sup{color:var(--t-muted);font-size:15px;font-weight:500;line-height:2;margin-right:1px;vertical-align:top}.sales-all{border-top:1px solid var(--border-soft);margin-top:6px;padding:18px 0 0;text-align:center}.sales-all a{align-items:center;color:var(--primary);display:inline-flex;font-size:12.5px;font-weight:600;gap:5px;transition:color .18s}.sales-all a:hover{color:var(--primary-dark)}.sales-all svg{fill:none;height:12px;stroke:currentColor;stroke-width:2.2;width:12px}.wx-hero{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;padding:8px 0}.wx-temp-block{align-items:center;display:flex;gap:16px}.wx-icon{background:linear-gradient(135deg,var(--info-soft),var(--primary-soft));border-radius:16px;color:var(--info);display:grid;flex-shrink:0;height:60px;place-items:center;width:60px}.wx-icon svg{fill:none;height:34px;stroke:currentColor;stroke-width:1.3;width:34px}.wx-temp{color:var(--t-base);font-family:Inter Tight,sans-serif;font-size:44px;font-weight:700;letter-spacing:-.035em;line-height:1}.wx-temp sup{color:var(--t-muted);font-size:18px;font-weight:500;line-height:1.6;vertical-align:top}.wx-condition{color:var(--t-muted);font-size:13px;margin-top:4px}.wx-condition strong{color:var(--t-base);font-weight:600}.wx-date{text-align:right}.wx-date h5{color:var(--t-base);font-family:Inter Tight,sans-serif;font-size:16px;font-weight:700;letter-spacing:-.02em;margin:0 0 2px}.wx-date p{color:var(--t-light);font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.06em;margin:0}.wx-stats{border-bottom:1px solid var(--border);border-top:1px solid var(--border);display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin:20px 0 16px;padding:16px 0}.wx-stats>div{display:flex;flex-direction:column;gap:4px}.wx-stat-label{color:var(--t-muted);font-size:11px;font-weight:500}.wx-stat-value{color:var(--t-base);font-family:Inter Tight,sans-serif;font-size:16px;font-weight:700;letter-spacing:-.018em}.wx-stat-value .unit{color:var(--t-light);font-size:11px;font-weight:500;letter-spacing:0;margin-left:3px}.wx-forecast{display:grid;gap:4px;grid-template-columns:repeat(7,1fr);text-align:center}.wx-day{border-radius:10px;cursor:pointer;padding:10px 4px;transition:background .16s ease}.wx-day:hover{background:var(--bg-hover)}.wx-day.is-today{background:var(--primary);color:#fff}.wx-day-name{color:var(--t-muted);font-size:10.5px;font-weight:600;letter-spacing:.04em;margin-bottom:6px}.wx-day.is-today .wx-day-name{color:hsla(0,0%,100%,.85)}.wx-day-icon{color:var(--t-muted);height:22px;margin:0 auto 6px;width:22px}.wx-day-icon svg{fill:none;height:100%;stroke:currentColor;stroke-width:1.6;width:100%}.wx-day.is-today .wx-day-icon{color:#fff}.wx-day-temp{color:var(--t-base);font-size:12.5px;font-weight:600}.wx-day.is-today .wx-day-temp{color:#fff}.chat-frame{background:var(--bg-muted);border-radius:12px;margin:-6px -6px 0;overflow:hidden}.chat-messages{display:flex;flex-direction:column;gap:16px;min-height:200px;padding:20px}.chat-row{display:flex;gap:10px;max-width:min(85%,560px)}.chat-row.me{flex-direction:row-reverse;margin-left:auto}.chat-avatar{background:var(--bg-card);border:1px solid var(--border);border-radius:50%;color:var(--t-base);display:grid;flex-shrink:0;font-size:11.5px;font-weight:600;height:30px;place-items:center;width:30px}.chat-avatar.me{background:linear-gradient(135deg,var(--primary),var(--purple));border:0;color:#fff}.chat-stack{display:flex;flex-direction:column;gap:4px;min-width:0}.chat-row.me .chat-stack{align-items:flex-end}.chat-bubble{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;border-top-left-radius:4px;box-shadow:var(--shadow-sm);color:var(--t-base);font-size:13px;line-height:1.45;padding:8px 12px}.chat-row.me .chat-bubble{background:var(--primary);border-color:var(--primary);border-top-left-radius:14px;border-top-right-radius:4px;color:#fff}.chat-ts{color:var(--t-light);font-family:JetBrains Mono,monospace;font-size:9.5px;letter-spacing:.04em;padding:0 4px}.chat-input-row{align-items:center;background:var(--bg-card);border-top:1px solid var(--border);display:flex;gap:8px;padding:12px 14px}.chat-input{background:transparent;border:0;color:var(--t-base);flex:1;font-size:13.5px;outline:0;padding:4px 0}.chat-input::-moz-placeholder{color:var(--t-light)}.chat-input::placeholder{color:var(--t-light)}.chat-send{background:var(--primary);border-radius:999px;box-shadow:0 2px 6px -1px color-mix(in oklab,var(--primary) 40%,transparent);color:#fff;display:grid;flex-shrink:0;height:34px;place-items:center;transition:background .18s;width:34px}.chat-send:hover{background:var(--primary-dark)}.chat-send svg{fill:none;height:15px;stroke:currentColor;stroke-width:2;width:15px}.mail-hero{align-items:flex-end;animation:rise-in .6s cubic-bezier(.2,.7,.2,1) both;display:flex;gap:24px;justify-content:space-between;margin-bottom:20px}.mail-hero .hero-title{font-size:clamp(24px,2.4vw,28px);margin-bottom:6px}.mail-hero .hero-sub{font-size:13.5px}.mail-shell{animation:rise-in .6s cubic-bezier(.2,.7,.2,1) both;animation-delay:80ms;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-card);display:grid;gap:20px;grid-template-columns:220px minmax(320px,1fr) minmax(0,1.4fr);height:calc(100vh - 240px);min-height:560px;overflow:hidden}.mail-rail,.mail-shell{background:var(--bg-card)}.mail-rail{border-right:1px solid var(--border-soft);display:flex;flex-direction:column;gap:18px;overflow-y:auto;padding:18px 14px}.mail-rail::-webkit-scrollbar{width:4px}.mail-rail::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.mail-compose{align-items:center;background:var(--primary);border-radius:9px;box-shadow:0 2px 6px -1px var(--primary-ring);color:#fff;display:inline-flex;font-size:13px;font-weight:600;gap:8px;justify-content:center;padding:11px 14px;transition:background .18s}.mail-compose:hover{background:var(--primary-dark)}.mail-compose svg{fill:none;height:14px;stroke:currentColor;stroke-width:2;width:14px}.mail-rail-section{display:flex;flex-direction:column;gap:1px}.mail-rail-label{color:var(--t-light);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.2em;padding:0 10px 8px;text-transform:uppercase}.mail-folder{align-items:center;border-radius:8px;color:var(--t-muted);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:10px;padding:8px 10px;transition:background .16s ease,color .16s ease}.mail-folder svg{fill:none;flex-shrink:0;height:15px;stroke:currentColor;stroke-width:1.75;width:15px}.mail-folder:hover{background:var(--bg-hover);color:var(--t-base)}.mail-folder.is-active{background:var(--primary-soft);color:var(--primary);font-weight:600}.mail-folder-name{flex:1;min-width:0}.mail-folder-count{color:var(--t-light);font-family:JetBrains Mono,monospace;font-size:10.5px;font-weight:500}.mail-folder.is-active .mail-folder-count{color:var(--primary)}.mail-folder-count.is-strong{border-radius:999px;font-size:10px;padding:2px 7px}.mail-folder-count.is-strong,.mail-folder.is-active .mail-folder-count.is-strong{background:var(--primary);color:#fff}.mail-label-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.mail-rail-storage{border-top:1px solid var(--border-soft);margin-top:auto;padding:14px 10px 4px}.mail-storage-head{align-items:center;color:var(--t-muted);display:flex;font-size:11.5px;font-weight:500;justify-content:space-between;margin-bottom:8px}.mail-storage-head .num{color:var(--t-light);font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.04em}.mail-storage-bar{background:var(--bg-muted);border-radius:99px;height:4px;overflow:hidden}.mail-storage-bar-fill{animation:bar-in .9s cubic-bezier(.2,.7,.2,1) .3s both;background:linear-gradient(90deg,var(--primary),var(--purple));border-radius:99px;height:100%;transform-origin:left}.mail-storage-foot{color:var(--t-light);font-size:11px;margin-top:6px}.mail-storage-foot a{color:var(--primary);font-weight:600}.mail-list{background:var(--bg-card);border-right:1px solid var(--border-soft);min-width:0;overflow:hidden}.mail-list,.mail-list-head{display:flex;flex-direction:column}.mail-list-head{border-bottom:1px solid var(--border-soft);gap:12px;padding:14px 16px}.mail-list-toptools{align-items:center;display:flex;gap:10px;justify-content:space-between}.mail-list-title{color:var(--t-base);font-family:Inter Tight,sans-serif;font-size:15px;font-weight:700;letter-spacing:-.018em}.mail-list-title .meta{color:var(--t-light);font-family:JetBrains Mono,monospace;font-size:10.5px;font-weight:500;letter-spacing:.04em;margin-left:8px}.mail-list-tools{display:flex;gap:2px}.mail-tool{border-radius:7px;color:var(--t-muted);display:grid;height:28px;place-items:center;transition:background .16s,color .16s;width:28px}.mail-tool:hover{background:var(--bg-hover);color:var(--t-base)}.mail-tool svg{fill:none;height:14px;stroke:currentColor;stroke-width:1.8;width:14px}.mail-search{position:relative}.mail-search input{background:var(--bg-muted);border:1px solid var(--border);border-radius:8px;color:var(--t-base);font-size:12.5px;outline:0;padding:8px 10px 8px 32px;transition:border-color .18s,box-shadow .18s,background .18s;width:100%}.mail-search input::-moz-placeholder{color:var(--t-light)}.mail-search input::placeholder{color:var(--t-light)}.mail-search input:focus{background:var(--bg-card);border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.mail-search svg{fill:none;height:13px;left:10px;pointer-events:none;position:absolute;stroke:var(--t-light);stroke-width:2;top:50%;transform:translateY(-50%);width:13px}.mail-tabs{background:var(--bg-card);border-bottom:1px solid var(--border-soft);display:flex;gap:4px;padding:0 16px}.mail-tab{border-bottom:2px solid transparent;color:var(--t-muted);font-size:12px;font-weight:500;margin-right:14px;padding:10px 4px;position:relative;top:1px;transition:color .16s,border-color .16s}.mail-tab:hover{color:var(--t-base)}.mail-tab.is-active{border-bottom-color:var(--primary);color:var(--primary);font-weight:600}.mail-tab .num{color:var(--t-light);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.04em;margin-left:4px}.mail-tab.is-active .num{color:var(--primary)}.mail-list-scroll{flex:1;overflow-y:auto;padding:4px 0}.mail-list-scroll::-webkit-scrollbar{width:4px}.mail-list-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.mail-row{border-bottom:1px solid var(--border-soft);cursor:pointer;display:grid;gap:10px;grid-template-columns:36px 1fr;padding:12px 16px;position:relative;transition:background .16s ease}.mail-row:hover{background:var(--bg-hover)}.mail-row.is-active{background:var(--primary-soft);box-shadow:inset 3px 0 0 var(--primary)}.mail-row.is-unread:before{background:var(--primary);border-radius:50%;content:"";height:5px;left:8px;position:absolute;top:18px;width:5px}.mail-row-avatar{border-radius:50%;color:#fff;display:grid;flex-shrink:0;font-size:12px;font-weight:600;height:36px;place-items:center;width:36px}.ma-1{background:linear-gradient(135deg,var(--primary),var(--purple))}.ma-2{background:linear-gradient(135deg,var(--success),var(--teal))}.ma-3{background:linear-gradient(135deg,var(--danger),var(--warning))}.ma-4{background:linear-gradient(135deg,var(--info),var(--primary-light))}.ma-5{background:linear-gradient(135deg,var(--orange),var(--pink))}.ma-6{background:linear-gradient(135deg,var(--purple),var(--pink))}.mail-row-body{display:flex;flex-direction:column;gap:3px;min-width:0}.mail-row-top{align-items:baseline;display:flex;gap:8px;justify-content:space-between}.mail-row-from{color:var(--t-base);font-size:13px;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-row.is-unread .mail-row-from{font-weight:700}.mail-row-time{color:var(--t-light);flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.04em}.mail-row.is-unread .mail-row-time{color:var(--primary)}.mail-row-subject{color:var(--t-base);font-size:12.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-row.is-unread .mail-row-subject{font-weight:600}.mail-row-preview{color:var(--t-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-row-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.mail-tag{border-radius:999px;font-size:9.5px;font-weight:600;letter-spacing:.04em;line-height:1.4;padding:2px 7px;text-transform:uppercase}.mail-tag.work{background:var(--primary-soft);color:var(--primary)}.mail-tag.team{background:var(--success-soft);color:var(--success)}.mail-tag.finance{background:var(--purple-soft);color:var(--purple)}.mail-tag.invoice{background:var(--warning-soft);color:var(--warning)}.mail-tag.travel{background:var(--info-soft);color:var(--info)}.mail-tag.attach{align-items:center;background:var(--bg-muted);color:var(--t-muted);display:inline-flex;gap:3px}.mail-tag.attach svg{fill:none;height:9px;stroke:currentColor;stroke-width:2.4;width:9px}.mail-star{bottom:12px;color:var(--t-light);cursor:pointer;position:absolute;right:16px;transition:color .16s}.mail-star svg{fill:none;height:13px;stroke:currentColor;stroke-width:1.8;width:13px}.mail-star.is-on,.mail-star:hover{color:var(--warning)}.mail-star.is-on svg{fill:var(--warning)}.mail-reader{background:var(--bg-card);display:flex;flex-direction:column;min-width:0;overflow:hidden}.reader-toolbar{align-items:center;border-bottom:1px solid var(--border-soft);display:flex;gap:10px;justify-content:space-between;padding:12px 22px}.reader-tools-group{align-items:center;display:flex;gap:2px}.reader-tools-group .sep{background:var(--border-soft);height:18px;margin:0 6px;width:1px}.reader-scroll{flex:1;overflow-y:auto;padding:24px 28px 28px}.reader-scroll::-webkit-scrollbar{width:5px}.reader-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.reader-head{margin-bottom:18px}.reader-subject{color:var(--t-base);font-family:Inter Tight,sans-serif;font-size:22px;font-weight:700;letter-spacing:-.022em;line-height:1.25;margin:0 0 10px}.reader-meta-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.reader-meta-row .mail-tag{font-size:10px;padding:3px 8px}.reader-card{border:1px solid var(--border-soft);border-radius:12px;margin-bottom:14px;overflow:hidden}.reader-card-head{align-items:flex-start;background:var(--bg-card);border-bottom:1px solid var(--border-soft);display:flex;gap:12px;padding:14px 16px}.reader-avatar{border-radius:50%;color:#fff;display:grid;flex-shrink:0;font-size:13px;font-weight:600;height:40px;place-items:center;width:40px}.reader-from-block{flex:1;line-height:1.3;min-width:0}.reader-from-name{color:var(--t-base);font-size:13.5px;font-weight:600}.reader-from-email{color:var(--t-muted);font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.02em}.reader-from-meta{color:var(--t-light);font-size:11.5px;margin-top:4px}.reader-time-block{color:var(--t-muted);flex-shrink:0;font-size:11.5px;text-align:right}.reader-time-block .mono{color:var(--t-light);display:block;font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.04em;margin-top:2px}.reader-actions{display:flex;gap:4px;margin-left:4px}.reader-body{background:var(--bg-card);color:var(--t-base);font-size:13.5px;line-height:1.65;padding:18px 16px}.reader-body p{margin:0 0 12px}.reader-body p:last-child{margin-bottom:0}.reader-body strong{color:var(--t-base);font-weight:600}.reader-body a{color:var(--primary);font-weight:500}.reader-body ul{list-style:disc;margin:0 0 12px;padding-left:18px}.reader-body li{margin:4px 0}.reader-quote{background:var(--bg-muted);border-left:2px solid var(--border);border-radius:0 8px 8px 0;color:var(--t-muted);font-size:12.5px;margin:14px 0 4px;padding:12px 14px}.reader-attach{background:var(--bg-card);border-top:1px solid var(--border-soft);padding:14px 16px}.reader-attach-head{align-items:center;color:var(--t-light);display:flex;font-family:JetBrains Mono,monospace;font-size:10.5px;gap:8px;letter-spacing:.14em;margin-bottom:12px;text-transform:uppercase}.reader-attach-head svg{fill:none;height:11px;stroke:currentColor;stroke-width:2;width:11px}.reader-attach-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.reader-attach-item{align-items:center;background:var(--bg-card);border:1px solid var(--border-soft);border-radius:9px;cursor:pointer;display:flex;gap:10px;padding:10px;transition:border-color .16s,box-shadow .16s,transform .16s}.reader-attach-item:hover{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.attach-ico{border-radius:8px;color:#fff;display:grid;flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:9.5px;font-weight:700;height:34px;letter-spacing:.04em;place-items:center;width:34px}.attach-ico.pdf{background:var(--danger)}.attach-ico.doc{background:var(--primary)}.attach-ico.xls{background:var(--success)}.attach-ico.img{background:var(--purple)}.attach-ico.zip{background:var(--orange)}.attach-meta{line-height:1.3;min-width:0}.attach-name{color:var(--t-base);font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-size{color:var(--t-light);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.04em}.reader-collapsed{align-items:center;background:var(--bg-card);cursor:pointer;display:flex;gap:12px;padding:12px 16px;transition:background .16s}.reader-collapsed:hover{background:var(--bg-hover)}.reader-collapsed .reader-avatar{font-size:11px;height:28px;width:28px}.reader-collapsed-from{color:var(--t-base);font-size:12.5px;font-weight:600}.reader-collapsed-preview{color:var(--t-muted);flex:1;font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reader-collapsed-time{color:var(--t-light);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.04em}.reader-replybar{align-items:center;background:var(--bg-muted);border:1px solid var(--border-soft);border-radius:12px;display:flex;gap:6px;margin-top:8px;padding:14px 16px}.reader-replybar input{background:transparent;border:0;color:var(--t-base);flex:1;font-size:13px;outline:0;padding:4px 6px}.reader-replybar input::-moz-placeholder{color:var(--t-light)}.reader-replybar input::placeholder{color:var(--t-light)}.reader-replybar .reply-send{background:var(--primary);border-radius:8px;color:#fff;display:grid;flex-shrink:0;height:32px;place-items:center;transition:background .18s;width:32px}.reader-replybar .reply-send:hover{background:var(--primary-dark)}.reader-replybar .reply-send svg{fill:none;height:14px;stroke:currentColor;stroke-width:2;width:14px}.cal-hero{margin-bottom:20px}.cal-hero .hero-title{font-size:clamp(24px,2.4vw,28px);margin-bottom:6px}.cal-hero .hero-sub{font-size:13.5px}.cal-shell{animation:rise-in .6s cubic-bezier(.2,.7,.2,1) both;animation-delay:80ms;display:grid;gap:20px;grid-template-columns:280px minmax(0,1fr)}.cal-rail{display:flex;flex-direction:column;gap:18px;min-width:0}.cal-quickadd{align-items:center;background:var(--primary);border-radius:10px;box-shadow:0 2px 6px -1px var(--primary-ring);color:#fff;display:inline-flex;font-size:13px;font-weight:600;gap:8px;justify-content:center;padding:11px 14px;transition:background .18s}.cal-quickadd:hover{background:var(--primary-dark)}.cal-quickadd svg{fill:none;height:14px;stroke:currentColor;stroke-width:2;width:14px}.cal-rail-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:12px;padding:16px}.cal-rail-head{align-items:center;display:flex;gap:8px;justify-content:space-between}.cal-rail-title{color:var(--t-base);font-family:Inter Tight,sans-serif;font-size:13.5px;font-weight:700;letter-spacing:-.01em}.cal-rail-tools{display:flex;gap:2px}.mini-cal-grid{display:grid;gap:1px;grid-template-columns:repeat(7,1fr)}.mini-cal-wd{color:var(--t-light);font-family:JetBrains Mono,monospace;font-size:9.5px;letter-spacing:.06em;padding:4px 0 6px;text-align:center}.mini-cal-day{aspect-ratio:1;border-radius:7px;color:var(--t-base);cursor:pointer;display:grid;font-size:11.5px;place-items:center;position:relative;transition:background .14s ease,color .14s ease}.mini-cal-day:hover{background:var(--bg-hover)}.mini-cal-day.is-other{color:var(--t-light)}.mini-cal-day.is-today{background:var(--primary);color:#fff;font-weight:700}.mini-cal-day.has-event:after{background:var(--primary);border-radius:50%;bottom:3px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:3px}.mini-cal-day.is-today.has-event:after{background:#fff}.cal-list{display:flex;flex-direction:column;gap:2px}.cal-list-item{align-items:center;border-radius:7px;cursor:pointer;display:flex;gap:10px;padding:7px 8px;transition:background .14s ease}.cal-list-item:hover{background:var(--bg-hover)}.cal-list-check{background:currentColor;border:1.5px solid;border-radius:4px;flex-shrink:0;height:14px;position:relative;width:14px}.cal-list-check:after{border:solid #fff;border-width:0 1.5px 1.5px 0;content:"";height:7px;left:3px;position:absolute;top:0;transform:rotate(45deg);width:3px}.cal-list-check.is-off{background:transparent}.cal-list-check.is-off:after{display:none}.cal-list-name{color:var(--t-base);flex:1;font-size:12.5px;min-width:0}.cal-list-count,.cal-list-item.is-off .cal-list-name{color:var(--t-light)}.cal-list-count{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.04em}.upc-list{display:flex;flex-direction:column}.upc-item{align-items:center;border-top:1px solid var(--border-soft);display:grid;gap:12px;grid-template-columns:44px 1fr;padding:11px 0}.upc-item:first-child{border-top:0;padding-top:4px}.upc-date{background:var(--bg-muted);border-radius:8px;line-height:1.05;padding:6px 0;text-align:center}.upc-date .day{color:var(--t-base);font-family:Inter Tight,sans-serif;font-size:17px;font-weight:700;letter-spacing:-.022em}.upc-date .mo{color:var(--t-light);display:block;font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.08em;margin-top:2px;text-transform:uppercase}.upc-date.is-today{background:var(--primary-soft)}.upc-date.is-today .day,.upc-date.is-today .mo{color:var(--primary)}.upc-meta{line-height:1.35;min-width:0}.upc-title{color:var(--t-base);font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upc-time{align-items:center;color:var(--t-muted);display:flex;font-size:11.5px;gap:6px;margin-top:3px}.upc-time .dot{border-radius:50%;flex-shrink:0;height:6px;width:6px}.upc-time .mono{color:var(--t-light);font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.04em}.cal-main{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;min-width:0;overflow:hidden}.cal-toolbar{border-bottom:1px solid var(--border-soft);gap:16px;justify-content:space-between;padding:16px 20px}.cal-toolbar,.cal-toolbar-left{align-items:center;display:flex}.cal-toolbar-left{gap:14px;min-width:0}.cal-month{color:var(--t-base);font-family:Inter Tight,sans-serif;font-size:22px;font-weight:700;letter-spacing:-.022em;line-height:1;white-space:nowrap}.cal-month .yr{color:var(--t-light);font-weight:500;margin-left:4px}.cal-nav{align-items:center;display:flex;gap:4px}.cal-nav-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:7px;color:var(--t-muted);display:grid;height:30px;place-items:center;transition:background .16s,color .16s;width:30px}.cal-nav-btn:hover{background:var(--bg-hover);border-color:var(--t-light);color:var(--t-base)}.cal-nav-btn svg{fill:none;height:13px;stroke:currentColor;stroke-width:2;width:13px}.cal-today-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:7px;color:var(--t-base);font-size:12px;font-weight:600;height:30px;padding:0 12px;transition:border-color .16s,background .16s}.cal-today-btn:hover{background:var(--bg-hover);border-color:var(--t-light)}.cal-views{background:var(--bg-muted);border-radius:8px;display:flex;gap:2px;padding:3px}.cal-view-tab{border-radius:6px;color:var(--t-muted);font-size:12px;font-weight:600;padding:6px 12px;transition:background .16s,color .16s,box-shadow .16s}.cal-view-tab:hover{color:var(--t-base)}.cal-view-tab.is-active{background:var(--bg-card);box-shadow:var(--shadow-sm);color:var(--t-base)}.cal-toolbar-right{align-items:center;display:flex;gap:8px}.cal-weekdays{background:var(--bg-card);border-bottom:1px solid var(--border);display:grid;grid-template-columns:repeat(7,1fr)}.cal-weekdays>div{color:var(--t-light);font-family:JetBrains Mono,monospace;font-size:10px;font-weight:500;letter-spacing:.18em;padding:10px 12px;text-align:left;text-transform:uppercase}.cal-grid{display:grid;flex:1;grid-auto-rows:minmax(110px,1fr);grid-template-columns:repeat(7,1fr)}.cal-cell{border-bottom:1px solid var(--border-soft);border-right:1px solid var(--border-soft);cursor:pointer;display:flex;flex-direction:column;gap:4px;min-width:0;padding:8px 8px 6px;position:relative;transition:background .16s ease}.cal-cell:hover{background:var(--bg-hover)}.cal-cell:nth-child(7n){border-right:0}.cal-grid>.cal-cell:nth-last-child(-n+7){border-bottom:0}.cal-cell.is-other{background:var(--bg-muted)}.cal-cell.is-other:hover{background:var(--bg-hover)}.cal-day-num{align-self:flex-start;border-radius:6px;color:var(--t-base);font-family:Inter Tight,sans-serif;font-size:13px;font-weight:600;line-height:1;margin-bottom:2px;padding:2px 4px}.cal-cell.is-other .cal-day-num{color:var(--t-light);font-weight:500}.cal-cell.is-today .cal-day-num{background:var(--primary);color:#fff;min-width:22px;padding:4px 6px;text-align:center}.cal-cell.is-weekend:not(.is-today):not(.is-other) .cal-day-num{color:var(--t-muted)}.cal-chips{flex-direction:column;gap:2px}.cal-chip,.cal-chips{display:flex;min-width:0}.cal-chip{align-items:center;border-left:2px solid transparent;border-radius:5px;cursor:pointer;font-size:11px;font-weight:500;gap:6px;line-height:1.3;overflow:hidden;padding:3px 7px;text-overflow:ellipsis;transition:filter .16s ease,transform .14s ease;white-space:nowrap}.cal-chip:hover{transform:translateX(1px)}.cal-chip-time{flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:9.5px;font-weight:600;letter-spacing:.02em}.cal-chip-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-chip.work{background:var(--primary-soft);border-left-color:var(--primary);color:var(--primary)}.cal-chip.team{background:var(--success-soft);border-left-color:var(--success);color:var(--success)}.cal-chip.personal{background:var(--purple-soft);border-left-color:var(--purple);color:var(--purple)}.cal-chip.travel{background:var(--info-soft);border-left-color:var(--info);color:var(--info)}.cal-chip.finance{background:var(--warning-soft);border-left-color:var(--warning);color:var(--warning)}.cal-chip.birthday{background:var(--pink-soft);border-left-color:var(--pink);color:var(--pink)}.cal-chip.holiday{background:var(--orange-soft);border-left-color:var(--orange);color:var(--orange)}.cal-chip.solid{color:#fff}.cal-chip.solid.work{background:var(--primary);border-left-color:var(--primary-dark)}.cal-chip.solid.team{background:var(--success);border-left-color:var(--success)}.cal-chip.solid.personal{background:var(--purple);border-left-color:var(--purple)}.cal-chip-more{color:var(--t-muted);cursor:pointer;font-size:10.5px;font-weight:600;padding:3px 7px;transition:color .16s}.cal-chip-more:hover{color:var(--primary)}[data-fc]{--fc-border-color:var(--border-soft);--fc-page-bg-color:var(--bg-card);--fc-neutral-bg-color:var(--bg-muted);--fc-neutral-text-color:var(--t-muted);--fc-today-bg-color:color-mix(in oklab,var(--primary) 10%,transparent);--fc-now-indicator-color:var(--danger);--fc-event-bg-color:var(--primary);--fc-event-border-color:var(--primary);--fc-event-text-color:#fff;--fc-event-selected-overlay-color:rgba(15,23,42,.06);--fc-list-event-hover-bg-color:var(--bg-hover);--fc-highlight-color:color-mix(in oklab,var(--primary) 16%,transparent);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;height:100%}.fc .fc-col-header-cell-cushion{color:var(--t-light);font-family:JetBrains Mono,monospace;font-size:10px;font-weight:500;letter-spacing:.18em;padding:10px 0;text-transform:uppercase}.fc-theme-standard .fc-scrollgrid,.fc-theme-standard td,.fc-theme-standard th{border-color:var(--border-soft)}.fc .fc-daygrid-day-number{color:var(--t-base);font-family:Inter Tight,sans-serif;font-size:12.5px;font-weight:600;padding:6px 8px}.fc .fc-day-other .fc-daygrid-day-number{color:var(--t-light);font-weight:500}.fc .fc-day-today .fc-daygrid-day-number{background:var(--primary);border-radius:6px;color:#fff;margin:4px;min-width:22px;padding:3px 7px;text-align:center}.fc .fc-day-today{background:transparent}.fc .fc-daygrid-day-frame{padding:2px 4px}.fc .fc-daygrid-event,.fc .fc-timegrid-event{border:0;border-left:2px solid transparent;border-radius:5px;cursor:pointer;font-size:11px;font-weight:500;line-height:1.3;margin:1px 4px;padding:2px 6px;transition:transform .14s ease,filter .16s ease}.fc .fc-daygrid-event:hover{transform:translateX(1px)}.fc .fc-daygrid-event-dot{display:none}.fc .fc-event-time{font-family:JetBrains Mono,monospace;font-size:9.5px;font-weight:600;margin-right:4px;opacity:.85}.fc .fc-event.fc-cat-work{background:var(--primary-soft);border-left-color:var(--primary);color:var(--primary)}.fc .fc-event.fc-cat-team{background:var(--success-soft);border-left-color:var(--success);color:var(--success)}.fc .fc-event.fc-cat-personal{background:var(--purple-soft);border-left-color:var(--purple);color:var(--purple)}.fc .fc-event.fc-cat-travel{background:var(--info-soft);border-left-color:var(--info);color:var(--info)}.fc .fc-event.fc-cat-finance{background:var(--warning-soft);border-left-color:var(--warning);color:var(--warning)}.fc .fc-event.fc-cat-birthday{background:var(--pink-soft);border-left-color:var(--pink);color:var(--pink)}.fc .fc-event.fc-cat-team .fc-event-time,.fc .fc-event.fc-cat-travel .fc-event-time,.fc .fc-event.fc-cat-work .fc-event-time{color:inherit}.fc .fc-daygrid-more-link{color:var(--t-muted);font-size:10.5px;font-weight:600;padding:2px 6px}.fc .fc-daygrid-more-link:hover{color:var(--primary)}.fc .fc-timegrid-axis-cushion,.fc .fc-timegrid-slot-label-cushion{color:var(--t-light);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.04em}.fc .fc-timegrid-now-indicator-line{border-color:var(--danger);border-width:1.5px}.fc .fc-timegrid-now-indicator-arrow{border-color:var(--danger)}.fc .fc-list-day-cushion{background:var(--bg-muted)}.fc .fc-list-day-side-text,.fc .fc-list-day-text{color:var(--t-base);font-family:Inter Tight,sans-serif;font-size:13px;font-weight:600}.fc .fc-list-event-time,.fc .fc-list-event-title{color:var(--t-base);font-size:13px}.fc .fc-list-event-dot{border-color:var(--primary)}.fc .fc-list-empty{background:var(--bg-card);color:var(--t-muted)}.palette-backdrop{align-items:flex-start;animation:palette-fade .16s ease both;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:rgba(15,23,42,.55);display:none;inset:0;justify-content:center;padding:12vh 16px 16px;position:fixed;z-index:200}body.has-palette-open .palette-backdrop{display:flex}@keyframes palette-fade{0%{opacity:0}to{opacity:1}}.palette-modal{animation:palette-rise .2s cubic-bezier(.2,.7,.2,1) both;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:70vh;max-width:560px;overflow:hidden;width:100%}@keyframes palette-rise{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.palette-input-row{align-items:center;border-bottom:1px solid var(--border-soft);display:flex;gap:12px;padding:14px 16px}.palette-icon{color:var(--t-muted);flex-shrink:0;height:18px;width:18px}.palette-input{background:transparent;border:0;color:var(--t-base);flex:1;font-family:inherit;font-size:15px;min-width:0;outline:0;padding:4px 0}.palette-input::-moz-placeholder{color:var(--t-light)}.palette-input::placeholder{color:var(--t-light)}.palette-esc{background:var(--bg-muted);border:1px solid var(--border);border-radius:5px;color:var(--t-muted);flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.04em;padding:3px 7px;text-transform:lowercase}.palette-results{flex:1;overflow-y:auto;padding:6px}.palette-results::-webkit-scrollbar{width:4px}.palette-results::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.palette-result{align-items:center;border-radius:8px;cursor:pointer;display:grid;gap:12px;grid-template-columns:28px 1fr auto;padding:9px 12px;transition:background .12s}.palette-result:hover{background:var(--bg-hover)}.palette-result.is-selected{background:var(--primary-soft);color:var(--primary)}.palette-result-icon{background:var(--bg-muted);border-radius:6px;color:var(--t-muted);display:grid;flex-shrink:0;height:28px;place-items:center;width:28px}.palette-result.is-selected .palette-result-icon{background:color-mix(in oklab,var(--primary) 14%,transparent);color:var(--primary)}.palette-result-icon svg{height:14px;width:14px}.palette-result-label{color:var(--t-base);font-size:13.5px;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-result.is-selected .palette-result-label{color:var(--primary);font-weight:600}.palette-result-section{color:var(--t-light);flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.04em;text-transform:uppercase}.palette-result.is-selected .palette-result-section{color:var(--primary);opacity:.8}.palette-empty{color:var(--t-muted);font-size:13px;padding:32px 16px;text-align:center}.palette-foot{background:var(--bg-card);border-top:1px solid var(--border-soft);color:var(--t-muted);display:flex;font-size:11px;gap:18px;padding:10px 16px}.palette-foot kbd{background:var(--bg-muted);border:1px solid var(--border);border-radius:4px;color:var(--t-muted);font-family:JetBrains Mono,monospace;font-size:9.5px;letter-spacing:.04em;margin-right:4px;padding:1.5px 5px}@media(max-width:600px){.palette-backdrop{padding-top:6vh}.palette-foot{flex-wrap:wrap;font-size:10px;gap:10px}}@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-aside{display:none}}@media(max-width:1200px){.sv-regions{gap:28px;grid-template-columns:repeat(2,minmax(0,1fr))}.sv-radials{gap:18px;grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mail-shell{grid-template-columns:200px 1fr;height:auto;min-height:0}.mail-reader{display:none}.cal-shell{grid-template-columns:240px 1fr}.cal-grid{grid-auto-rows:minmax(96px,1fr)}}@media(max-width:1100px){.shell{grid-template-columns:72px 1fr}.d-sidebar{padding:20px 10px}.brand-tag,.brand-text,.nav-label,.nav-link .chev,.nav-link .nav-badge,.nav-link>span:not(.nav-badge),.nav-submenu,.workspace-chev,.workspace-text{display:none}.brand{padding:0 0 18px}.brand,.nav-link{justify-content:center}.nav-link{padding:10px}.nav-link.is-active:before{left:-10px}.workspace{justify-content:center;padding:6px}.col-6{grid-column:span 12}.chat-shell{grid-template-columns:240px 1fr}}@media(max-width:720px){.shell{display:block}.d-sidebar{box-shadow:0 12px 40px -8px rgba(0,0,0,.4);height:100vh;left:0;padding:22px 16px 18px;position:fixed;top:0;transform:translateX(-100%);transition:transform .24s cubic-bezier(.2,.7,.2,1);width:280px;z-index:100}.brand-tag,.brand-text,.nav-label,.nav-link .chev,.nav-link .nav-badge,.nav-link>span:not(.nav-badge),.nav-submenu,.workspace-chev,.workspace-text{display:revert}.brand{padding:4px 10px 20px}.brand,.nav-link{justify-content:flex-start}.nav-link{padding:9px 12px}.workspace{justify-content:flex-start;padding:6px 10px}body.has-drawer-open .d-sidebar{transform:translateX(0)}body.has-drawer-open{overflow:hidden}.hamburger{display:inline-flex}.d-topbar{padding:0 12px}.topbar-actions{gap:2px}.crumbs{flex:1;gap:6px;min-width:0;overflow:hidden}.crumbs .sep,.crumbs>span:not(.current){display:none}.crumbs .current{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd{height:36px;justify-content:center;min-width:0;padding:0;width:36px}.cmd .kbd,.cmd span{display:none}.cmd svg{height:16px;width:16px}.avatar{margin-left:2px}.dd-menu{max-width:360px;min-width:0;right:-8px;width:calc(100vw - 16px)}.dd-menu.dd-profile{max-width:280px;width:calc(100vw - 16px)}.content{padding:20px 16px 16px}.d-footer{gap:10px;padding:20px 16px}.d-footer,.hero{align-items:flex-start;flex-direction:column}.hero{gap:20px}.hero-actions{flex-wrap:wrap}.grid{gap:16px}.kpi-grid,.sv-regions{grid-template-columns:1fr}.sv-regions{gap:22px}.monthly-footer{gap:16px;grid-template-columns:repeat(2,1fr)}.wx-forecast{gap:6px;grid-template-columns:repeat(4,1fr)}.wx-hero{align-items:flex-start;flex-direction:column;gap:12px}.wx-date{text-align:left}.sales-summary{align-items:flex-start;flex-direction:column;gap:12px}.card{padding:18px}.card-head{flex-wrap:wrap;gap:10px}.chart-canvas-wrap{min-height:200px}.data-toolbar{align-items:stretch;flex-direction:column;gap:10px}.data-toolbar-left,.data-toolbar-right{flex-wrap:wrap;min-width:0}.data-foot{align-items:flex-start;flex-direction:column;gap:12px}.mail-shell{grid-template-columns:1fr}.mail-rail{display:none}.mail-hero{align-items:flex-start;flex-direction:column;gap:16px}.chat-shell{grid-template-columns:1fr;height:auto}.chat-rail{display:none}.cal-shell{grid-template-columns:1fr}.cal-toolbar{flex-wrap:wrap;gap:10px;padding:14px}.cal-toolbar-left{justify-content:space-between;width:100%}.cal-views{order:3}.cal-grid{grid-auto-rows:minmax(78px,1fr)}.cal-weekdays>div{font-size:9px;letter-spacing:.1em;padding:8px 6px}.cal-cell{padding:5px}.cal-chip-time{display:none}.compose-row{gap:6px!important;grid-template-columns:1fr!important}.compose-row-actions{justify-content:flex-start!important}.auth-main{padding:24px 20px}}@media(max-width:480px){.monthly-footer{grid-template-columns:1fr}.wx-forecast{grid-template-columns:repeat(2,1fr)}.form-actions{align-items:stretch;flex-direction:column}.form-actions .btn{justify-content:center;width:100%}.form-actions .spacer{display:none}.social-row{grid-template-columns:1fr}}:root{--jvm-border-color:#e5e6e7;--jvm-box-shadow:0 1px 2px 0 rgba(0,0,0,.05);--jvm-tooltip-font-size:0.9rem;--jvm-tooltip-bg-color:#337ffa;--jvm-tooltip-color:#fff;--jvm-tooltip-padding:3px 5px;--jvm-tooltip-shadow:var(--jvm-box-shadow);--jvm-tooltip-radius:3px;--jvm-zoom-btn-bg-color:#292929;--jvm-zoom-btn-color:#fff;--jvm-zoom-btn-size:15px;--jvm-zoom-btn-radius:3px;--jvm-series-container-right:15px;--jvm-legend-bg-color:#fff;--jvm-legend-radius:0.15rem;--jvm-legend-margin-left:0.75rem;--jvm-legend-padding:0.6rem;--jvm-legend-title-padding-bottom:0.5rem;--jvm-legend-title-margin-bottom:0.575rem;--jvm-legend-tick-margin-top:0.575rem;--jvm-legend-tick-sample-radius:0;--jvm-legend-tick-sample-height:12px;--jvm-legend-tick-sample-width:30px;--jvm-legend-tick-text-font-size:12px;--jvm-legend-tick-text-margin-top:3px}.jvm-zoom-btn,image,text{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jvm-container{height:100%;position:relative;width:100%}.jvm-tooltip{background-color:var(--jvm-tooltip-bg-color);border-radius:var(--jvm-tooltip-radius);box-shadow:var(--jvm-tooltip-shadow);color:var(--jvm-tooltip-color);display:none;font-size:var(--jvm-tooltip-font-size);padding:var(--jvm-tooltip-padding);position:absolute;white-space:nowrap}.jvm-tooltip.active{display:block}.jvm-zoom-btn{background-color:var(--jvm-zoom-btn-bg-color);border-radius:var(--jvm-zoom-btn-radius);box-sizing:border-box;color:var(--jvm-zoom-btn-color);cursor:pointer;height:var(--jvm-zoom-btn-size);left:10px;line-height:var(--jvm-zoom-btn-size);position:absolute;text-align:center;width:var(--jvm-zoom-btn-size)}.jvm-zoom-btn.jvm-zoomin{top:var(--jvm-zoom-btn-size)}.jvm-zoom-btn.jvm-zoomout{top:calc(var(--jvm-zoom-btn-size)*2 + var(--jvm-zoom-btn-size)/3)}.jvm-series-container{position:absolute;right:var(--jvm-series-container-right)}.jvm-series-container.jvm-series-h{bottom:15px}.jvm-series-container.jvm-series-v{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:.75rem;top:15px}.jvm-legend{background-color:var(--jvm-legend-bg-color);border:1px solid var(--jvm-border-color);border-radius:var(--jvm-legend-radius);box-shadow:var(--jvm-box-shadow);margin-left:var(--jvm-legend-margin-left);padding:var(--jvm-legend-padding)}.jvm-legend-title{border-bottom:1px solid var(--jvm-border-color);line-height:1;margin-bottom:var(--jvm-legend-title-margin-bottom);padding-bottom:var(--jvm-legend-title-padding-bottom);text-align:left}.jvm-legend-tick{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-width:40px}.jvm-legend-tick:not(:first-child){margin-top:var(--jvm-legend-tick-margin-top)}.jvm-legend-tick-sample{border-radius:var(--jvm-legend-tick-sample-radius);height:var(--jvm-legend-tick-sample-height);margin-right:.45rem;width:var(--jvm-legend-tick-sample-width)}.jvm-legend-tick-text{font-size:var(--jvm-legend-tick-text-font-size);line-height:1;text-align:center}.jvm-line[animation=true]{-webkit-animation:jvm-line-animation 10s linear infinite forwards;animation:jvm-line-animation 10s linear infinite forwards}@-webkit-keyframes jvm-line-animation{0%{stroke-dashoffset:250}}@keyframes jvm-line-animation{0%{stroke-dashoffset:250}}
/* ============================================================
   SUPER PLANTILLA — Modales, Toasts, Tabs, Acordeón, Pasos,
   Timeline, Skeletons (tokens del sistema, modo oscuro ready)
   ============================================================ */

/* ---------- Sistema de modales ---------- */
.modal-overlay{align-items:center;background:rgba(9,13,24,.55);backdrop-filter:blur(3px);display:flex;inset:0;justify-content:center;opacity:0;padding:24px;pointer-events:none;position:fixed;transition:opacity .18s ease;z-index:1000}
.modal-overlay.open{opacity:1;pointer-events:auto}
.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:calc(100vh - 48px);max-width:520px;overflow:hidden;transform:translateY(14px) scale(.97);transition:transform .2s cubic-bezier(.2,.7,.2,1);width:100%}
.modal-overlay.open .modal{transform:none}
.modal form{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}
.modal--sm{max-width:380px}
.modal--lg{max-width:720px}
.modal--xl{max-width:960px}
.modal-head{align-items:center;border-bottom:1px solid var(--border-soft);display:flex;gap:12px;justify-content:space-between;padding:16px 20px}
.modal-title{color:var(--t-base);font-family:Inter Tight,sans-serif;font-size:15px;font-weight:700;letter-spacing:-.012em;margin:0}
.modal-close{flex:none}
.modal-body{color:var(--t-muted);font-size:13.5px;line-height:1.6;overflow-y:auto;padding:18px 20px}
.modal-body.scrollable{max-height:60vh}
.modal-body p{margin:0 0 10px}
.modal-body p:last-child{margin-bottom:0}
.modal-foot{align-items:center;background:var(--bg-card);border-top:1px solid var(--border-soft);display:flex;gap:8px;justify-content:flex-end;padding:14px 20px}
.modal-confirm-icon{border-radius:50%;display:grid;flex:none;height:56px;margin:0 auto;place-items:center;width:56px}
.modal-confirm-icon svg{fill:none;height:26px;stroke:currentColor;stroke-width:2;width:26px}
.modal-confirm-icon.danger{background:color-mix(in oklab,var(--danger) 14%,transparent);border:1px solid color-mix(in oklab,var(--danger) 30%,transparent);box-shadow:0 0 0 5px color-mix(in oklab,var(--danger) 7%,transparent);color:var(--danger)}
.modal-confirm-icon.warning{background:color-mix(in oklab,var(--warning) 14%,transparent);border:1px solid color-mix(in oklab,var(--warning) 30%,transparent);box-shadow:0 0 0 5px color-mix(in oklab,var(--warning) 7%,transparent);color:var(--warning)}
.modal-confirm-icon.success{background:color-mix(in oklab,var(--success) 14%,transparent);border:1px solid color-mix(in oklab,var(--success) 30%,transparent);box-shadow:0 0 0 5px color-mix(in oklab,var(--success) 7%,transparent);color:var(--success)}
.modal-confirm-icon.info{background:color-mix(in oklab,var(--info) 14%,transparent);border:1px solid color-mix(in oklab,var(--info) 30%,transparent);box-shadow:0 0 0 5px color-mix(in oklab,var(--info) 7%,transparent);color:var(--info)}
@media (prefers-reduced-motion:reduce){.modal-overlay,.modal{transition:none}}

/* ---------- Toasts ---------- */
.toast-stack{bottom:20px;display:flex;flex-direction:column;gap:10px;position:fixed;right:20px;width:min(340px,calc(100vw - 40px));z-index:1200}
.toast{align-items:flex-start;background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--tc,var(--primary));border-radius:12px;box-shadow:var(--shadow-lg);display:flex;gap:10px;opacity:0;padding:12px 14px;transform:translateX(24px);transition:opacity .25s ease,transform .25s cubic-bezier(.2,.7,.2,1)}
.toast.show{opacity:1;transform:none}
.toast.success{--tc:var(--success)}
.toast.warning{--tc:var(--warning)}
.toast.danger{--tc:var(--danger)}
.toast.info{--tc:var(--info)}
.toast-icon{color:var(--tc,var(--primary));display:grid;flex:none;height:18px;place-items:center;width:18px}
.toast-icon svg{fill:none;height:18px;stroke:currentColor;stroke-width:2;width:18px}
.toast-text{flex:1;min-width:0}
.toast-title{color:var(--t-base);font-size:13px;font-weight:700;line-height:1.35}
.toast-msg{color:var(--t-muted);font-size:12.5px;line-height:1.45;margin-top:2px}
.toast-close{border-radius:6px;color:var(--t-light);display:grid;flex:none;height:20px;place-items:center;transition:background .14s,color .14s;width:20px}
.toast-close:hover{background:var(--bg-hover);color:var(--t-base)}

/* ---------- Tabs ---------- */
.tabs{border-bottom:1px solid var(--border);display:flex;gap:2px;overflow-x:auto}
.tab{background:none;border:0;color:var(--t-muted);cursor:pointer;font:inherit;font-size:13px;font-weight:600;padding:10px 14px;position:relative;transition:color .15s}
.tab:hover{color:var(--t-base)}
.tab.active{color:var(--primary)}
.tab.active::after{background:var(--primary);border-radius:2px 2px 0 0;bottom:-1px;content:"";height:2px;left:12px;position:absolute;right:12px}
.tab-panel{display:none;padding-top:16px}
.tab-panel.active{display:block;animation:rise-in .3s ease both}

/* ---------- Acordeón ---------- */
.accordion{display:flex;flex-direction:column;gap:10px}
.acc-item{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:border-color .15s}
.acc-item.open{border-color:var(--primary)}
.acc-head{align-items:center;background:none;border:0;color:var(--t-base);cursor:pointer;display:flex;font-family:inherit;font-size:13.5px;font-weight:600;justify-content:space-between;padding:14px 16px;text-align:left;width:100%}
.acc-head:hover{color:var(--primary)}
.acc-caret{color:var(--t-light);flex:none;transition:transform .2s}
.acc-caret svg{fill:none;height:16px;stroke:currentColor;stroke-width:2;width:16px}
.acc-item.open .acc-caret{transform:rotate(180deg)}
.acc-body{max-height:0;overflow:hidden;transition:max-height .25s ease}
.acc-body-in{color:var(--t-muted);font-size:13px;line-height:1.6;padding:0 16px 14px}

/* ---------- Pasos (wizard) ---------- */
.steps{display:flex;gap:8px;list-style:none;margin:0 0 20px;padding:0}
.step{flex:1;position:relative;text-align:center}
.step::before{background:var(--border);content:"";height:2px;left:calc(-50% + 16px);position:absolute;right:calc(50% + 16px);top:15px}
.step:first-child::before{display:none}
.step.done::before,.step.active::before{background:var(--primary)}
.step-dot{align-items:center;background:var(--bg-card);border:2px solid var(--border);border-radius:50%;color:var(--t-light);display:flex;font-size:11.5px;font-weight:700;height:30px;justify-content:center;margin:0 auto 6px;position:relative;width:30px;z-index:1}
.step-dot svg{fill:none;height:14px;stroke:currentColor;stroke-width:2.5;width:14px}
.step.active .step-dot{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 0 0 4px var(--primary-ring)}
.step.done .step-dot{background:var(--success-soft);border-color:var(--success);color:var(--success)}
.step-label{color:var(--t-muted);font-size:12px;font-weight:600}
.step.active .step-label{color:var(--t-base)}
.step.done .step-label{color:var(--success)}

/* ---------- Timeline ---------- */
.timeline{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}
.tl-item{display:flex;gap:14px;position:relative}
.tl-item::before{background:var(--border);bottom:-4px;content:"";left:7px;position:absolute;top:22px;width:2px}
.tl-item:last-child::before{display:none}
.tl-dot{border:2px solid var(--primary);border-radius:50%;flex:none;height:16px;margin-top:3px;width:16px}
.tl-dot.primary{background:var(--primary-soft)}
.tl-dot.success{background:var(--success-soft);border-color:var(--success)}
.tl-dot.warning{background:var(--warning-soft);border-color:var(--warning)}
.tl-dot.danger{background:var(--danger-soft);border-color:var(--danger)}
.tl-body{flex:1;min-width:0;padding-bottom:18px}
.tl-title{color:var(--t-base);font-size:13.5px;font-weight:600}
.tl-text{color:var(--t-muted);font-size:12.5px;line-height:1.55;margin-top:2px}
.tl-time{color:var(--t-light);font-size:11.5px;margin-top:3px}

/* ---------- Skeletons ---------- */
@keyframes sk-pulse{0%,100%{opacity:1}50%{opacity:.5}}
.skeleton{animation:sk-pulse 1.4s ease infinite;background:var(--bg-muted);border-radius:8px}
.skel-line{height:12px;margin-bottom:10px}
.skel-line.w-40{width:40%}
.skel-line.w-60{width:60%}
.skel-line.w-80{width:80%}
.skel-circle{border-radius:50%;flex:none}
.skel-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:18px}

/* ---------- SweetAlert2 (vendor, MIT) ---------- */
:root{--swal2-outline: 0 0 0 3px rgba(100, 150, 200, 0.5);--swal2-container-padding: 0.625em;--swal2-backdrop: rgba(0, 0, 0, 0.4);--swal2-backdrop-transition: background-color 0.15s;--swal2-width: 32em;--swal2-padding: 0 0 1.25em;--swal2-border: none;--swal2-border-radius: 0.3125rem;--swal2-background: white;--swal2-color: #545454;--swal2-show-animation: swal2-show 0.3s;--swal2-hide-animation: swal2-hide 0.15s forwards;--swal2-icon-zoom: 1;--swal2-title-padding: 0.8em 1em 0;--swal2-html-container-padding: 1em 1.6em 0.3em;--swal2-input-border: 1px solid #d9d9d9;--swal2-input-border-radius: 0.1875em;--swal2-input-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06), 0 0 0 3px transparent;--swal2-input-background: transparent;--swal2-input-transition: border-color 0.2s, box-shadow 0.2s;--swal2-input-hover-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06), 0 0 0 3px transparent;--swal2-input-focus-border: 1px solid #b4dbed;--swal2-input-focus-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06), 0 0 0 3px rgba(100, 150, 200, 0.5);--swal2-progress-step-background: #add8e6;--swal2-validation-message-background: #f0f0f0;--swal2-validation-message-color: #666;--swal2-footer-border-color: #eee;--swal2-footer-background: transparent;--swal2-footer-color: inherit;--swal2-timer-progress-bar-background: rgba(0, 0, 0, 0.3);--swal2-close-button-position: initial;--swal2-close-button-inset: auto;--swal2-close-button-font-size: 2.5em;--swal2-close-button-color: #ccc;--swal2-close-button-transition: color 0.2s, box-shadow 0.2s;--swal2-close-button-outline: initial;--swal2-close-button-box-shadow: inset 0 0 0 3px transparent;--swal2-close-button-focus-box-shadow: inset var(--swal2-outline);--swal2-close-button-hover-transform: none;--swal2-actions-justify-content: center;--swal2-actions-width: auto;--swal2-actions-margin: 1.25em auto 0;--swal2-actions-padding: 0;--swal2-actions-border-radius: 0;--swal2-actions-background: transparent;--swal2-action-button-transition: background-color 0.2s, box-shadow 0.2s;--swal2-action-button-hover: black 10%;--swal2-action-button-active: black 10%;--swal2-confirm-button-box-shadow: none;--swal2-confirm-button-border-radius: 0.25em;--swal2-confirm-button-background-color: #7066e0;--swal2-confirm-button-color: #fff;--swal2-deny-button-box-shadow: none;--swal2-deny-button-border-radius: 0.25em;--swal2-deny-button-background-color: #dc3741;--swal2-deny-button-color: #fff;--swal2-cancel-button-box-shadow: none;--swal2-cancel-button-border-radius: 0.25em;--swal2-cancel-button-background-color: #6e7881;--swal2-cancel-button-color: #fff;--swal2-toast-show-animation: swal2-toast-show 0.5s;--swal2-toast-hide-animation: swal2-toast-hide 0.1s forwards;--swal2-toast-border: none;--swal2-toast-box-shadow: 0 0 1px hsl(0deg 0% 0% / 0.075), 0 1px 2px hsl(0deg 0% 0% / 0.075), 1px 2px 4px hsl(0deg 0% 0% / 0.075), 1px 3px 8px hsl(0deg 0% 0% / 0.075), 2px 4px 16px hsl(0deg 0% 0% / 0.075)}[data-swal2-theme=dark]{--swal2-dark-theme-black: #19191a;--swal2-dark-theme-white: #e1e1e1;--swal2-background: var(--swal2-dark-theme-black);--swal2-color: var(--swal2-dark-theme-white);--swal2-footer-border-color: #555;--swal2-input-background: color-mix(in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10%);--swal2-validation-message-background: color-mix( in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10% );--swal2-validation-message-color: var(--swal2-dark-theme-white);--swal2-timer-progress-bar-background: rgba(255, 255, 255, 0.7)}@media(prefers-color-scheme: dark){[data-swal2-theme=auto]{--swal2-dark-theme-black: #19191a;--swal2-dark-theme-white: #e1e1e1;--swal2-background: var(--swal2-dark-theme-black);--swal2-color: var(--swal2-dark-theme-white);--swal2-footer-border-color: #555;--swal2-input-background: color-mix(in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10%);--swal2-validation-message-background: color-mix( in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10% );--swal2-validation-message-color: var(--swal2-dark-theme-white);--swal2-timer-progress-bar-background: rgba(255, 255, 255, 0.7)}}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown){overflow:hidden}body.swal2-height-auto{height:auto !important}body.swal2-no-backdrop .swal2-container{background-color:rgba(0,0,0,0) !important;pointer-events:none}body.swal2-no-backdrop .swal2-container .swal2-popup{pointer-events:auto}body.swal2-no-backdrop .swal2-container .swal2-modal{box-shadow:0 0 10px var(--swal2-backdrop)}body.swal2-toast-shown .swal2-container{box-sizing:border-box;width:360px;max-width:100%;background-color:rgba(0,0,0,0);pointer-events:none}body.swal2-toast-shown .swal2-container.swal2-top{inset:0 auto auto 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-top-end,body.swal2-toast-shown .swal2-container.swal2-top-right{inset:0 0 auto auto}body.swal2-toast-shown .swal2-container.swal2-top-start,body.swal2-toast-shown .swal2-container.swal2-top-left{inset:0 auto auto 0}body.swal2-toast-shown .swal2-container.swal2-center-start,body.swal2-toast-shown .swal2-container.swal2-center-left{inset:50% auto auto 0;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-center{inset:50% auto auto 50%;transform:translate(-50%, -50%)}body.swal2-toast-shown .swal2-container.swal2-center-end,body.swal2-toast-shown .swal2-container.swal2-center-right{inset:50% 0 auto auto;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-start,body.swal2-toast-shown .swal2-container.swal2-bottom-left{inset:auto auto 0 0}body.swal2-toast-shown .swal2-container.swal2-bottom{inset:auto auto 0 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-end,body.swal2-toast-shown .swal2-container.swal2-bottom-right{inset:auto 0 0 auto}@media print{body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown){overflow-y:scroll !important}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown) .swal2-container{position:static !important}}div:where(.swal2-container){display:grid;position:fixed;z-index:1060;inset:0;box-sizing:border-box;grid-template-areas:"top-start     top            top-end" "center-start  center         center-end" "bottom-start  bottom-center  bottom-end";grid-template-rows:minmax(min-content, auto) minmax(min-content, auto) minmax(min-content, auto);height:100%;padding:var(--swal2-container-padding);overflow-x:hidden;transition:var(--swal2-backdrop-transition);-webkit-overflow-scrolling:touch}div:where(.swal2-container).swal2-backdrop-show,div:where(.swal2-container).swal2-noanimation{background:var(--swal2-backdrop)}div:where(.swal2-container).swal2-backdrop-hide{background:rgba(0,0,0,0) !important}div:where(.swal2-container).swal2-top-start,div:where(.swal2-container).swal2-center-start,div:where(.swal2-container).swal2-bottom-start{grid-template-columns:minmax(0, 1fr) auto auto}div:where(.swal2-container).swal2-top,div:where(.swal2-container).swal2-center,div:where(.swal2-container).swal2-bottom{grid-template-columns:auto minmax(0, 1fr) auto}div:where(.swal2-container).swal2-top-end,div:where(.swal2-container).swal2-center-end,div:where(.swal2-container).swal2-bottom-end{grid-template-columns:auto auto minmax(0, 1fr)}div:where(.swal2-container).swal2-top-start>.swal2-popup{align-self:start}div:where(.swal2-container).swal2-top>.swal2-popup{grid-column:2;place-self:start center}div:where(.swal2-container).swal2-top-end>.swal2-popup,div:where(.swal2-container).swal2-top-right>.swal2-popup{grid-column:3;place-self:start end}div:where(.swal2-container).swal2-center-start>.swal2-popup,div:where(.swal2-container).swal2-center-left>.swal2-popup{grid-row:2;align-self:center}div:where(.swal2-container).swal2-center>.swal2-popup{grid-column:2;grid-row:2;place-self:center center}div:where(.swal2-container).swal2-center-end>.swal2-popup,div:where(.swal2-container).swal2-center-right>.swal2-popup{grid-column:3;grid-row:2;place-self:center end}div:where(.swal2-container).swal2-bottom-start>.swal2-popup,div:where(.swal2-container).swal2-bottom-left>.swal2-popup{grid-column:1;grid-row:3;align-self:end}div:where(.swal2-container).swal2-bottom>.swal2-popup{grid-column:2;grid-row:3;place-self:end center}div:where(.swal2-container).swal2-bottom-end>.swal2-popup,div:where(.swal2-container).swal2-bottom-right>.swal2-popup{grid-column:3;grid-row:3;place-self:end end}div:where(.swal2-container).swal2-grow-row>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-column:1/4;width:100%}div:where(.swal2-container).swal2-grow-column>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-row:1/4;align-self:stretch}div:where(.swal2-container).swal2-no-transition{transition:none !important}div:where(.swal2-container)[popover]{width:auto;border:0}div:where(.swal2-container) div:where(.swal2-popup){display:none;position:relative;box-sizing:border-box;grid-template-columns:minmax(0, 100%);width:var(--swal2-width);max-width:100%;padding:var(--swal2-padding);border:var(--swal2-border);border-radius:var(--swal2-border-radius);background:var(--swal2-background);color:var(--swal2-color);font-family:inherit;font-size:1rem}div:where(.swal2-container) div:where(.swal2-popup):focus{outline:none}div:where(.swal2-container) div:where(.swal2-popup).swal2-loading{overflow-y:hidden}div:where(.swal2-container) div:where(.swal2-popup).swal2-draggable{cursor:grab}div:where(.swal2-container) div:where(.swal2-popup).swal2-draggable div:where(.swal2-icon){cursor:grab}div:where(.swal2-container) div:where(.swal2-popup).swal2-dragging{cursor:grabbing}div:where(.swal2-container) div:where(.swal2-popup).swal2-dragging div:where(.swal2-icon){cursor:grabbing}div:where(.swal2-container) h2:where(.swal2-title){position:relative;max-width:100%;margin:0;padding:var(--swal2-title-padding);color:inherit;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;overflow-wrap:break-word;cursor:initial}div:where(.swal2-container) div:where(.swal2-actions){display:flex;z-index:1;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:var(--swal2-actions-justify-content);width:var(--swal2-actions-width);margin:var(--swal2-actions-margin);padding:var(--swal2-actions-padding);border-radius:var(--swal2-actions-border-radius);background:var(--swal2-actions-background)}div:where(.swal2-container) div:where(.swal2-loader){display:none;align-items:center;justify-content:center;width:2.2em;height:2.2em;margin:0 1.875em;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;border-width:.25em;border-style:solid;border-radius:100%;border-color:#2778c4 rgba(0,0,0,0) #2778c4 rgba(0,0,0,0)}div:where(.swal2-container) button:where(.swal2-styled){margin:.3125em;padding:.625em 1.1em;transition:var(--swal2-action-button-transition);border:none;box-shadow:0 0 0 3px rgba(0,0,0,0);font-weight:500}div:where(.swal2-container) button:where(.swal2-styled):not([disabled]){cursor:pointer}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm){border-radius:var(--swal2-confirm-button-border-radius);background:initial;background-color:var(--swal2-confirm-button-background-color);box-shadow:var(--swal2-confirm-button-box-shadow);color:var(--swal2-confirm-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):hover{background-color:color-mix(in srgb, var(--swal2-confirm-button-background-color), var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):active{background-color:color-mix(in srgb, var(--swal2-confirm-button-background-color), var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny){border-radius:var(--swal2-deny-button-border-radius);background:initial;background-color:var(--swal2-deny-button-background-color);box-shadow:var(--swal2-deny-button-box-shadow);color:var(--swal2-deny-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny):hover{background-color:color-mix(in srgb, var(--swal2-deny-button-background-color), var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny):active{background-color:color-mix(in srgb, var(--swal2-deny-button-background-color), var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel){border-radius:var(--swal2-cancel-button-border-radius);background:initial;background-color:var(--swal2-cancel-button-background-color);box-shadow:var(--swal2-cancel-button-box-shadow);color:var(--swal2-cancel-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel):hover{background-color:color-mix(in srgb, var(--swal2-cancel-button-background-color), var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel):active{background-color:color-mix(in srgb, var(--swal2-cancel-button-background-color), var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):focus-visible{outline:none;box-shadow:var(--swal2-action-button-focus-box-shadow)}div:where(.swal2-container) button:where(.swal2-styled)[disabled]:not(.swal2-loading){opacity:.4}div:where(.swal2-container) button:where(.swal2-styled)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-footer){margin:1em 0 0;padding:1em 1em 0;border-top:1px solid var(--swal2-footer-border-color);background:var(--swal2-footer-background);color:var(--swal2-footer-color);font-size:1em;text-align:center;cursor:initial}div:where(.swal2-container) .swal2-timer-progress-bar-container{position:absolute;right:0;bottom:0;left:0;grid-column:auto !important;overflow:hidden;border-bottom-right-radius:var(--swal2-border-radius);border-bottom-left-radius:var(--swal2-border-radius)}div:where(.swal2-container) div:where(.swal2-timer-progress-bar){width:100%;height:.25em;background:var(--swal2-timer-progress-bar-background)}div:where(.swal2-container) img:where(.swal2-image){max-width:100%;margin:2em auto 1em;cursor:initial}div:where(.swal2-container) button:where(.swal2-close){position:var(--swal2-close-button-position);inset:var(--swal2-close-button-inset);z-index:2;align-items:center;justify-content:center;width:1.2em;height:1.2em;margin-top:0;margin-right:0;margin-bottom:-1.2em;padding:0;overflow:hidden;transition:var(--swal2-close-button-transition);border:none;border-radius:var(--swal2-border-radius);outline:var(--swal2-close-button-outline);background:rgba(0,0,0,0);color:var(--swal2-close-button-color);font-family:monospace;font-size:var(--swal2-close-button-font-size);cursor:pointer;justify-self:end}div:where(.swal2-container) button:where(.swal2-close):hover{transform:var(--swal2-close-button-hover-transform);background:rgba(0,0,0,0);color:#f27474}div:where(.swal2-container) button:where(.swal2-close):focus-visible{outline:none;box-shadow:var(--swal2-close-button-focus-box-shadow)}div:where(.swal2-container) button:where(.swal2-close)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-html-container){z-index:1;justify-content:center;margin:0;padding:var(--swal2-html-container-padding);overflow:auto;color:inherit;font-size:1.125em;font-weight:normal;line-height:normal;text-align:center;overflow-wrap:break-word;word-break:break-word;cursor:initial}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea),div:where(.swal2-container) select:where(.swal2-select),div:where(.swal2-container) div:where(.swal2-radio),div:where(.swal2-container) label:where(.swal2-checkbox){margin:1em 2em 3px}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea){box-sizing:border-box;width:auto;transition:var(--swal2-input-transition);border:var(--swal2-input-border);border-radius:var(--swal2-input-border-radius);background:var(--swal2-input-background);box-shadow:var(--swal2-input-box-shadow);color:inherit;font-size:1.125em}div:where(.swal2-container) input:where(.swal2-input).swal2-inputerror,div:where(.swal2-container) input:where(.swal2-file).swal2-inputerror,div:where(.swal2-container) textarea:where(.swal2-textarea).swal2-inputerror{border-color:#f27474 !important;box-shadow:0 0 2px #f27474 !important}div:where(.swal2-container) input:where(.swal2-input):hover,div:where(.swal2-container) input:where(.swal2-file):hover,div:where(.swal2-container) textarea:where(.swal2-textarea):hover{box-shadow:var(--swal2-input-hover-box-shadow)}div:where(.swal2-container) input:where(.swal2-input):focus,div:where(.swal2-container) input:where(.swal2-file):focus,div:where(.swal2-container) textarea:where(.swal2-textarea):focus{border:var(--swal2-input-focus-border);outline:none;box-shadow:var(--swal2-input-focus-box-shadow)}div:where(.swal2-container) input:where(.swal2-input)::placeholder,div:where(.swal2-container) input:where(.swal2-file)::placeholder,div:where(.swal2-container) textarea:where(.swal2-textarea)::placeholder{color:#ccc}div:where(.swal2-container) .swal2-range{margin:1em 2em 3px;background:var(--swal2-background)}div:where(.swal2-container) .swal2-range input{width:80%}div:where(.swal2-container) .swal2-range output{width:20%;color:inherit;font-weight:600;text-align:center}div:where(.swal2-container) .swal2-range input,div:where(.swal2-container) .swal2-range output{height:2.625em;padding:0;font-size:1.125em;line-height:2.625em}div:where(.swal2-container) .swal2-input{height:2.625em;padding:0 .75em}div:where(.swal2-container) .swal2-file{width:75%;margin-right:auto;margin-left:auto;background:var(--swal2-input-background);font-size:1.125em}div:where(.swal2-container) .swal2-textarea{height:6.75em;padding:.75em}div:where(.swal2-container) .swal2-select{min-width:50%;max-width:100%;padding:.375em .625em;background:var(--swal2-input-background);color:inherit;font-size:1.125em}div:where(.swal2-container) .swal2-radio,div:where(.swal2-container) .swal2-checkbox{align-items:center;justify-content:center;background:var(--swal2-background);color:inherit}div:where(.swal2-container) .swal2-radio label,div:where(.swal2-container) .swal2-checkbox label{margin:0 .6em;font-size:1.125em}div:where(.swal2-container) .swal2-radio input,div:where(.swal2-container) .swal2-checkbox input{flex-shrink:0;margin:0 .4em}div:where(.swal2-container) label:where(.swal2-input-label){display:flex;justify-content:center;margin:1em auto 0}div:where(.swal2-container) div:where(.swal2-validation-message){align-items:center;justify-content:center;margin:1em 0 0;padding:.625em;overflow:hidden;background:var(--swal2-validation-message-background);color:var(--swal2-validation-message-color);font-size:1em;font-weight:300}div:where(.swal2-container) div:where(.swal2-validation-message)::before{content:"!";display:inline-block;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;border-radius:50%;background-color:#f27474;color:#fff;font-weight:600;line-height:1.5em;text-align:center}div:where(.swal2-container) .swal2-progress-steps{flex-wrap:wrap;align-items:center;max-width:100%;margin:1.25em auto;padding:0;background:rgba(0,0,0,0);font-weight:600}div:where(.swal2-container) .swal2-progress-steps li{display:inline-block;position:relative}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step{z-index:20;flex-shrink:0;width:2em;height:2em;border-radius:2em;background:#2778c4;color:#fff;line-height:2em;text-align:center}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step{background:#2778c4}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step{background:var(--swal2-progress-step-background);color:#fff}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step-line{background:var(--swal2-progress-step-background)}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step-line{z-index:10;flex-shrink:0;width:2.5em;height:.4em;margin:0 -1px;background:#2778c4}div:where(.swal2-icon){position:relative;box-sizing:content-box;justify-content:center;width:5em;height:5em;margin:2.5em auto .6em;zoom:var(--swal2-icon-zoom);border:.25em solid rgba(0,0,0,0);border-radius:50%;border-color:#000;font-family:inherit;line-height:5em;cursor:default;user-select:none}div:where(.swal2-icon) .swal2-icon-content{display:flex;align-items:center;font-size:3.75em}div:where(.swal2-icon).swal2-error{border-color:#f27474;color:#f27474}div:where(.swal2-icon).swal2-error .swal2-x-mark{position:relative;flex-grow:1}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-error.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-error.swal2-icon-show .swal2-x-mark{animation:swal2-animate-error-x-mark .5s}div:where(.swal2-icon).swal2-warning{border-color:#f8bb86;color:#f8bb86}div:where(.swal2-icon).swal2-warning.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-warning.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .5s}div:where(.swal2-icon).swal2-info{border-color:#3fc3ee;color:#3fc3ee}div:where(.swal2-icon).swal2-info.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-info.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .8s}div:where(.swal2-icon).swal2-question{border-color:#87adbd;color:#87adbd}div:where(.swal2-icon).swal2-question.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-question.swal2-icon-show .swal2-icon-content{animation:swal2-animate-question-mark .8s}div:where(.swal2-icon).swal2-success{border-color:#a5dc86;color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line]{position:absolute;width:3.75em;height:7.5em;border-radius:50%}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.4375em;left:-2.0635em;transform:rotate(-45deg);transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.6875em;left:1.875em;transform:rotate(-45deg);transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}div:where(.swal2-icon).swal2-success .swal2-success-ring{position:absolute;z-index:2;top:-0.25em;left:-0.25em;box-sizing:content-box;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%}div:where(.swal2-icon).swal2-success .swal2-success-fix{position:absolute;z-index:1;top:.5em;left:1.625em;width:.4375em;height:5.625em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line]{display:block;position:absolute;z-index:2;height:.3125em;border-radius:.125em;background-color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=tip]{top:2.875em;left:.8125em;width:1.5625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-animate-success-line-tip .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-animate-success-line-long .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-circular-line-right{animation:swal2-rotate-success-circular-line 4.25s ease-in}[class^=swal2]{-webkit-tap-highlight-color:rgba(0,0,0,0)}.swal2-show{animation:var(--swal2-show-animation)}.swal2-hide{animation:var(--swal2-hide-animation)}.swal2-noanimation{transition:none}.swal2-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.swal2-rtl .swal2-close{margin-right:initial;margin-left:0}.swal2-rtl .swal2-timer-progress-bar{right:0;left:auto}.swal2-toast{box-sizing:border-box;grid-column:1/4 !important;grid-row:1/4 !important;grid-template-columns:min-content auto min-content;padding:1em;overflow-y:hidden;border:var(--swal2-toast-border);background:var(--swal2-background);box-shadow:var(--swal2-toast-box-shadow);pointer-events:auto}.swal2-toast>*{grid-column:2}.swal2-toast h2:where(.swal2-title){margin:.5em 1em;padding:0;font-size:1em;text-align:initial}.swal2-toast .swal2-loading{justify-content:center}.swal2-toast input:where(.swal2-input){height:2em;margin:.5em;font-size:1em}.swal2-toast .swal2-validation-message{font-size:1em}.swal2-toast div:where(.swal2-footer){margin:.5em 0 0;padding:.5em 0 0;font-size:.8em}.swal2-toast button:where(.swal2-close){grid-column:3/3;grid-row:1/99;align-self:center;width:.8em;height:.8em;margin:0;font-size:2em}.swal2-toast div:where(.swal2-html-container){margin:.5em 1em;padding:0;overflow:initial;font-size:1em;text-align:initial}.swal2-toast div:where(.swal2-html-container):empty{padding:0}.swal2-toast .swal2-loader{grid-column:1;grid-row:1/99;align-self:center;width:2em;height:2em;margin:.25em}.swal2-toast .swal2-icon{grid-column:1;grid-row:1/99;align-self:center;width:2em;min-width:2em;height:2em;margin:0 .5em 0 0}.swal2-toast .swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:1.8em;font-weight:bold}.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{top:.875em;width:1.375em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:.3125em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:.3125em}.swal2-toast div:where(.swal2-actions){justify-content:flex-start;height:auto;margin:0;margin-top:.5em;padding:0 .5em}.swal2-toast button:where(.swal2-styled){margin:.25em .5em;padding:.4em .6em;font-size:1em}.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-toast .swal2-success [class^=swal2-success-circular-line]{position:absolute;width:1.6em;height:3em;border-radius:50%}.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.8em;left:-0.5em;transform:rotate(-45deg);transform-origin:2em 2em;border-radius:4em 0 0 4em}.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.25em;left:.9375em;transform-origin:0 1.5em;border-radius:0 4em 4em 0}.swal2-toast .swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-toast .swal2-success .swal2-success-fix{top:0;left:.4375em;width:.4375em;height:2.6875em}.swal2-toast .swal2-success [class^=swal2-success-line]{height:.3125em}.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{top:1.125em;left:.1875em;width:.75em}.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{top:.9375em;right:.1875em;width:1.375em}.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-toast-animate-success-line-tip .75s}.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-toast-animate-success-line-long .75s}.swal2-toast.swal2-show{animation:var(--swal2-toast-show-animation)}.swal2-toast.swal2-hide{animation:var(--swal2-toast-hide-animation)}@keyframes swal2-show{0%{transform:translate3d(0, -50px, 0) scale(0.9);opacity:0}100%{transform:translate3d(0, 0, 0) scale(1);opacity:1}}@keyframes swal2-hide{0%{transform:translate3d(0, 0, 0) scale(1);opacity:1}100%{transform:translate3d(0, -50px, 0) scale(0.9);opacity:0}}@keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-0.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.8125em;width:1.5625em}}@keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}100%{transform:rotate(-405deg)}}@keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(0.4);opacity:0}50%{margin-top:1.625em;transform:scale(0.4);opacity:0}80%{margin-top:-0.375em;transform:scale(1.15)}100%{margin-top:0;transform:scale(1);opacity:1}}@keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0deg);opacity:1}}@keyframes swal2-rotate-loading{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes swal2-animate-question-mark{0%{transform:rotateY(-360deg)}100%{transform:rotateY(0)}}@keyframes swal2-animate-i-mark{0%{transform:rotateZ(45deg);opacity:0}25%{transform:rotateZ(-25deg);opacity:.4}50%{transform:rotateZ(15deg);opacity:.8}75%{transform:rotateZ(-5deg);opacity:1}100%{transform:rotateX(0);opacity:1}}@keyframes swal2-toast-show{0%{transform:translateY(-0.625em) rotateZ(2deg)}33%{transform:translateY(0) rotateZ(-2deg)}66%{transform:translateY(0.3125em) rotateZ(2deg)}100%{transform:translateY(0) rotateZ(0deg)}}@keyframes swal2-toast-hide{100%{transform:rotateZ(1deg);opacity:0}}@keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-0.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}


/* ---------- SweetAlert2 re-tematizado (tokens de la plantilla) ---------- */
.swal2-popup{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);color:var(--t-muted);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:13.5px}
.swal2-title{color:var(--t-base);font-family:Inter Tight,Inter,sans-serif;font-size:18px;font-weight:700;letter-spacing:-.012em;padding:0}
.swal2-html-container{color:var(--t-muted);line-height:1.6}
.swal2-confirm{background:var(--primary);border-radius:10px;box-shadow:none;font-weight:600;padding:.55em 1.2em}
.swal2-confirm:hover{background:var(--primary-dark)}
.swal2-confirm:focus{box-shadow:0 0 0 3px var(--primary-ring)}
.swal2-cancel{background:var(--bg-muted);border-radius:10px;color:var(--t-base);font-weight:600;padding:.55em 1.2em}
.swal2-cancel:hover{background:var(--bg-hover);color:var(--t-base)}
.swal2-deny{background:var(--danger);border-radius:10px;font-weight:600;padding:.55em 1.2em}
.swal2-deny:focus{box-shadow:0 0 0 3px var(--danger-soft)}
.swal2-close{color:var(--t-light);font-family:inherit}
.swal2-close:hover{color:var(--t-base)}
.swal2-input,.swal2-textarea,.swal2-select{background:var(--bg-body);border:1px solid var(--border);border-radius:10px;color:var(--t-base);font-size:13.5px}
.swal2-input:focus,.swal2-textarea:focus,.swal2-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}
.swal2-validation-message{background:var(--danger-soft);color:var(--danger);border-radius:8px}
.swal2-toast{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg)}
.swal2-timer-progress-bar{background:var(--primary)}
.swal2-actions{z-index:0}
.swal2-icon.swal2-success [class^=swal2-success-line]{background-color:var(--success)}
.swal2-icon.swal2-success .swal2-success-ring{border-color:rgba(52,211,153,.35)}
.swal2-icon.swal2-error [class^=swal2-x-mark-line]{background-color:var(--danger)}
.swal2-icon.swal2-warning{border-color:var(--warning);color:var(--warning)}
.swal2-icon.swal2-info{border-color:var(--info);color:var(--info)}
.swal2-icon.swal2-question{border-color:var(--primary);color:var(--primary)}

/* ============================================================
   BOTONES PROFESIONALES — extensiones del sistema .btn
   (tokens existentes, modo oscuro automático)
   ============================================================ */

/* ---------- Colores extendidos ---------- */
.btn--purple{background:var(--purple);color:#fff}
.btn--pink{background:var(--pink);color:#fff}
.btn--teal{background:var(--teal);color:#fff}
.btn--purple:hover,.btn--pink:hover,.btn--teal:hover{filter:brightness(.92)}
.btn--soft-purple{background:var(--purple-soft);color:var(--purple)}
.btn--soft-pink{background:var(--pink-soft);color:var(--pink)}
.btn--soft-teal{background:var(--teal-soft);color:var(--teal)}
.btn--outline-purple{background:transparent;border-color:var(--purple);color:var(--purple)}
.btn--outline-pink{background:transparent;border-color:var(--pink);color:var(--pink)}
.btn--outline-teal{background:transparent;border-color:var(--teal);color:var(--teal)}
.btn--outline-info{background:transparent;border-color:var(--info);color:var(--info)}
.btn--outline-warning{background:transparent;border-color:var(--warning);color:var(--warning)}
.btn--soft-purple:hover,.btn--outline-purple:hover{background:var(--purple-soft)}
.btn--soft-pink:hover,.btn--outline-pink:hover{background:var(--pink-soft)}
.btn--soft-teal:hover,.btn--outline-teal:hover{background:var(--teal-soft)}
.btn--outline-info:hover{background:var(--info-soft)}
.btn--outline-warning:hover{background:var(--warning-soft)}

/* ---------- Degradado ---------- */
.btn--gradient{background:linear-gradient(135deg,var(--primary),var(--primary-dark));background-size:100% 100%;box-shadow:0 1px 2px var(--primary-ring),0 4px 14px -4px var(--primary-ring);color:#fff}
.btn--gradient:hover{background-size:160% 160%;box-shadow:0 2px 4px var(--primary-ring),0 8px 22px -6px var(--primary-ring);transform:translateY(-1px)}

/* ---------- Elevado ---------- */
.btn--elev{background:var(--bg-card);border-color:var(--border);box-shadow:var(--shadow-card);color:var(--t-base)}
.btn--elev:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}
.btn--elev:active{box-shadow:var(--shadow-sm);transform:none}

/* ---------- Pill ---------- */
.btn--pill{border-radius:999px}

/* ---------- Link ---------- */
.btn--link{background:transparent;border-color:transparent;color:var(--primary);padding-left:6px;padding-right:6px}
.btn--link:hover{text-decoration:underline;text-underline-offset:3px}

/* ---------- Inverso (sobre fondos claros) ---------- */
.btn--dark{background:#0f172a;color:#fff}
.btn--dark:hover{background:#1e293b}

/* ---------- FAB (botón flotante) ---------- */
.btn--fab{border-radius:50%;box-shadow:var(--shadow-lg);height:52px;justify-content:center;padding:0;width:52px}
.btn--fab:hover{box-shadow:0 12px 24px -6px rgba(0,0,0,.35);transform:translateY(-2px)}
.btn--fab.btn--sm{height:40px;width:40px}
.btn--fab.btn--lg{height:62px;width:62px}

/* ---------- Estados ---------- */
.btn:focus-visible{box-shadow:0 0 0 3px var(--primary-ring);outline:none}
.btn.is-loading{color:transparent!important;pointer-events:none;position:relative}
.btn.is-loading svg{visibility:hidden}
.btn.is-loading::after{animation:btn-spin .7s linear infinite;border:2px solid var(--t-light);border-bottom-color:transparent;border-radius:50%;content:"";height:16px;left:50%;margin:-8px 0 0 -8px;position:absolute;top:50%;width:16px}
.btn.is-loading.btn--primary::after,.btn.is-loading.btn--gradient::after,.btn.is-loading.btn--danger::after,.btn.is-loading.btn--success::after,.btn.is-loading.btn--warning::after,.btn.is-loading.btn--info::after,.btn.is-loading.btn--purple::after,.btn.is-loading.btn--pink::after,.btn.is-loading.btn--teal::after,.btn.is-loading.btn--dark::after{border-color:rgba(255,255,255,.9);border-bottom-color:transparent}
@keyframes btn-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.btn.is-loading::after{animation:none;border-bottom-color:currentColor}}

/* ---------- SweetAlert2: fondo con blur (mismo efecto que .modal-overlay) ---------- */
div:where(.swal2-container){background:rgba(9,13,24,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}

/* ============================================================
   MÓDULO ENFERMERÍA — iconos médicos, medicamentos, signos
   (tokens existentes, modo oscuro automático)
   ============================================================ */

/* ---------- Grid de iconos ---------- */
.icon-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}
.icon-card{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:10px;justify-content:center;padding:18px 8px 14px;transition:border-color .15s,transform .15s}
.icon-card:hover{border-color:var(--primary);transform:translateY(-2px)}
.icon-card svg{fill:none;height:22px;stroke:var(--t-base);stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:22px}
.icon-name{color:var(--t-light);font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.02em;text-align:center}
.icon-card.copied{border-color:var(--success)}
.icon-card.copied svg{stroke:var(--success)}

/* ---------- Chips de horario ---------- */
.chip{background:var(--bg-muted);border:1px solid var(--border);border-radius:999px;color:var(--t-muted);display:inline-flex;font-size:11.5px;font-weight:600;padding:4px 11px}
.chip.active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}

/* ---------- Tarjeta de medicamento ---------- */
.med-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.med-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column;overflow:hidden}
.med-head{align-items:center;border-bottom:1px solid var(--border-soft);display:flex;gap:10px;justify-content:space-between;padding:14px 18px}
.med-name{color:var(--t-base);font-family:Inter Tight,sans-serif;font-size:14px;font-weight:700;letter-spacing:-.012em;margin:0}
.med-generic{color:var(--t-light);font-size:11.5px;font-weight:500;margin:1px 0 0}
.med-body{display:flex;flex-direction:column;gap:12px;padding:14px 18px}
.med-row{display:flex;flex-wrap:wrap;gap:16px}
.med-data{min-width:70px}
.med-data b{color:var(--t-base);display:block;font-size:14px;font-weight:700}
.med-data span{color:var(--t-light);font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.med-stock{flex:1;min-width:120px}
.med-stock-bar{background:var(--bg-muted);border-radius:99px;height:6px;overflow:hidden}
.med-stock-fill{background:var(--success);border-radius:99px;height:100%}
.med-stock-fill.warn{background:var(--warning)}
.med-stock-fill.crit{background:var(--danger)}
.med-stock-label{color:var(--t-light);font-size:11px;margin-top:6px}
.med-chips{display:flex;flex-wrap:wrap;gap:6px}
.med-foot{border-top:1px solid var(--border-soft);display:flex;gap:8px;padding:12px 18px}

/* ---------- Lista de próximas dosis ---------- */
.dose-list{display:flex;flex-direction:column}
.dose-item{align-items:center;border-bottom:1px solid var(--border-soft);display:flex;gap:14px;padding:12px 0}
.dose-item:last-child{border-bottom:0}
.dose-time{color:var(--t-base);flex:none;font-family:JetBrains Mono,monospace;font-size:15px;font-weight:700;width:56px}
.dose-main{flex:1;min-width:0}
.dose-med{color:var(--t-base);font-size:13px;font-weight:600}
.dose-patient{color:var(--t-muted);font-size:12px;margin-top:1px}

/* ---------- Resumen de receta ---------- */
.rx-summary{display:flex;flex-direction:column}
.rx-row{align-items:center;border-bottom:1px solid var(--border-soft);display:flex;justify-content:space-between;padding:10px 0}
.rx-row:last-child{border-bottom:0}
.rx-key{color:var(--t-light);font-size:12px;font-weight:600}
.rx-val{color:var(--t-base);font-size:12.5px;font-weight:600}

/* ---------- Cabecera de paciente ---------- */
.avatar--lg{font-size:17px;height:52px;margin-left:0;width:52px}
.patient-head{align-items:center;display:flex;gap:16px;flex-wrap:wrap}
.patient-info{flex:1;min-width:200px}
.patient-name{color:var(--t-base);font-family:Inter Tight,sans-serif;font-size:17px;font-weight:700;letter-spacing:-.012em;margin:0}
.patient-meta{color:var(--t-muted);font-size:12.5px;margin-top:3px}
.patient-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.patient-data{display:flex;flex-wrap:wrap;gap:18px}
.patient-data .med-data b{font-size:13px}

/* ---------- Signos vitales ---------- */
.vitals-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.vital{background:var(--bg-muted);border:1px solid var(--border-soft);border-radius:12px;padding:14px}
.vital-top{align-items:center;display:flex;justify-content:space-between}
.vital-ico{border-radius:9px;display:grid;height:30px;place-items:center;width:30px}
.vital-ico svg{fill:none;height:16px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:16px}
.vital-ico.pink{background:var(--pink-soft);color:var(--pink)}
.vital-ico.info{background:var(--info-soft);color:var(--info)}
.vital-ico.primary{background:var(--primary-soft);color:var(--primary)}
.vital-ico.warning{background:var(--warning-soft);color:var(--warning)}
.vital-ico.purple{background:var(--purple-soft);color:var(--purple)}
.vital-ico.teal{background:var(--teal-soft);color:var(--teal)}
.vital-delta{font-size:11px;font-weight:700}
.vital-delta.up{color:var(--success)}
.vital-delta.down{color:var(--danger)}
.vital-val{color:var(--t-base);font-family:Inter Tight,sans-serif;font-size:22px;font-weight:700;letter-spacing:-.02em;margin-top:10px}
.vital-val small{color:var(--t-light);font-size:12px;font-weight:600;margin-left:2px}
.vital-label{color:var(--t-light);font-size:11px;font-weight:600;letter-spacing:.08em;margin-top:2px;text-transform:uppercase}

/* ===== TARJETAS DIGITALES (plataforma) ===== */
.t-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;padding:4px 0 8px}
.t-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px;transition:box-shadow .2s,border-color .2s,opacity .2s}
.t-card:hover{box-shadow:0 12px 30px -14px rgba(15,18,40,.25);border-color:var(--primary)}
.t-card--off{opacity:.62}
.t-card-head{display:flex;align-items:center;gap:12px}
.t-avatar{width:52px;height:52px;flex:0 0 auto;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #c9cdd8;color:var(--primary);font-weight:700;font-size:16px;letter-spacing:.5px}
.t-avatar-img{width:100%;height:100%;object-fit:cover}
.t-card-id{min-width:0;flex:1}
.t-nombre{margin:0;font-size:15.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-cargo{margin:2px 0 0;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-badge{border:0;cursor:pointer;font:inherit;font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;flex:0 0 auto}
.t-chips{display:flex;flex-wrap:wrap;gap:6px;min-height:26px}
.t-foot{display:flex;gap:8px;flex-wrap:wrap;border-top:1px dashed var(--border);padding-top:12px}
.t-empty{text-align:center;padding:36px 16px;color:var(--muted)}
.t-empty svg{width:44px;height:44px;stroke:var(--muted);opacity:.6;margin-bottom:8px}
.t-empty p{margin:0 0 12px}
.foto-row{display:flex;gap:14px;align-items:flex-start}
.foto-preview{width:84px;height:84px;flex:0 0 auto;border-radius:12px;border:1px dashed var(--border);background:var(--bg);display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--muted);font-size:11px;text-align:center}
.foto-preview img{width:100%;height:100%;object-fit:cover}
.foto-actions{flex:1;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.dropzone{display:flex;gap:14px;align-items:center;padding:14px;border:1.5px dashed var(--border);border-radius:12px;background:var(--bg-hover);cursor:pointer;transition:border-color .15s ease,background .15s ease}
.dropzone:hover,.dropzone:focus-visible,.dropzone.drag{border-color:var(--primary);background:var(--bg-muted,var(--bg-hover))}
.dropzone-text{display:flex;flex-direction:column;gap:3px;min-width:0}
.dropzone-text>svg{width:22px;height:22px;stroke:var(--primary);margin-bottom:2px}
.dropzone-text p{margin:0;font-size:13.5px;color:var(--t-base,#1e293b)}
.foto-nombre{font-size:12px;color:var(--t-muted,#64748b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#btnQuitarFoto[hidden]{display:none}

/* ===== BANNERS DE TARJETAS ===== */
.t-banner{height:64px;margin:-16px -16px 0;border-radius:13px 13px 0 0;background:linear-gradient(140deg,var(--primary),var(--accent,#8b5cf6));background-size:cover;background-position:center;flex:0 0 auto}
.banner-picker{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 8px}
.banner-thumb{flex:0 0 auto;width:110px;height:62px;border-radius:10px;border:2px solid var(--border);background:linear-gradient(140deg,var(--primary),var(--accent,#8b5cf6));background-size:cover;background-position:center;cursor:pointer;padding:0;position:relative;transition:border-color .15s,transform .15s}
.banner-thumb:hover{transform:translateY(-2px)}
.banner-thumb.selected{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft,rgba(99,102,241,.25))}
.banner-thumb span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.5)}

/* ===== RECORTADOR DE FOTO (estilo Facebook) ===== */
.crop-stage{display:flex;flex-direction:column;align-items:center;gap:16px;padding:6px 0 2px}
.crop-viewport{width:260px;height:260px;border-radius:50%;overflow:hidden;position:relative;background:#ffffff;box-shadow:0 0 0 1px var(--border),0 0 0 6px rgba(10,14,23,.35),0 18px 40px -18px rgba(15,18,40,.5);touch-action:none}
.crop-img{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform;cursor:grab;user-select:none;-webkit-user-drag:none;pointer-events:auto}
.crop-img.dragging{cursor:grabbing}
.crop-controls{display:flex;align-items:center;gap:12px;width:100%;max-width:320px}
.crop-controls input[type=range]{flex:1;accent-color:var(--primary);height:26px;cursor:pointer}
.crop-zoom-btn{width:34px;height:34px;flex:0 0 auto;border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:18px;font-weight:700;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center;transition:border-color .15s,transform .1s}
.crop-zoom-btn:hover{border-color:var(--primary)}
.crop-zoom-btn:active{transform:scale(.92)}
@media (max-width:480px){.crop-viewport{width:220px;height:220px}}

/* ===== BRAND EAD ===== */
.brand-logo{background:#ffffff;padding:3px;overflow:hidden}
.brand-logo img{width:100%;height:100%;object-fit:contain;display:block}

/* ===== FOOTER FIJO ABAJO ===== */
.main{min-height:100vh}
.content{flex:1 0 auto}
