:root{--app-bg:#f4f2ec;--app-ink:#121318;--app-card:#fff;--app-subtle:#f0efe9;--app-dark:#18191d;--app-yellow:#ffd84d;--app-blue:#bdd0f2;--app-pink:#efb4d5;--app-green:#c9d7b5}.ui-icon{width:20px;height:20px;display:inline-block;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.ui-icon.sm{width:17px;height:17px}.ui-icon.lg{width:24px;height:24px}.pretty-select-host{position:relative;width:100%}.pretty-select-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;overflow:hidden!important}.pretty-select-trigger{width:100%;min-height:48px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:0 14px;border:1px solid color-mix(in srgb,var(--line) 88%,#000 5%);border-radius:15px;background:var(--card);color:var(--ink);box-shadow:0 1px 0 rgba(17,18,23,.02),0 8px 22px rgba(17,18,23,.035);font:inherit;text-align:left;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .12s ease,background .16s ease}.pretty-select-trigger:hover{border-color:color-mix(in srgb,var(--red) 24%,var(--line));background:color-mix(in srgb,var(--card) 97%,var(--soft))}.pretty-select-trigger:focus-visible{outline:none;border-color:color-mix(in srgb,var(--red) 65%,var(--line));box-shadow:0 0 0 4px color-mix(in srgb,var(--red) 11%,transparent)}.pretty-select-trigger:active{transform:scale(.995)}.pretty-select-trigger[aria-expanded="true"]{border-color:color-mix(in srgb,var(--red) 55%,var(--line));box-shadow:0 0 0 4px color-mix(in srgb,var(--red) 9%,transparent)}.pretty-select-value{display:flex;align-items:center;gap:10px;min-width:0}.pretty-select-value-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:760}.pretty-select-chevron{display:grid;place-items:center;color:var(--muted);transition:transform .16s ease}.pretty-select-trigger[aria-expanded="true"] .pretty-select-chevron{transform:rotate(180deg)}.pretty-select-menu{position:absolute;z-index:220;left:0;right:0;top:calc(100% + 8px);display:none;padding:7px;border:1px solid var(--line);border-radius:17px;background:color-mix(in srgb,var(--card) 96%,transparent);box-shadow:0 20px 60px rgba(17,18,23,.16);backdrop-filter:blur(18px);max-height:320px;overflow:auto}.pretty-select-host.open .pretty-select-menu{display:grid;gap:3px;animation:prettyIn .14s ease-out}.pretty-select-option{width:100%;min-height:44px;display:grid;grid-template-columns:1fr 24px;align-items:center;gap:12px;border:0;border-radius:12px;padding:9px 11px;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.pretty-select-option:hover,.pretty-select-option.is-active{background:var(--soft)}.pretty-select-option.is-selected{font-weight:820;background:color-mix(in srgb,var(--red) 7%,var(--soft))}.pretty-select-check{display:grid;place-items:center;color:var(--red);opacity:0}.pretty-select-option.is-selected .pretty-select-check{opacity:1}.pretty-select-option:focus-visible{outline:none;background:var(--soft);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--red) 30%,transparent)}@keyframes prettyIn{from{opacity:0;transform:translateY(-5px) scale(.99)}to{opacity:1;transform:none}}.dashboard-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--muted);font-size:12px;font-weight:720}.dashboard-icon-btn{width:42px;height:42px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);display:grid;place-items:center;cursor:pointer}.dashboard-icon-btn:hover{background:var(--soft)}.dashboard-icon-btn:active{transform:scale(.96)}

/* Workspace alignment patch. */
.ws3 .ws-nav button,.ws3 .ws-nav a{display:grid!important;grid-template-columns:20px minmax(0,1fr)!important;align-items:center!important;column-gap:10px!important}.ws3 .ws-nav button>span,.ws3 .ws-nav a>span{justify-self:start!important;line-height:1.2!important}.ws3 .ws-gate-card h1{font-size:0!important}.ws3 .ws-gate-card h1::after{content:"正在验证管理权限";display:block;font-size:30px;line-height:1.22;letter-spacing:-.04em}.ws3 .ws-gate-card [data-ws-gate-text]{display:flex!important;align-items:center;justify-content:center;gap:9px}.ws3 .ws-gate-card [data-ws-gate-text]::before{content:"";width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#d9a527;box-shadow:0 0 0 4px rgba(217,165,39,.11);animation:wsGatePulse 1.4s ease-in-out infinite}@keyframes wsGatePulse{50%{opacity:.45;transform:scale(.82)}}

/* Workspace SVG sidebar icons. */
.ws3 .ws-nav-icon{width:20px;height:20px;display:grid!important;place-items:center!important;justify-self:center!important;line-height:0}.ws3 .ws-nav-icon svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ws3 .ws-nav button.active .ws-nav-icon{color:#17191f}

/* Workspace custom select — replaces iPad/Safari native dark popovers. */
.ws3 .ws-select-host{position:relative;width:100%;min-width:0}.ws3 .ws-select-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;overflow:hidden!important}.ws3 .ws-select-trigger{width:100%;min-height:46px;padding:0 13px;border:1px solid #dde2e6;border-radius:13px;background:linear-gradient(180deg,#fff,#fbfcfd);color:#17191f;display:grid;grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:10px;text-align:left;font:inherit;font-size:12px;font-weight:680;cursor:pointer;box-shadow:0 1px 0 rgba(17,18,23,.02),0 6px 18px rgba(17,18,23,.025);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.ws3 .ws-select-trigger:hover{border-color:#cfd5db;background:#fff}.ws3 .ws-select-trigger:focus-visible,.ws3 .ws-select-host.open .ws-select-trigger{outline:none;border-color:#aeb5bd;box-shadow:0 0 0 4px rgba(23,25,31,.07),0 10px 28px rgba(17,18,23,.05)}.ws3 .ws-select-value-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws3 .ws-select-chevron{width:18px;height:18px;fill:none;stroke:#7b828c;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s ease}.ws3 .ws-select-host.open .ws-select-chevron{transform:rotate(180deg)}.ws3 .ws-select-menu{position:absolute;z-index:600;left:0;right:0;top:calc(100% + 7px);display:none;padding:6px;border:1px solid #dfe3e7;border-radius:15px;background:rgba(255,255,255,.98);box-shadow:0 22px 60px rgba(20,24,31,.16);backdrop-filter:blur(20px);max-height:300px;overflow:auto}.ws3 .ws-select-host.open .ws-select-menu{display:grid;gap:3px;animation:wsSelectIn .14s ease-out}@keyframes wsSelectIn{from{opacity:0;transform:translateY(-5px) scale(.99)}to{opacity:1;transform:none}}.ws3 .ws-select-option{width:100%;min-height:42px;border:0;border-radius:10px;background:transparent;color:#3c424b;padding:0 10px;display:grid;grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:10px;text-align:left;font:inherit;font-size:12px;cursor:pointer}.ws3 .ws-select-option:hover{background:#f3f5f7;color:#17191f}.ws3 .ws-select-option.is-selected{background:#eef1f4;color:#17191f;font-weight:800}.ws3 .ws-select-option svg{width:17px;height:17px;fill:none;stroke:#17191f;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:0}.ws3 .ws-select-option.is-selected svg{opacity:1}

/* Workspace date/time field and modal. */
.ws3 .ws-date-native{display:none!important}.ws3 .ws-date-trigger{width:100%;min-height:46px;padding:0 12px 0 13px;border:1px solid #dde2e6;border-radius:13px;background:linear-gradient(180deg,#fff,#fbfcfd);color:#17191f;display:grid;grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:10px;text-align:left;font:inherit;font-size:12px;font-weight:680;cursor:pointer;box-shadow:0 1px 0 rgba(17,18,23,.02),0 6px 18px rgba(17,18,23,.025);transition:border-color .16s ease,box-shadow .16s ease}.ws3 .ws-date-trigger.empty{color:#9aa0a8;font-weight:600}.ws3 .ws-date-trigger:hover{border-color:#cfd5db}.ws3 .ws-date-trigger:focus-visible{outline:none;border-color:#aeb5bd;box-shadow:0 0 0 4px rgba(23,25,31,.07)}.ws3 .ws-date-trigger svg{width:18px;height:18px;fill:none;stroke:#777e88;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.ws-modal-open{overflow:hidden}.ws-datetime-overlay{position:fixed;inset:0;z-index:9998;background:rgba(18,20,25,.28);backdrop-filter:blur(7px);display:grid;place-items:center;padding:18px}.ws-datetime-overlay[hidden]{display:none!important}.ws-datetime-dialog{width:min(430px,calc(100vw - 28px));border:1px solid #dfe3e7;border-radius:24px;background:#fff;box-shadow:0 32px 100px rgba(20,24,31,.24);overflow:hidden}.ws-datetime-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 18px 11px}.ws-datetime-head>div:first-child{display:grid;gap:3px}.ws-datetime-head span{color:#e91f32;font-size:8px;font-weight:900;letter-spacing:.17em}.ws-datetime-head strong{font-size:17px;line-height:1.2}.ws-datetime-nav{display:flex;gap:6px}.ws-datetime-nav button{width:38px;height:38px;border:1px solid #e2e6ea;border-radius:11px;background:#fff;color:#555c66;display:grid;place-items:center;cursor:pointer}.ws-datetime-nav button:hover{background:#f4f6f7}.ws-datetime-nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.ws-datetime-week{display:grid;grid-template-columns:repeat(7,1fr);padding:2px 14px 0;color:#9aa0a8;font-size:10px;text-align:center}.ws-datetime-week span{padding:8px 0}.ws-datetime-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:4px 14px 14px}.ws-datetime-day{height:42px;border:0;border-radius:12px;background:transparent;color:#333841;font:inherit;font-size:12px;cursor:pointer}.ws-datetime-day:hover{background:#f0f2f4}.ws-datetime-day.outside{color:#c2c6cc}.ws-datetime-day.today{box-shadow:inset 0 0 0 1px #e91f32;color:#b91e2e}.ws-datetime-day.selected{background:#17191f;color:#fff;box-shadow:none;font-weight:800}.ws-datetime-time{border-top:1px solid #edf0f2;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fcfcfd}.ws-time-label span{display:block;font-size:12px;font-weight:800}.ws-time-label small{display:block;margin-top:3px;color:#9ba1a9;font-size:9px}.ws-time-steppers{display:flex;align-items:center;gap:8px}.ws-time-steppers>b{color:#9aa0a8;font-size:16px}.ws-time-stepper{display:grid;grid-template-columns:30px 44px 30px;grid-template-rows:38px 15px;align-items:center;border:1px solid #dfe3e7;border-radius:12px;background:#fff;padding:2px}.ws-time-stepper button{height:32px;border:0;background:transparent;color:#777e88;font:600 18px/1 system-ui;cursor:pointer}.ws-time-stepper button:hover{background:#f2f4f6;border-radius:8px;color:#17191f}.ws-time-stepper input{width:44px;height:32px;border:0;outline:0;background:#f6f8f9;border-radius:8px;text-align:center;color:#17191f;font:800 14px/32px system-ui;padding:0}.ws-time-stepper small{grid-column:1/-1;text-align:center;color:#a0a5ad;font-size:8px}.ws-datetime-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 18px 18px;border-top:1px solid #edf0f2}.ws-datetime-actions>div{display:flex;gap:8px}.ws-datetime-actions button{min-height:40px;padding:0 14px;border:1px solid #dfe3e7;border-radius:11px;background:#fff;color:#17191f;font:inherit;font-size:11px;font-weight:780;cursor:pointer}.ws-datetime-actions button.subtle:hover{background:#f4f5f7}.ws-datetime-actions button.primary{background:#17191f;color:#fff;border-color:#17191f}

@media(max-width:1200px) and (min-width:821px){.ws3 .ws-nav button,.ws3 .ws-nav a{grid-template-columns:20px!important;justify-content:center!important;justify-items:center!important;column-gap:0!important;padding-left:0!important;padding-right:0!important}.ws3 .ws-nav button>span:last-child,.ws3 .ws-nav a>span:last-child{display:none!important}}
@media(max-width:640px){.pretty-select-trigger{min-height:50px;border-radius:14px}.pretty-select-menu{position:fixed;left:15px;right:15px;top:auto;bottom:calc(14px + env(safe-area-inset-bottom));max-height:min(62dvh,520px);border-radius:22px;padding:10px;box-shadow:0 26px 80px rgba(17,18,23,.22)}.pretty-select-option{min-height:50px;border-radius:14px;padding:11px 13px}.ws3 .ws-gate-card h1::after{font-size:27px}.ws3 .ws-select-menu{position:fixed;left:12px;right:12px;top:auto;bottom:calc(12px + env(safe-area-inset-bottom));max-height:min(56dvh,460px);border-radius:20px;padding:8px}.ws3 .ws-select-option{min-height:48px;border-radius:12px;padding-inline:13px}.ws-datetime-overlay{align-items:end;padding:8px}.ws-datetime-dialog{width:100%;border-radius:24px 24px 15px 15px}.ws-datetime-time{align-items:flex-start;flex-direction:column}.ws-time-steppers{width:100%;justify-content:center}.ws-datetime-day{height:44px}.ws-datetime-actions{padding-bottom:calc(16px + env(safe-area-inset-bottom))}}
