:root{--ink:#2e2a38;--muted:#6b6478;--faint:#9a93a8;--line:rgba(116,104,128,0.16);--line-soft:rgba(116,104,128,0.10);--violet:#8b80ea;--blue:#7bb7f2;--mint:#5ec9a3;--pink:#f08bb4;--gold:#cfa14a;--coral:#E8655A;--amber:#E8A838;--rose:#e85d7e;--paper:rgba(255,255,255,0.78);--paper-strong:rgba(255,255,255,0.94);--paper-dim:rgba(255,255,255,0.55);--shadow:0 22px 54px rgba(92,74,113,0.14);--soft-shadow:0 10px 24px rgba(92,74,113,0.1);--sh-float:0 16px 32px rgba(92,74,113,.12),0 40px 90px rgba(66,59,93,.24);font-family:SF Pro SC,SF Pro Display,SF Pro Text,-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Segoe UI Variable Text,Segoe UI,Microsoft JhengHei UI,Microsoft YaHei UI,sans-serif}.page-dashboard,.page-files,.page-homework,.page-piggy,.page-profile,.page-schedule,.page-students{width:min(1540px,calc(100% - 56px));padding-bottom:90px}.page-dashboard .sidebar,.page-files .sidebar,.page-homework .sidebar,.page-piggy .sidebar,.page-profile .sidebar,.page-schedule .sidebar,.page-students .sidebar{display:none}.page-dashboard .main,.page-files .main,.page-homework .main,.page-piggy .main,.page-profile .main,.page-schedule .main,.page-students .main{gap:18px}.page-dashboard .topbar,.page-files .topbar,.page-homework .topbar,.page-piggy .topbar,.page-profile .topbar,.page-schedule .topbar,.page-students .topbar{min-height:104px;padding:24px 28px;border-radius:34px;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(246,250,255,.68)),linear-gradient(135deg,rgba(255,232,189,.18),rgba(185,204,255,.2))}.page-dashboard .topbar h1,.page-files .topbar h1,.page-homework .topbar h1,.page-piggy .topbar h1,.page-profile .topbar h1,.page-schedule .topbar h1,.page-students .topbar h1{font-size:clamp(22px,2.8vw,36px);line-height:1.15}.prototype-dock{position:fixed;bottom:18px;z-index:80;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:8px;max-width:calc(100vw - 32px);padding:10px 14px;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.78);background:rgba(43,38,58,.88);box-shadow:var(--sh-float,0 16px 32px rgba(92,74,113,.12),0 40px 90px rgba(66,59,93,.24));backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.prototype-dock span{font-size:12px;color:rgba(255,255,255,.62)}.prototype-dock a,.prototype-dock button{min-height:32px;padding:0 14px;border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.74);background:rgba(255,255,255,.05);transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}.prototype-dock a.active,.prototype-dock a:hover,.prototype-dock button:hover{color:#2e2a38;background:linear-gradient(135deg,#fff,#e9ecff);box-shadow:0 8px 20px rgba(0,0,0,.18);transform:translateY(-1px)}.proto-workspace{border:1px solid var(--line);border-radius:34px;padding:24px;background:linear-gradient(135deg,rgba(255,255,255,.84),rgba(255,255,255,.58)),linear-gradient(135deg,rgba(255,226,178,.16),rgba(185,204,255,.18));box-shadow:var(--sh-rest)}.proto-filterbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.proto-filterbar.compact{margin-bottom:16px}.proto-search{min-width:260px;min-height:44px;display:inline-flex;align-items:center;gap:10px;padding:0 16px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.76);color:var(--muted)}.proto-search svg{width:17px;height:17px}.proto-search input{width:100%;border:0;outline:0;color:var(--ink);background:transparent}.student-proto-grid{display:grid;grid-template-columns:repeat(4,minmax(240px,1fr));grid-gap:18px;gap:18px}.student-proto-card{min-height:252px;display:grid;grid-gap:16px;gap:16px;padding:18px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(150deg,rgba(255,255,255,.88),rgba(255,255,255,.62));box-shadow:var(--sh-rest);transition:transform .22s ease,box-shadow .22s ease}.student-proto-card:hover{transform:translateY(-3px);box-shadow:var(--sh-hover)}.student-proto-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:start}.student-proto-head strong{display:block;font-size:17px;line-height:1.25}.student-proto-head span{color:var(--muted);font-size:13px}.tag-rose,.tag-soft{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;font-style:normal;font-size:12px;font-weight:760}.tag-rose{color:#b74f7b;background:rgba(240,139,180,.18)}.tag-soft{color:var(--muted);background:rgba(116,104,128,.08)}.student-progress{display:grid;grid-gap:8px;gap:8px}.student-progress div{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.student-progress b{color:var(--ink)}.student-progress i{display:block;height:7px;overflow:hidden;border-radius:999px;background:rgba(116,104,128,.1)}.student-progress i span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--violet),var(--blue))}.student-mini-stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.student-mini-stats div,.student-proto-card p{margin:0;padding:12px;border:1px solid var(--line-soft);border-radius:16px;background:rgba(255,255,255,.48)}.student-mini-stats span{display:block;color:var(--faint);font-size:12px;margin-bottom:4px}.student-mini-stats strong,.student-proto-card p{color:var(--muted);font-size:13px;line-height:1.55}.card-actions,.two-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.schedule-workspace{padding:28px}.schedule-week-block{display:grid;grid-gap:12px;gap:12px}.schedule-week-block+.schedule-week-block{margin-top:18px}.week-label{padding:5px 12px;color:var(--muted);background:rgba(255,255,255,.7);font-size:13px;font-weight:760}.schedule-week-grid{display:grid;grid-template-columns:repeat(7,minmax(118px,1fr));grid-gap:12px;gap:12px}.schedule-day-card{min-height:244px;display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.62);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.schedule-day-card.today{border-color:rgba(139,128,234,.48);box-shadow:inset 0 0 0 1px rgba(139,128,234,.12)}.schedule-day-card:hover{transform:translateY(-2px);box-shadow:var(--sh-hover)}.schedule-day-head{display:flex;justify-content:space-between;gap:10px;color:var(--muted)}.schedule-day-head b{color:var(--ink)}.schedule-course-list{display:grid;grid-gap:8px;gap:8px}.schedule-course-list em{color:var(--faint);font-style:normal}.schedule-course-card{width:100%;min-height:82px;display:grid;grid-gap:3px;gap:3px;text-align:left;padding:11px 12px;border:1px solid rgba(139,128,234,.18);border-radius:14px;color:var(--ink);background:linear-gradient(135deg,rgba(139,128,234,.11),rgba(123,183,242,.1))}.schedule-course-card b{color:var(--violet);font-size:12px}.schedule-course-card small{color:var(--muted)}.files-proto-grid,.homework-workspace,.schedule-lower-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.8fr);grid-gap:18px;gap:18px}.month-mini-grid{display:grid;grid-template-columns:repeat(10,minmax(54px,1fr));grid-gap:10px;gap:10px}.month-mini-grid button{position:relative;min-height:58px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.64)}.month-mini-grid button.active{border-color:rgba(139,128,234,.5)}.month-mini-grid button.selected{color:var(--ink);border-color:var(--violet);background:rgba(139,128,234,.12);box-shadow:0 0 0 3px rgba(139,128,234,.1)}.panel-title-actions{display:inline-flex;align-items:center;gap:8px}.month-mini-grid button span{position:absolute;right:8px;top:8px;min-width:20px;height:20px;display:grid;place-items:center;border-radius:999px;color:#fff;background:var(--violet);font-size:11px}.compact-list,.file-proto-list,.homework-proto-list{display:grid;grid-gap:10px;gap:10px}.compact-row,.file-proto-row,.homework-proto-row{width:100%;min-height:72px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:18px;text-align:left;background:rgba(255,255,255,.62)}.file-proto-row{grid-template-columns:auto minmax(0,1fr) auto}.compact-row small,.file-proto-row small,.homework-proto-row small{display:block;color:var(--muted);margin-top:4px;line-height:1.4}.round-mini{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;color:#fff;background:linear-gradient(135deg,var(--violet),var(--blue))}.files-main-col,.homework-left{display:grid;grid-gap:18px;gap:18px}.homework-draft-card,.upload-proto-card{padding:24px;border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.56)}.homework-draft-card{min-height:480px}.upload-proto-card h3{margin:0 0 14px;font-size:20px}.hw-status{min-height:28px;display:inline-flex;align-items:center;padding:0 10px;font-style:normal;font-size:12px;font-weight:760}.hw-status.reviewing{color:#6c57bd}.hw-status.done{background:rgba(94,201,163,.18)}.review-editor{min-height:340px}.folder-proto-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));grid-gap:14px;gap:14px}.folder-proto-card{min-height:136px;display:grid;align-content:space-between;justify-items:start;padding:18px;border:1px solid var(--line);border-radius:20px;text-align:left;color:var(--ink);background:rgba(255,255,255,.62);transition:transform .2s ease,box-shadow .2s ease}.folder-proto-card:hover{transform:translateY(-2px);box-shadow:var(--sh-hover)}.folder-proto-card.active{border-color:var(--violet);background:rgba(139,128,234,.1);box-shadow:0 0 0 3px rgba(139,128,234,.12)}.folder-proto-card small{color:var(--muted)}.files-side-col{align-self:start}.file-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.file-type{width:48px;height:48px;border-radius:14px;color:#fff;font-size:12px;background:linear-gradient(135deg,var(--violet),var(--blue))}.file-type.doc{background:linear-gradient(135deg,#5d96e8,#7bb7f2)}.file-type.xls{background:linear-gradient(135deg,#46ad83,#7dd8b8)}.file-type.ppt{background:linear-gradient(135deg,#e48b3f,#e0bb6e)}.file-type.mp3{background:linear-gradient(135deg,#8b80ea,#b29df6)}.file-type.img{background:linear-gradient(135deg,#5ec9a3,#7bb7f2)}.era-modal-backdrop{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:24px;background:rgba(36,32,49,.22);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.era-modal{width:min(860px,100%);max-height:calc(100vh - 56px);overflow:auto;padding:24px;border:1px solid var(--line);border-radius:30px;background:rgba(255,255,255,.9);box-shadow:var(--sh-float)}.era-picker{min-height:72px;display:inline-flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:18px;color:var(--ink);background:rgba(255,255,255,.68);text-align:left}.era-picker.wide{width:100%}.era-picker-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;border-radius:14px;color:var(--ink);background:rgba(255,255,255,.72);border:1px solid var(--line);font-weight:600;white-space:nowrap}.era-picker span,.era-picker strong{display:block}.era-picker span:not(.era-picker-button){color:var(--muted);font-size:13px;margin-top:3px}@media (max-width:1180px){.folder-proto-grid,.student-proto-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.schedule-week-grid{grid-template-columns:repeat(4,minmax(130px,1fr))}.files-proto-grid,.homework-workspace,.schedule-lower-grid{grid-template-columns:1fr}}@media (max-width:760px){.page-files,.page-homework,.page-schedule,.page-students{width:min(100% - 24px,1540px);padding-bottom:118px}.actions,.proto-filterbar,.topbar{align-items:stretch;flex-direction:column}.folder-proto-grid,.month-mini-grid,.schedule-week-grid,.student-proto-grid{grid-template-columns:1fr}.prototype-dock{bottom:10px;justify-content:flex-start;overflow-x:auto}}:root[data-theme=soft-ios-dark]{--ink:#ece9f2;--muted:#a8a0ba;--faint:#7a7388;--line:rgba(255,255,255,0.10);--line-soft:rgba(255,255,255,0.06);--violet:#9d93f0;--blue:#7fb8f5;--mint:#6dd4ae;--pink:#f298bd;--gold:#dcc06a;--coral:#f08a80;--amber:#ecc06a;--rose:#f07f9a;--paper:rgba(38,34,52,0.72);--paper-strong:rgba(44,40,60,0.88);--paper-dim:rgba(38,34,52,0.5)}:root[data-theme=soft-ios-dark] body{background:radial-gradient(circle at 10% 6%,rgba(139,128,234,.14),transparent 32%),radial-gradient(circle at 90% 8%,rgba(123,183,242,.12),transparent 32%),linear-gradient(160deg,#1b1825,#211d2e 50%,#1e1a28);color:var(--ink)}:root{--r-xl:36px;--r-lg:24px;--r-md:18px;--r-sm:14px;--sh-rest:0 1px 2px rgba(92,74,113,.04),0 6px 16px rgba(92,74,113,.06);--sh-hover:0 4px 10px rgba(92,74,113,.06),0 18px 38px rgba(92,74,113,.10);--sh-raise:0 8px 18px rgba(92,74,113,.08),0 30px 60px rgba(92,74,113,.16)}.library-hero,.panel,.review-hero,.schedule-hero,.sidebar,.student-command,.topbar{box-shadow:var(--sh-rest)}.subpage-hero{background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(246,250,255,.68)),linear-gradient(135deg,rgba(255,232,189,.16),rgba(185,204,255,.18))}.library-hero h1,.review-hero h1,.schedule-hero h1,.subpage-hero h1{text-wrap:balance}.prototype-card{box-shadow:var(--sh-rest)}.dash-qa:hover,.dash-stat:hover,.drag-day:hover,.file-row:hover,.folder-card:hover,.prototype-card:hover{box-shadow:var(--sh-hover)}.sc-tag{margin-left:auto;font-size:11px;font-weight:760;padding:5px 10px;border-radius:999px;align-self:start}.sc-tag.gold{color:#8a6a1f;background:rgba(207,161,74,.18)}.sc-tag.rose{color:#a83f5b;background:rgba(232,93,126,.16)}.progress{display:grid;grid-gap:8px;gap:8px}.progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px}.progress-head b{color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.progress-bar{height:8px;border-radius:999px;overflow:hidden;background:rgba(139,128,234,.12)}.progress-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--violet),var(--blue));box-shadow:0 8px 16px rgba(107,110,221,.16)}.compact-row{min-height:72px}.drag-course,.file-row,.folder-card,.month-dot,.student-card,.week-pill{transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease}.file-row:hover,.folder-card:hover,.month-dot:hover,.student-card:hover,.week-pill:hover{transform:translateY(-2px)}:root[data-theme=warm-education]{--violet:#8f82df;--blue:#79b7e6;--mint:#94d5b4;--pink:#eeb0c2;--gold:#d5a94e;--paper:rgba(255,250,242,0.75);--paper-strong:rgba(255,253,247,0.92)}:root[data-theme=clean-light]{--ink:#302f38;--muted:#73717e;--violet:#7f8ee9;--blue:#78bce6;--mint:#89d7ca;--pink:#eeb1d1;--gold:#cfa755;--paper:rgba(255,255,255,0.82);--paper-strong:rgba(255,255,255,0.96)}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 12% 8%,rgba(255,220,175,.34),transparent 28%),radial-gradient(circle at 88% 10%,rgba(184,202,255,.42),transparent 28%),linear-gradient(135deg,#fff8ee,#f7fbff 48%,#fff2f7);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}:root[data-theme=warm-education] body{background:radial-gradient(circle at 10% 8%,rgba(255,226,178,.48),transparent 28%),radial-gradient(circle at 90% 12%,rgba(204,218,255,.34),transparent 28%),linear-gradient(135deg,#fff8ec,#fbfbff 52%,#fff1f5)}:root[data-theme=clean-light] body{background:radial-gradient(circle at 12% 8%,rgba(219,231,255,.42),transparent 28%),radial-gradient(circle at 88% 10%,rgba(222,248,239,.4),transparent 28%),linear-gradient(135deg,#f9fbff,#ffffff 50%,#fff8fb)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.18),transparent 18%,rgba(255,255,255,.16) 52%,transparent),radial-gradient(circle at 50% 100%,rgba(139,128,234,.14),transparent 34%);opacity:.74}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}a{color:inherit;text-decoration:none}svg{width:20px;height:20px;display:block;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}a svg,button svg{flex:0 0 auto}.shell{width:min(1540px,calc(100% - 40px));margin:0 auto;padding:20px 0}.glass{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.login-card{width:min(460px,100%);padding:34px;border-radius:34px}.login-links{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px}.login-links button{color:var(--muted);background:transparent;font-size:14px}.login-links button:hover{color:var(--ink)}.login-links span{width:1px;height:14px;background:var(--line)}.login-hint{margin:12px 0 0;color:var(--muted);text-align:center;font-size:13px;line-height:1.6}.auth-tabs{display:flex;gap:0;margin-bottom:20px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}.auth-tabs button{flex:1 1;padding:10px 0;font-size:14px;font-weight:500;background:transparent;color:var(--muted);border:none;cursor:pointer;transition:background .2s,color .2s}.auth-tabs button.active{background:var(--violet,#7c5cfc);color:#fff}.role-picker{display:flex;gap:12px}.role-option{flex:1 1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:12px;border:1.5px solid var(--line);cursor:pointer;transition:border-color .2s,background .2s;font-size:15px}.role-option:has(input:checked){border-color:var(--violet,#7c5cfc);background:rgba(124,92,252,.06)}.role-option input[type=radio]{display:none}.user-mgmt{margin-top:28px}.user-mgmt h3{font-size:15px;font-weight:600;margin-bottom:14px}.user-mgmt table{width:100%;border-collapse:collapse;font-size:13px}.user-mgmt th{text-align:left;padding:8px 10px;color:var(--muted);font-weight:500}.user-mgmt td,.user-mgmt th{border-bottom:1px solid var(--line)}.user-mgmt td{padding:10px}.user-mgmt .badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:500}.badge-pending{background:#fef3c7;color:#92400e}.badge-approved{background:#d1fae5;color:#065f46}.badge-rejected{background:#fee2e2;color:#991b1b}.user-mgmt .action-btn{padding:4px 12px;border-radius:6px;font-size:12px;border:1px solid var(--line);background:var(--paper);cursor:pointer;margin-right:6px;transition:background .15s}.user-mgmt .action-btn:hover{background:rgba(0,0,0,.04)}.user-mgmt .action-btn.approve{color:#059669;border-color:#a7f3d0}.user-mgmt .action-btn.delete,.user-mgmt .action-btn.reject{color:#dc2626;border-color:#fecaca}:root[data-theme=soft-ios-dark] .badge-pending{background:rgba(254,243,199,.15);color:#fbbf24}:root[data-theme=soft-ios-dark] .badge-approved{background:rgba(209,250,229,.1);color:#34d399}:root[data-theme=soft-ios-dark] .badge-rejected{background:rgba(254,226,226,.1);color:#f87171}:root[data-theme=soft-ios-dark] .user-mgmt .action-btn{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1)}:root[data-theme=soft-ios-dark] .user-mgmt .action-btn:hover{background:rgba(255,255,255,.1)}:root[data-theme=soft-ios-dark] .auth-tabs,:root[data-theme=soft-ios-dark] .role-option{border-color:rgba(255,255,255,.1)}:root[data-theme=soft-ios-dark] .role-option:has(input:checked){border-color:var(--violet,#7c5cfc);background:rgba(124,92,252,.15)}.remember-row{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:14px}.brand-row{margin-bottom:26px}.brand,.brand-row{display:flex;gap:14px;align-items:center}.brand,.brand-copy{min-width:0}.brand-title{color:var(--gold);font-size:16px;font-weight:760;line-height:1.18;white-space:nowrap}.brand-subtitle{margin-top:4px;color:var(--ink);font-size:15px;font-weight:720;white-space:nowrap}.brand-mark{width:54px;height:54px;border-radius:20px;position:relative;display:grid;place-items:center;color:#fff;font-weight:760;background:linear-gradient(145deg,rgba(255,255,255,.36),transparent 42%),linear-gradient(135deg,#7e77ea,#6fbbe8 48%,#92dfbd);box-shadow:0 16px 32px rgba(118,112,226,.25);overflow:hidden;flex:0 0 auto}.brand-logo-img{width:38px;height:38px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.12))}.brand-logo-img,.login-logo-img{object-fit:contain;flex:0 0 auto}.login-logo-img{width:54px;height:54px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.15))}.era-mark{letter-spacing:-.01em}.brand-mark:before{content:"";position:absolute;inset:11px 9px 9px 19px;border:1.6px solid rgba(255,255,255,.62);border-left:0;border-radius:4px 12px 12px 4px;opacity:.72}.brand-mark:after{content:"";position:absolute;left:12px;top:12px;width:11px;height:29px;border-radius:999px;background:rgba(255,255,255,.28);box-shadow:21px -4px 0 -8px rgba(255,255,255,.94)}.logo-letter{position:relative;z-index:1;font-size:18px;line-height:1;font-weight:820;text-shadow:0 6px 14px rgba(55,51,92,.22);transform:translateY(-.5px)}.ai-name{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.ai-name .ai-mark{font-family:SF Pro Display,Segoe UI Variable Display,-apple-system,BlinkMacSystemFont,sans-serif;min-width:34px;height:24px;display:inline-grid;place-items:center;color:#fff;font-size:12px;font-weight:820;letter-spacing:.2px;line-height:1;background:radial-gradient(circle at 82% 20%,rgba(255,255,255,.9) 0 2px,transparent 3px),linear-gradient(135deg,#8b80ea,#65bfd3);box-shadow:0 8px 18px rgba(101,111,214,.22)}.ai-name .cn{font-weight:720;transform:translateY(.5px)}.ai-name .cn,.e-label{font-family:PingFang SC,SF Pro SC,Microsoft YaHei UI,sans-serif}.e-label{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;vertical-align:-.04em;transform:none;line-height:inherit;font-weight:760;letter-spacing:0}.e-label-letter{display:inline-block;font-family:SF Pro Display,Segoe UI Variable Display,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:800;line-height:1;letter-spacing:0;transform:translateY(.01em)}.e-label-cn{display:inline-block;line-height:inherit}.e-label.compact{gap:3px}.logo-spark{position:absolute;right:10px;top:10px;width:5px;height:5px;border-radius:999px;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.18)}.teacher-card{padding:16px;border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(245,250,255,.62)),linear-gradient(135deg,rgba(255,232,189,.18),rgba(185,204,255,.16));border:1px solid var(--line)}.sidebar-foot strong,.teacher-card strong{display:block;margin-bottom:8px;font-size:15px}.sidebar-foot span,.teacher-card p{margin:0;color:var(--muted);line-height:1.7;font-size:13px}.eyebrow{color:var(--gold);font-size:13px;font-weight:700}h1{margin:0;font-size:clamp(28px,4vw,46px);line-height:1.08;letter-spacing:0}h2{margin:6px 0 0;font-size:clamp(22px,2.4vw,30px);line-height:1.18}.login-card p,.muted{color:var(--muted);line-height:1.7}.form{display:grid;grid-gap:14px;gap:14px;margin-top:24px}.input,.select,.textarea{width:100%;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.76);color:var(--ink);outline:none;padding:13px 14px}.textarea{min-height:94px;resize:vertical}.ghost-btn,.primary-btn,.small-btn{min-height:44px;border-radius:16px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .22s ease,box-shadow .22s ease,background .22s ease}.ghost-btn:hover,.primary-btn:hover,.small-btn:hover{transform:translateY(-2px);box-shadow:var(--soft-shadow)}.primary-btn{color:#fff;background:linear-gradient(135deg,var(--violet),var(--blue));box-shadow:0 14px 24px rgba(107,110,221,.22)}.ghost-btn,.small-btn{color:#5e5668;background:rgba(255,255,255,.7);border:1px solid var(--line)}.app{display:grid;grid-template-columns:284px minmax(0,1fr);grid-gap:20px;gap:20px}.app.with-right-panel{grid-template-columns:284px minmax(0,1fr) 290px;width:min(1600px,calc(100% - 32px))}.sidebar{position:-webkit-sticky;position:sticky;top:20px;min-height:calc(100vh - 40px);border-radius:32px;padding:22px;display:flex;flex-direction:column;gap:22px;animation:sideFloat .5s ease both}.nav{display:grid;grid-gap:8px;gap:8px}.nav a,.nav button{min-height:48px;padding:0 14px;border-radius:17px;color:#61596b;background:transparent;text-align:left;display:flex;align-items:center;gap:12px;transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}.nav-icon{width:32px;height:32px;border-radius:12px;display:grid;place-items:center;color:#776ee4;background:rgba(255,255,255,.72);flex:0 0 auto}.nav-icon svg{width:18px;height:18px}.nav-icon.c-violet{background:rgba(139,128,234,.12);color:var(--violet)}.nav-icon.c-coral{background:rgba(243,168,199,.15);color:#d47a9e}.nav-icon.c-teal{background:rgba(142,223,192,.18);color:#4aaf8f}.nav-icon.c-amber{background:rgba(217,175,97,.15);color:#b8912e}.nav-icon.c-blue{background:rgba(123,183,242,.15);color:#5a9ad4}.nav-icon.c-pink{background:rgba(243,168,199,.15);color:#d47a9e}.nav-icon.c-gray{background:rgba(116,104,128,.1);color:var(--muted)}.nav a:hover,.nav button:hover{transform:translateY(-1px);background:rgba(255,255,255,.7);box-shadow:var(--soft-shadow)}.nav a.active{color:var(--ink);background:linear-gradient(135deg,rgba(139,128,234,.16),rgba(142,223,192,.16))}.nav a.active .nav-icon{color:#fff;background:linear-gradient(135deg,var(--violet),var(--blue));box-shadow:0 10px 18px rgba(118,112,226,.2)}.sidebar-foot{margin-top:auto;padding:16px;border-radius:24px;background:linear-gradient(135deg,rgba(255,250,241,.86),rgba(243,168,199,.18));border:1px solid var(--line)}.logout-btn{width:100%}.main{display:grid;grid-gap:18px;gap:18px;min-width:0;animation:pageRise .45s ease both}@keyframes pageRise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes sideFloat{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.panel,.topbar{border-radius:30px;padding:22px}.topbar{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(246,250,255,.64)),linear-gradient(135deg,rgba(255,232,189,.14),rgba(185,204,255,.16))}.topbar h1{font-size:clamp(22px,2.8vw,36px);font-weight:760;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1 1}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.stats-grid,.student-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:14px;gap:14px}.stat,.student-card{border-radius:28px;padding:18px;border:1px solid var(--line);background:rgba(255,255,255,.72)}.stat{min-height:130px;display:grid;align-content:space-between;transition:transform .22s ease,box-shadow .22s ease}.focus-item:hover,.quick-entry:hover,.stat:hover,.student-card:hover{transform:translateY(-4px);box-shadow:0 26px 54px rgba(92,74,113,.16)}.stat strong{display:block;margin-top:8px;font-size:34px}.student-card{display:grid;grid-gap:14px;gap:14px}.student-card header{display:flex;justify-content:space-between;gap:12px}.badge{width:-moz-fit-content;width:fit-content;border-radius:999px;padding:6px 10px;color:#6c57bd;background:rgba(139,128,234,.13);font-size:12px;font-weight:700}.badge.pink{color:#b74f7b;background:rgba(243,168,199,.18)}.student-card header .badge{width:64px;height:64px;min-width:64px;padding:0;text-align:center;border-radius:999px;line-height:1;align-self:start}.student-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.student-form.compact{margin-top:10px}.student-form .wide{grid-column:1/-1}.hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);grid-gap:18px;gap:18px}.hero-card,.today-card{border-radius:36px;padding:clamp(24px,4vw,38px);overflow:hidden}.hero-card{position:relative;min-height:382px;background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(246,249,255,.68)),linear-gradient(135deg,rgba(255,232,189,.44),rgba(185,204,255,.32))}.hero-card:after{content:"";position:absolute;right:30px;bottom:20px;width:min(390px,48vw);height:238px;border-radius:32px;background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(250,250,255,.68)),repeating-linear-gradient(0deg,transparent 0 25px,rgba(139,128,234,.08) 25px 26px);box-shadow:0 20px 40px rgba(73,60,91,.12);transform:rotate(-4deg);opacity:.78}.hero-card:before{content:"";position:absolute;right:18%;top:8%;width:180px;height:74px;border-radius:999px;background:linear-gradient(135deg,rgba(139,128,234,.16),rgba(142,223,192,.12));filter:blur(28px)}.hero-content{position:relative;z-index:1;max-width:760px}.hero-content h1{max-width:780px;font-size:clamp(42px,5.8vw,78px);font-weight:780;letter-spacing:0;text-wrap:balance}.hero-content p{max-width:620px;margin:18px 0 26px;color:var(--muted);line-height:1.9}.today-card{min-height:382px;background:linear-gradient(135deg,rgba(255,255,255,.8),rgba(255,255,255,.58)),linear-gradient(135deg,rgba(139,128,234,.08),rgba(243,168,199,.08))}.panel-heading,.split-row{justify-content:space-between}.content-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);grid-gap:18px;gap:18px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.panel-title h2{margin:0;font-size:20px}.hint{color:var(--muted);font-size:13px}.quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;gap:12px;margin-top:18px}.quick-card,.quick-entry{min-height:126px;border:1px solid var(--line);border-radius:26px;padding:18px;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(255,255,255,.58)),linear-gradient(135deg,rgba(139,128,234,.07),rgba(142,223,192,.07));display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:12px;transition:transform .22s ease,box-shadow .22s ease;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.quick-entry:hover{transform:translateY(-4px);box-shadow:0 26px 54px rgba(92,74,113,.16)}.quick-card:hover{transform:translateY(-3px);box-shadow:0 18px 32px rgba(92,74,113,.12)}.quick-card span,.round-icon{width:52px;height:52px;min-width:52px;border-radius:20px;display:grid;place-items:center;color:#fff;font-weight:760;background:linear-gradient(135deg,var(--violet),var(--blue));line-height:1;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 12px 22px rgba(118,112,226,.18)}.round-icon svg{width:21px;height:21px}.quick-card small,.timeline-item small{color:var(--muted)}.timeline-list{margin-top:16px}.timeline,.timeline-list{display:grid;grid-gap:12px;gap:12px}.time-item{display:grid;grid-template-columns:52px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:center;padding:13px;border-radius:22px;background:rgba(255,255,255,.66);border:1px solid var(--line)}.focus-item strong,.time-item strong{display:block;margin-bottom:4px}.focus-item span,.time-item span{color:var(--muted);line-height:1.5}.focus-list{display:grid;grid-gap:12px;gap:12px}.focus-item{grid-template-columns:52px minmax(0,1fr) auto;grid-gap:12px;gap:12px;padding:14px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.68);transition:transform .22s ease,box-shadow .22s ease}.focus-item,.student-command{display:grid;align-items:center}.student-command{border-radius:34px;padding:clamp(22px,4vw,34px);grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);grid-gap:22px;gap:22px}.student-command-copy h1{font-size:clamp(36px,5vw,62px)}.student-command-copy p{max-width:720px;margin:14px 0 0}.student-command-actions{display:grid;grid-template-columns:1fr auto auto;grid-gap:10px;gap:10px}.search-input{min-width:0;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.76);color:var(--ink);outline:none;padding:0 15px;min-height:46px}.student-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.mini-stat{border-radius:26px;padding:18px;min-height:112px;display:grid;align-content:space-between}.mini-stat span{color:var(--muted)}.mini-stat strong{font-size:34px;line-height:1}.student-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}.grade-pills,.segmented{display:inline-flex;gap:6px;padding:6px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.58)}.grade-pills button,.segmented button{min-height:38px;border-radius:15px;padding:0 14px;color:var(--muted);background:transparent}.grade-pills button.active,.segmented button.active{color:#fff;background:linear-gradient(135deg,var(--violet),var(--blue));box-shadow:0 10px 18px rgba(107,110,221,.18)}.student-grid.refined{grid-template-columns:repeat(auto-fill,minmax(310px,1fr))}.refined-card{min-height:286px;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(255,255,255,.6)),linear-gradient(135deg,rgba(139,128,234,.06),rgba(142,223,192,.08));transition:transform .22s ease,box-shadow .22s ease}.student-identity{display:flex;align-items:center;gap:12px;min-width:0}.student-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.student-meta span{min-height:64px;border-radius:18px;padding:10px;background:rgba(255,255,255,.62);color:var(--ink)}.student-meta b{display:block;margin-bottom:5px;color:var(--muted);font-size:12px}.student-note{min-height:48px;border-radius:18px;padding:11px 12px;color:var(--muted);background:rgba(255,255,255,.52);line-height:1.6}.danger{color:#b14f68}.empty-state{grid-column:1/-1;min-height:180px;border:1px dashed rgba(116,104,128,.24);border-radius:28px;display:grid;place-items:center;text-align:center;color:var(--muted);background:rgba(255,255,255,.48)}.empty-state strong{display:block;color:var(--ink);font-size:20px}.avatar-soft{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;color:#fff;font-weight:760;background:linear-gradient(135deg,#f4a8c6,#d9af61)}.timeline-item{border:1px solid var(--line);border-radius:20px;padding:14px 16px;background:rgba(255,255,255,.68);display:grid;grid-gap:4px;gap:4px}.timeline-item span{color:var(--muted)}.checkbox-row{justify-content:flex-start}.file-input{max-width:680px}.notice{color:#5e5668;background:rgba(142,223,192,.18);border:1px solid rgba(142,223,192,.28);border-radius:14px}.error,.notice{padding:10px 12px}.error{color:#b14f68;background:rgba(255,247,250,.82);border:1px solid rgba(243,168,199,.3);border-radius:14px}.piggy-fab{position:fixed;z-index:30;width:56px;height:56px;border-radius:18px;display:grid;place-items:center;color:#fff;background:transparent;box-shadow:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;will-change:transform;transition:transform .22s cubic-bezier(.4,0,.2,1)}.piggy-fab.no-transition{transition:none!important}.e-classmate-face,.piggy-face{width:56px;height:56px;border-radius:18px;filter:drop-shadow(0 3px 8px rgba(0,0,0,.1))}.piggy-panel{position:fixed;z-index:80;width:min(520px,calc(100vw - 32px));height:min(700px,calc(100vh - 80px));border-radius:20px;display:flex;flex-direction:column;overflow:hidden;animation:dockIn .22s ease both;background:#ffffff;border:1px solid rgba(0,0,0,.06);box-shadow:0 20px 60px rgba(0,0,0,.1),0 0 0 1px rgba(0,0,0,.02);backdrop-filter:none;-webkit-backdrop-filter:none}@keyframes dockIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.piggy-panel header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px 12px;border-bottom:1px solid rgba(0,0,0,.06);flex-shrink:0}.piggy-panel header>div{display:flex;align-items:center;gap:10px}.piggy-panel header .brand-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.piggy-panel header .brand-icon svg{width:28px;height:28px}.piggy-panel header strong{font-size:15px;font-weight:600;color:#1a1a1a;letter-spacing:-.01em}.piggy-panel header p.muted{font-size:11px;color:rgba(0,0,0,.35);margin:0}.piggy-panel header .actions{display:flex;gap:4px;padding-top:0}.piggy-panel header .small-btn{width:32px;height:32px;min-height:32px;padding:0;font-size:15px;border-radius:8px;border:none;background:rgba(0,0,0,.04);color:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.piggy-panel header .small-btn:hover{background:rgba(0,0,0,.08);color:rgba(0,0,0,.6)}.piggy-panel p{margin:4px 0 0}.piggy-messages{overflow-y:auto;flex:1 1;display:flex;flex-direction:column;gap:20px;padding:20px 22px 12px}.piggy-messages::-webkit-scrollbar{width:4px}.piggy-messages::-webkit-scrollbar-track{background:transparent}.piggy-messages::-webkit-scrollbar-thumb{background:rgba(0,0,0,.06);border-radius:2px}.piggy-message{max-width:88%;font-size:14px;line-height:1.7;letter-spacing:-.005em;white-space:pre-wrap;border:none;background:none;padding:0;border-radius:0;color:#333}.piggy-message.user{align-self:flex-end;max-width:78%;color:#fff;background:#7c5cfc;padding:11px 16px;border-radius:18px 18px 6px 18px}.message-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.message-actions button{padding:6px 14px;border-radius:8px;border:1px solid rgba(0,0,0,.08);background:#fff;color:rgba(0,0,0,.5);font-size:12px;cursor:pointer;transition:all .15s;min-height:auto;display:flex;align-items:center;gap:4px}.message-actions button:hover{background:rgba(0,0,0,.04);color:rgba(0,0,0,.7)}.piggy-content-card{align-self:stretch;background:#fafafa;border:1px solid rgba(0,0,0,.06);border-radius:16px;overflow:hidden}.piggy-content-card .card-head{padding:12px 18px 10px;display:flex;align-items:center;gap:10px;background:rgba(0,0,0,.02);border-bottom:1px solid rgba(0,0,0,.06)}.piggy-content-card .card-icon{width:30px;height:30px;border-radius:8px;background:rgba(124,92,252,.1);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}.piggy-content-card .card-head-text strong{font-size:14px;font-weight:600;color:#1a1a1a;display:block}.piggy-content-card .card-head-text span{font-size:11px;color:rgba(0,0,0,.35)}.piggy-content-card .card-body{padding:14px 18px;font-size:14px;line-height:1.7}.piggy-content-card .card-footer{padding:10px 18px 14px;display:flex;gap:8px;border-top:1px solid rgba(0,0,0,.06)}.piggy-content-card .card-btn{padding:6px 14px;border-radius:8px;border:1px solid rgba(0,0,0,.08);background:#fff;color:rgba(0,0,0,.5);font-size:12px;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:4px}.piggy-content-card .card-btn:hover{background:rgba(0,0,0,.04);color:rgba(0,0,0,.7)}.piggy-content-card .card-btn.primary{background:rgba(124,92,252,.08);border-color:rgba(124,92,252,.18);color:#7c5cfc}.piggy-content-card .card-btn.primary:hover{background:rgba(124,92,252,.14)}.piggy-input{display:flex;align-items:flex-end;gap:8px;margin:0 18px 18px;padding:6px 6px 6px 16px;border-radius:16px;background:#f5f5f7;border:1.5px solid rgba(0,0,0,.08);transition:border-color .2s,background .2s;flex-shrink:0}.piggy-input:focus-within{border-color:rgba(124,92,252,.4);background:#fff}.piggy-input input[type=file]{display:none}.piggy-input button{border-radius:12px;padding:0;border:none;background:transparent;color:rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.piggy-input .send-btn{width:36px;height:36px;min-width:36px;border-radius:12px;background:#7c5cfc;color:#fff;flex-shrink:0}.piggy-input .send-btn:hover{background:#6b4de8}.piggy-input .send-btn span{display:none}.piggy-input .send-btn svg{width:18px;height:18px}.topic-list{position:absolute;z-index:5;top:82px;left:16px;right:16px;display:grid;grid-gap:8px;gap:8px;max-height:min(320px,calc(100vh - 220px));overflow:auto;padding:10px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 24px 64px rgba(80,70,120,.18)}.topic-list button{display:grid;grid-gap:3px;gap:3px;text-align:left;padding:10px;border-radius:14px;background:transparent}.topic-list button.active,.topic-list button:hover{background:rgba(139,128,234,.12)}.topic-item{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:6px;gap:6px;align-items:center;border-radius:16px;padding:2px;transition:background .18s ease}.topic-item.active,.topic-item:hover{background:rgba(139,128,234,.1)}.topic-load{min-width:0}.topic-load strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topic-delete{min-height:36px;padding:0 10px!important;color:#b14f68;background:rgba(255,247,250,.78)!important;border:1px solid rgba(243,168,199,.3)}.topic-delete:hover{background:rgba(255,232,240,.96)!important}.file-chips span,.topic-list span{color:var(--muted);font-size:12px}.file-chips{display:flex;gap:8px;flex-wrap:wrap}.file-chips span{border:1px solid var(--line);border-radius:999px;padding:5px 9px;background:rgba(255,255,255,.68)}.library-hero,.review-hero,.schedule-hero{border-radius:36px;padding:clamp(24px,4vw,38px);min-height:278px;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.38fr);grid-gap:22px;gap:22px;align-items:center;background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(246,249,255,.68)),linear-gradient(135deg,rgba(255,232,189,.32),rgba(185,204,255,.28))}.library-hero h1,.review-hero h1,.schedule-hero h1{max-width:900px;font-size:clamp(38px,4.8vw,64px)}.upload-drop{min-height:190px;border-radius:30px;display:grid;place-items:center;align-content:center;grid-gap:10px;background:rgba(255,255,255,.56)}.clickable-upload{color:inherit;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease}.clickable-upload:hover{transform:translateY(-4px);border-color:rgba(139,128,234,.38);background:rgba(255,255,255,.72);box-shadow:0 24px 54px rgba(92,74,113,.14)}.upload-drop.compact{min-height:154px}.library-grid,.review-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.6fr);grid-gap:18px;gap:18px}.category-cloud{display:flex;flex-wrap:wrap;gap:10px}.category-cloud span{border:1px solid var(--line);border-radius:999px;padding:9px 14px;background:rgba(255,255,255,.66);color:#655d70}.library-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.library-stats div{min-height:118px;border-radius:24px;padding:16px;display:grid;align-content:space-between;background:rgba(255,255,255,.62);border:1px solid var(--line)}.library-stats span{color:var(--muted)}.library-stats strong{font-size:36px}.folder-card{min-height:150px;border:1px solid var(--line);border-radius:26px;display:grid;align-content:space-between;grid-gap:10px;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(255,255,255,.58)),linear-gradient(135deg,rgba(139,128,234,.07),rgba(142,223,192,.07));transition:transform .22s ease,box-shadow .22s ease}.folder-card:hover{transform:translateY(-4px);box-shadow:0 22px 42px rgba(92,74,113,.14)}.file-row small,.folder-card small{color:var(--muted)}.file-list{grid-gap:12px}.file-list,.file-row{display:grid;gap:12px}.file-row{grid-template-columns:52px minmax(0,1fr);grid-gap:12px;align-items:center;border:1px solid var(--line);border-radius:22px;padding:13px;background:rgba(255,255,255,.66)}.file-actions{grid-column:2;display:inline-flex;justify-content:flex-start;gap:7px;flex-wrap:wrap;margin-top:4px}.file-actions .small-btn{min-height:34px;padding:0 12px;font-size:13px}.file-actions .small-btn:disabled{opacity:.52;cursor:wait}.file-type{width:52px;height:52px;border-radius:18px}.check-list,.essay-box{display:grid;grid-gap:14px;gap:14px}.essay-input{min-height:176px}.homework-form{display:grid;grid-gap:12px;gap:12px}.homework-form .primary-btn{width:-moz-fit-content;width:fit-content}.review-draft{border-radius:22px;color:#3b3547;line-height:1.8}.check-list span,.review-flow{display:grid;grid-gap:10px;gap:10px}.check-list span,.review-flow span{min-height:52px;border:1px solid var(--line);border-radius:18px;padding:0 14px;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.64);color:#655d70}.calendar-board{border-radius:32px;padding:22px}.month-grid,.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:10px;gap:10px}.month-day{min-height:118px;border:1px solid var(--line);border-radius:22px;padding:12px;display:grid;align-content:start;grid-gap:6px;gap:6px;background:rgba(255,255,255,.58)}.month-day.today{border-color:rgba(139,128,234,.38);background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(240,244,255,.72))}.month-day strong{font-size:18px}.month-day small,.month-day span{color:var(--muted);font-size:12px}.muted-course{opacity:.62}.compact-schedule-hero{min-height:190px}.schedule-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.schedule-summary span{min-width:130px;border:1px solid var(--line);border-radius:22px;padding:16px;background:rgba(255,255,255,.68);color:var(--muted)}.schedule-summary b{display:block;color:var(--ink);font-size:34px;line-height:1;margin-bottom:6px}.schedule-compact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-gap:18px;gap:18px;align-items:start}.schedule-compact-grid>.panel{align-self:start}.month-strip,.week-strip{display:grid;grid-gap:8px;gap:8px}.week-stack{display:grid;grid-gap:14px;gap:14px}.week-block{display:grid;grid-gap:8px;gap:8px}.week-label{width:-moz-fit-content;width:fit-content;border-radius:999px;padding:5px 10px;color:#706a88;font-size:12px;font-weight:800;background:rgba(255,255,255,.72);border:1px solid var(--line)}.week-block.soft .week-pill{background:rgba(255,255,255,.48)}.week-strip{grid-template-columns:repeat(7,minmax(0,1fr));align-items:start}.week-pill{min-height:76px;border:1px solid var(--line);border-radius:16px;padding:10px;display:grid;grid-gap:4px;gap:4px;background:rgba(255,255,255,.62)}.month-dot.today,.week-pill.today{border-color:rgba(139,128,234,.42);background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(240,244,255,.78))}.week-pill b,.week-pill span{color:var(--muted);font-size:12px}.month-strip{grid-template-columns:repeat(10,minmax(0,1fr))}.month-dot{aspect-ratio:1;min-width:0;border:1px solid var(--line);border-radius:14px;display:grid;place-items:center;position:relative;background:rgba(255,255,255,.62)}.month-dot strong{font-size:13px}.month-dot span{position:absolute;right:5px;top:4px;min-width:16px;height:16px;border-radius:999px;display:grid;place-items:center;color:#fff;font-size:10px;background:linear-gradient(135deg,var(--violet),var(--blue))}.day-column{min-height:190px;border:1px solid var(--line);border-radius:24px;padding:14px;display:grid;align-content:start;grid-gap:12px;gap:12px;background:rgba(255,255,255,.62)}.day-column>span{color:var(--muted)}.mini-course{margin-top:6px;border-radius:18px;padding:12px;background:linear-gradient(135deg,rgba(139,128,234,.14),rgba(123,183,242,.14))}.mini-course small{display:block;color:var(--muted)}.mini-course b{display:block;margin-top:5px;color:#6f68d8}.schedule-card-tight{min-height:0}.week-pill .course-line{min-height:18px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.soft-pill{opacity:.92}.drag-schedule-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:12px;gap:12px}.drag-day{border:1px solid var(--line);border-radius:24px;padding:13px;display:grid;grid-template-rows:auto auto 1fr;grid-gap:6px;gap:6px;background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(255,255,255,.56)),linear-gradient(135deg,rgba(139,128,234,.06),rgba(142,223,192,.06));transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.drag-day:hover{border-color:rgba(139,128,234,.34);transform:translateY(-2px);box-shadow:var(--soft-shadow)}.drag-day>span{color:var(--muted);font-size:13px}.drag-course-list{display:grid;align-content:start;grid-gap:8px;gap:8px;min-height:118px;border-radius:18px;padding:8px;background:rgba(255,255,255,.42)}.drag-course-list em{color:var(--muted);font-style:normal;font-size:13px;align-self:center;justify-self:center}.drag-course{width:100%;border:1px solid rgba(139,128,234,.18);border-radius:16px;grid-gap:3px;gap:3px;text-align:left;color:var(--ink);background:linear-gradient(135deg,rgba(139,128,234,.16),rgba(123,183,242,.14)),rgba(255,255,255,.7);box-shadow:0 10px 18px rgba(107,110,221,.08)}.drag-course b{font-size:12px}.drag-course span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:760}.drag-course small{color:var(--muted)}@media (max-width:820px){.app,.app.with-right-panel{grid-template-columns:1fr}.right-panel{display:none}.sidebar{min-height:auto}.content-grid,.hero-grid,.library-grid,.library-hero,.review-grid,.review-hero,.schedule-compact-grid,.schedule-hero,.stats-grid,.student-command,.student-form,.student-grid,.student-overview,.week-grid{grid-template-columns:1fr}.drag-schedule-board,.week-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.month-strip{grid-template-columns:repeat(5,minmax(0,1fr))}.topbar{align-items:flex-start;flex-direction:column}.shell{width:min(100% - 24px,1540px);padding:12px 0}.hero-content h1{font-size:clamp(34px,12vw,52px)}.piggy-panel{left:12px!important;top:74px!important;width:calc(100vw - 24px)}.student-command-actions,.student-meta{grid-template-columns:1fr}}.select-shell{position:relative;display:block;min-width:0}.select-shell:after{content:"";position:absolute;right:16px;top:50%;width:8px;height:8px;border-right:1.8px solid #746b80;border-bottom:1.8px solid #746b80;transform:translateY(-65%) rotate(45deg);pointer-events:none}.select,select.input{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:42px;border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(255,255,255,.64)),linear-gradient(135deg,rgba(139,128,234,.05),rgba(123,183,242,.06));box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.hidden-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.file-picker{min-height:72px;border:1px solid var(--line);border-radius:22px;padding:10px;display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:12px;gap:12px;align-items:center;background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(255,255,255,.58)),linear-gradient(135deg,rgba(139,128,234,.06),rgba(142,223,192,.06));box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}.file-picker-button{min-height:48px;border-radius:17px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#fff;background:linear-gradient(135deg,var(--violet),var(--blue));box-shadow:0 12px 22px rgba(107,110,221,.18)}.file-picker-meta{min-width:0;display:grid;grid-gap:3px;gap:3px}.file-picker-meta span,.file-picker-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-picker-meta span{color:var(--muted);font-size:13px}.upload-form-grid{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(220px,1fr);grid-gap:12px;gap:12px;align-items:center}.upload-form-grid .file-picker{grid-column:1/-1}.upload-drop{border:1px dashed rgba(116,104,128,.26);font:inherit;color:inherit}button.upload-drop{width:100%}.daily-brief{display:grid;grid-gap:12px;gap:12px}.brief-card{min-height:90px;border:1px solid var(--line);border-radius:26px;padding:14px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(255,255,255,.58)),linear-gradient(135deg,rgba(139,128,234,.06),rgba(142,223,192,.06));transition:transform .22s ease,box-shadow .22s ease}.brief-card:hover{transform:translateY(-3px);box-shadow:0 18px 34px rgba(92,74,113,.12)}.brief-card div{min-width:0;display:grid;grid-gap:4px;gap:4px}.brief-card span,.brief-card strong{overflow:hidden;text-overflow:ellipsis}.brief-card span{color:var(--muted);line-height:1.45}.brief-card b{width:36px;height:36px;border-radius:14px;display:grid;place-items:center;color:#6f68d8;background:rgba(139,128,234,.12);font-size:18px}.voice-btn.recording{color:#fff!important;background:linear-gradient(135deg,#f3a8c7,#8b80ea)!important;box-shadow:0 0 0 6px rgba(243,168,199,.16)}.file-chips span{display:inline-flex;align-items:center;gap:7px;max-width:100%}.file-chips em{color:#8d8398;font-style:normal;font-size:11px}.avatar-soft,.badge,.file-type,.nav-icon,.quick-card span,.round-icon{place-items:center;align-items:center;justify-content:center}.student-card header .badge{display:inline-grid;place-items:center}.ai-name{line-height:1}.ai-name .ai-mark{min-width:26px;width:26px;height:26px;border-radius:10px}.ai-name .cn{line-height:1;transform:translateY(1px)}.attendance-strip,.learning-grid,.prep-grid{display:grid;grid-gap:12px;gap:12px}.learning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-strip>span,.learning-grid>div,.prep-grid>div{border:1px solid var(--line);border-radius:24px;padding:16px;background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(255,255,255,.55));box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.learning-grid small,.prep-grid span{display:block;color:var(--muted);line-height:1.55}.learning-grid strong{display:block;margin-top:6px;font-size:20px}.attendance-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.attendance-strip b{display:block;margin-bottom:4px;font-size:24px}.compact-draft{margin-top:14px;white-space:pre-wrap}.review-confirm{display:grid;grid-gap:12px}.review-editor{min-height:260px;white-space:pre-wrap}.prep-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.prep-grid strong{display:block;margin-bottom:10px}.prep-grid span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 10px}.template-chips button{border:1px solid var(--line);border-radius:999px;padding:5px 10px;font-size:12px;color:#706a88;background:rgba(255,255,255,.72);transition:transform .18s ease,background .18s ease}.template-chips button:hover{transform:translateY(-1px);background:rgba(255,255,255,.94)}.floating-editor{position:fixed!important;z-index:80;inset:42px 42px auto calc(var(--sidebar-width, 310px) + 42px);max-height:calc(100vh - 84px);overflow:auto;box-shadow:0 34px 90px rgba(66,59,93,.24);animation:modalRise .24s ease both}.floating-editor:before{content:"";position:fixed;inset:0;z-index:-1;background:rgba(248,246,252,.52);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@keyframes modalRise{0%{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:820px){.attendance-strip,.file-picker,.learning-grid,.prep-grid,.upload-form-grid{grid-template-columns:1fr}.floating-editor{inset:18px;max-height:calc(100vh - 36px)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.5)}}.right-panel{position:-webkit-sticky;position:sticky;top:20px;height:calc(100vh - 40px);overflow-y:auto;padding:22px 20px 22px 0;display:flex;flex-direction:column;gap:20px;animation:pageRise .5s ease both;animation-delay:.15s}.rp-card{border-radius:28px;padding:22px;border:1px solid var(--line);background:var(--paper);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:var(--shadow)}.rp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.rp-head h3{margin:0;font-size:16px;font-weight:700}.rp-badge{font-size:11px;font-weight:600;color:var(--violet);background:rgba(139,128,234,.1);padding:3px 10px;border-radius:8px}.rp-reminders{display:flex;flex-direction:column;gap:8px}.reminder-row{display:grid;grid-template-columns:38px minmax(0,1fr) 30px;grid-gap:10px;gap:10px;align-items:center;padding:10px 12px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.55);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.reminder-row:hover{transform:translateX(-2px);background:rgba(255,255,255,.85);box-shadow:0 8px 20px rgba(92,74,113,.08)}.rp-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center}.rp-icon svg{width:18px;height:18px}.rp-icon.ri-teal{background:rgba(58,175,169,.12);color:var(--teal,#3AAFA9)}.rp-icon.ri-amber{background:rgba(232,168,56,.12);color:var(--amber)}.rp-icon.ri-violet{background:rgba(139,128,234,.12);color:var(--violet)}.rp-icon.ri-coral{background:rgba(232,101,90,.1);color:var(--coral)}.rp-info{min-width:0}.rp-info strong{display:block;font-size:13px;font-weight:600}.rp-info span{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.rp-count{min-width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-size:14px;font-weight:700}.rp-count.has{color:#fff}.rp-count.empty{background:rgba(116,104,128,.08);color:var(--muted)}.rp-week-title{font-size:13px;font-weight:600;margin-bottom:10px}.rp-week-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.rp-week-day{text-align:center;padding:6px 0;border-radius:10px;transition:all .2s}.rp-week-day.is-today{background:rgba(139,128,234,.1);box-shadow:inset 0 0 0 1.5px rgba(139,128,234,.2)}.rp-week-label{font-size:10px;color:var(--muted)}.rp-week-day.is-today .rp-week-label{color:var(--violet);font-weight:700}.rp-week-num{font-size:13px;font-weight:600;margin-top:2px;color:var(--muted)}.rp-week-day.is-today .rp-week-num{color:var(--violet)}.rp-week-dot{width:4px;height:4px;border-radius:2px;background:var(--violet);margin:2px auto 0}.rp-week-note{margin-top:10px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.5);border:1px solid var(--line);font-size:12px;color:var(--muted);line-height:1.6}.rp-focus-title{font-size:13px;font-weight:600;margin-bottom:10px}.rp-focus-card{display:grid;grid-template-columns:40px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;padding:12px;border-radius:16px;background:rgba(243,168,199,.1);border:1px solid rgba(243,168,199,.18);transition:all .2s}.rp-focus-card:hover{background:rgba(243,168,199,.18);transform:translateX(-2px)}.rp-focus-avatar{width:40px;height:40px;border-radius:14px;background:linear-gradient(135deg,var(--pink),var(--gold));display:grid;place-items:center;color:#fff;font-weight:700;font-size:15px}.rp-focus-name{font-size:14px;font-weight:600;display:block}.rp-focus-detail{font-size:11px;color:var(--muted)}.rp-focus-btn{font-size:11px;font-weight:600;color:#d47a9e;background:rgba(255,255,255,.7);padding:4px 12px;border-radius:8px;border:1px solid rgba(243,168,199,.2);transition:background .2s}.rp-focus-btn:hover{background:#fff}.dash-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:14px;gap:14px}.dash-stat{border-radius:28px;padding:18px 20px;border:1px solid var(--line);background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);min-height:120px;display:grid;align-content:space-between;transition:transform .22s ease,box-shadow .22s ease;position:relative;overflow:hidden}.dash-stat:hover{transform:translateY(-4px);box-shadow:0 26px 54px rgba(92,74,113,.16)}.dash-stat-stripe{position:absolute;top:0;left:0;right:0;height:3px;border-radius:28px 28px 0 0}.dash-stat-head{display:flex;align-items:center;gap:10px}.dash-stat-icon{width:38px;height:38px;border-radius:14px;display:grid;place-items:center}.dash-stat-icon svg{width:18px;height:18px}.dash-stat-label{font-size:13px;color:var(--muted);font-weight:500}.dash-stat-row{display:flex;align-items:baseline;gap:8px}.dash-stat strong{font-size:34px;font-weight:700}.dash-pulse{display:inline-block;width:8px;height:8px;border-radius:4px;animation:pulse 2s infinite}.dash-stat-sub{font-size:12px;color:var(--muted);opacity:.7}.dash-stat.s-violet .dash-stat-stripe{background:var(--violet)}.dash-stat.s-violet .dash-stat-icon{background:rgba(139,128,234,.12);color:var(--violet)}.dash-stat.s-coral .dash-stat-stripe{background:var(--coral)}.dash-stat.s-coral .dash-stat-icon{background:rgba(232,101,90,.1);color:var(--coral)}.dash-stat.s-coral .dash-pulse{background:var(--coral)}.dash-stat.s-amber .dash-stat-stripe{background:var(--amber)}.dash-stat.s-amber .dash-stat-icon{background:rgba(232,168,56,.12);color:var(--amber)}.dash-stat.s-amber .dash-pulse{background:var(--amber)}.dash-stat.s-teal .dash-stat-stripe{background:var(--teal,#3AAFA9)}.dash-stat.s-teal .dash-stat-icon{background:rgba(58,175,169,.1);color:var(--teal,#3AAFA9)}.dash-qa-label{font-size:13px;font-weight:600;color:var(--muted);margin-bottom:10px;letter-spacing:.5px}.dash-qa-grid{display:flex;flex-wrap:wrap;gap:10px}.dash-qa{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.65);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.dash-qa:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(92,74,113,.1);background:rgba(255,255,255,.9)}.dash-qa-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center}.dash-qa-icon svg{width:18px;height:18px}.dash-qa-icon.qa-coral{background:rgba(243,168,199,.15);color:#d47a9e}.dash-qa-icon.qa-teal{background:rgba(142,223,192,.18);color:#4aaf8f}.dash-qa-icon.qa-amber{background:rgba(217,175,97,.15);color:#b8912e}.dash-qa-icon.qa-blue{background:rgba(123,183,242,.15);color:#5a9ad4}.dash-qa-icon.qa-pink{background:rgba(243,168,199,.15);color:#d47a9e}.dash-qa span{font-size:13px;font-weight:500}.rp-tip{padding:14px;border-radius:18px;background:linear-gradient(135deg,rgba(139,128,234,.06),rgba(142,223,192,.06));border:1px solid var(--line);font-size:12px;color:var(--muted);line-height:1.6;margin-top:auto}.rp-tip strong{display:block;font-size:12px;color:var(--ink);margin-bottom:4px}@media (max-width:1100px){.app.with-right-panel{grid-template-columns:284px minmax(0,1fr)}.right-panel{display:none}}:root[data-theme=soft-ios-dark] .ghost-btn,:root[data-theme=soft-ios-dark] .small-btn{background:rgba(255,255,255,.05);color:var(--muted)}:root[data-theme=soft-ios-dark] .input,:root[data-theme=soft-ios-dark] .search-input,:root[data-theme=soft-ios-dark] .select,:root[data-theme=soft-ios-dark] .textarea,:root[data-theme=soft-ios-dark] select.input{background:rgba(255,255,255,.05);color:var(--ink)}:root[data-theme=soft-ios-dark] .hero-card,:root[data-theme=soft-ios-dark] .teacher-card,:root[data-theme=soft-ios-dark] .today-card,:root[data-theme=soft-ios-dark] .topbar{background-image:linear-gradient(135deg,rgba(255,255,255,.05),rgba(139,128,234,.06)),linear-gradient(135deg,rgba(207,161,74,.1),rgba(139,128,234,.12))}:root[data-theme=soft-ios-dark] .nav a:hover,:root[data-theme=soft-ios-dark] .nav button:hover{background:rgba(255,255,255,.05)}:root[data-theme=soft-ios-dark] .brief-card,:root[data-theme=soft-ios-dark] .check-list span,:root[data-theme=soft-ios-dark] .dash-qa,:root[data-theme=soft-ios-dark] .dash-stat,:root[data-theme=soft-ios-dark] .day-column,:root[data-theme=soft-ios-dark] .drag-day,:root[data-theme=soft-ios-dark] .file-row,:root[data-theme=soft-ios-dark] .focus-item,:root[data-theme=soft-ios-dark] .folder-card,:root[data-theme=soft-ios-dark] .library-stats div,:root[data-theme=soft-ios-dark] .month-day,:root[data-theme=soft-ios-dark] .quick-card,:root[data-theme=soft-ios-dark] .quick-entry,:root[data-theme=soft-ios-dark] .refined-card,:root[data-theme=soft-ios-dark] .reminder-row,:root[data-theme=soft-ios-dark] .review-flow span,:root[data-theme=soft-ios-dark] .rp-card,:root[data-theme=soft-ios-dark] .rp-week-note,:root[data-theme=soft-ios-dark] .schedule-summary span,:root[data-theme=soft-ios-dark] .stat,:root[data-theme=soft-ios-dark] .student-card,:root[data-theme=soft-ios-dark] .student-meta span,:root[data-theme=soft-ios-dark] .student-note,:root[data-theme=soft-ios-dark] .time-item,:root[data-theme=soft-ios-dark] .timeline-item,:root[data-theme=soft-ios-dark] .week-pill{background-color:rgba(255,255,255,.03);background-image:none}:root[data-theme=soft-ios-dark] .attendance-strip>span,:root[data-theme=soft-ios-dark] .learning-grid>div,:root[data-theme=soft-ios-dark] .lib-stat,:root[data-theme=soft-ios-dark] .prep-grid>div,:root[data-theme=soft-ios-dark] .sc-meta div,:root[data-theme=soft-ios-dark] .sc-note{background-color:rgba(255,255,255,.03)}:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(139,128,234,.4);border-radius:8px}.stat-trend{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:999px}.stat-trend.up{color:#2f9b73;background:rgba(94,201,163,.16)}.stat-trend.down{color:#c0475f;background:rgba(232,93,126,.14)}.stat-trend.flat{color:var(--faint);background:rgba(116,104,128,.1)}.sc-head{display:flex;align-items:center;gap:12px}.sc-head .avatar-soft{width:48px;height:48px}.sc-name{font-size:15px;font-weight:720}.sc-sub{color:var(--muted);font-size:12.5px}.sc-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.sc-meta div{border-radius:var(--r-sm);padding:9px 10px;background:rgba(255,255,255,.55);border:1px solid var(--line-soft)}.sc-meta b{display:block;color:var(--faint);font-size:11px;margin-bottom:3px;font-weight:600}.sc-meta span{font-size:13px;font-weight:600;color:var(--ink)}.sc-note{border-radius:var(--r-sm);padding:10px 12px;background:rgba(255,255,255,.5);color:var(--muted);font-size:12.5px;line-height:1.6;border:1px solid var(--line-soft)}.drag-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:10px;gap:10px}.drag-day{min-height:210px;border-radius:var(--r-md);padding:12px;gap:8px}.drag-courses,.drag-day{display:flex;flex-direction:column}.drag-courses{gap:7px;min-height:120px}.drag-courses em{color:var(--faint);font-style:normal;font-size:12px;align-self:center;justify-self:center}.drag-course{border-radius:var(--r-sm);padding:9px 10px;display:grid;grid-gap:2px;gap:2px;cursor:-webkit-grab;cursor:grab}.drag-course:active{cursor:-webkit-grabbing;cursor:grabbing}.drag-course b{color:#6f68d8;font-size:11px}.hw-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.7fr);grid-gap:18px;gap:18px}.hw-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:var(--r-md);background:rgba(255,255,255,.6);margin-bottom:10px;transition:transform .22s ease,box-shadow .22s ease}.hw-item:last-child{margin-bottom:0}.hw-item:hover{transform:translateY(-2px);box-shadow:var(--sh-rest)}.hw-status{font-size:11px;font-weight:700;padding:4px 9px;border-radius:999px}.hw-status.pending{color:#8a6a1f;background:rgba(207,161,74,.18)}.hw-status.reviewing{color:#5b54d8;background:rgba(139,128,234,.16)}.hw-status.done{color:#2f9b73;background:rgba(94,201,163,.16)}.upload-drop{min-height:170px;border:1.5px dashed rgba(116,104,128,.28);border-radius:var(--r-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;background:rgba(255,255,255,.5);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease;cursor:pointer;color:var(--ink)}.upload-drop:hover{transform:translateY(-3px);border-color:rgba(139,128,234,.42);background:rgba(255,255,255,.7);box-shadow:var(--sh-hover)}.review-draft{max-height:420px;overflow:auto;white-space:pre-wrap;border:1px solid var(--line);border-radius:var(--r-md);padding:16px;color:var(--ink);line-height:1.85;background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(255,255,255,.58)),linear-gradient(135deg,rgba(139,128,234,.06),rgba(142,223,192,.08));font-size:13.5px}.lib-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);grid-gap:18px;gap:18px}.folder-card{min-height:140px;border-radius:var(--r-md);padding:16px;display:flex;flex-direction:column;justify-content:space-between;gap:10px}.folder-ic{width:42px;height:42px;place-items:center;color:var(--gold);background:rgba(207,161,74,.14)}.file-type,.folder-ic{border-radius:var(--r-sm);display:grid}.file-type{width:44px;height:44px;place-items:center;font-size:11px;font-weight:800;color:#776ee4;background:rgba(255,255,255,.72)}.file-type.pdf{color:#fff;background:linear-gradient(135deg,#e85d7e,#f08bb4)}.file-type.word{color:#fff;background:linear-gradient(135deg,#5b8df0,#7bb7f2)}.file-type.xls{color:#fff;background:linear-gradient(135deg,#5ec9a3,#7dd8b8)}.file-type.ppt{color:#fff;background:linear-gradient(135deg,#e0883a,#e8a85d)}.file-type.audio{color:#fff;background:linear-gradient(135deg,#8b80ea,#a89cf2)}.lib-stat{border:1px solid var(--line);border-radius:var(--r-md);padding:14px;background:rgba(255,255,255,.55);margin-bottom:10px;display:flex;justify-content:space-between;align-items:center}.lib-stat:last-child{margin-bottom:0}.lib-stat span{color:var(--muted);font-size:13px}.lib-stat b{font-size:26px;font-weight:780;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(940px,100%);border-radius:var(--r-xl);overflow:hidden;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);box-shadow:var(--sh-float);border:1px solid var(--line);background:var(--paper-strong);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px)}.login-visual{position:relative;padding:40px;color:#fff;background:linear-gradient(150deg,#7e77ea,#6fbbe8 50%,#92dfbd);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;min-height:520px}.login-visual:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(255,255,255,.22),transparent 40%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.16),transparent 36%)}.login-visual>*{position:relative;z-index:1}.login-mark{width:54px;height:54px;border-radius:18px;background:rgba(255,255,255,.18);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;place-items:center;font-weight:820;font-size:17px;border:1px solid rgba(255,255,255,.3)}.login-visual h2{margin:0;font-size:30px;line-height:1.2;font-weight:780;max-width:340px}.login-visual p{margin:12px 0 0;opacity:.92;line-height:1.8;font-size:14px;max-width:320px}.login-feats{display:grid;grid-gap:12px;gap:12px;margin-top:24px}.login-feat{display:flex;align-items:center;gap:10px;font-size:13.5px}.login-feat .ck{width:24px;height:24px;border-radius:8px;background:rgba(255,255,255,.22);display:grid;place-items:center}.login-feat .ck svg{width:14px;height:14px;stroke-width:2.4}.login-form-side{padding:40px;display:flex;flex-direction:column;justify-content:center}.login-form-side h1{margin:0;font-size:30px;font-weight:780;line-height:1.15}.login-form-side>p{margin:8px 0 24px;color:var(--muted);line-height:1.7;font-size:14px}.field{display:grid;grid-gap:6px;gap:6px}.field label{color:var(--muted);font-size:12.5px;font-weight:600;padding-left:4px}.input:focus,.select:focus,.textarea:focus,select.input:focus{border-color:rgba(139,128,234,.5);box-shadow:0 0 0 4px rgba(139,128,234,.12)}.theme-toggle{margin-top:8px;width:100%;min-height:40px;border-radius:var(--r-sm);display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:rgba(255,255,255,.6);color:var(--muted);font-size:13px;cursor:pointer;transition:color .2s,box-shadow .2s,background .2s}:root[data-theme=soft-ios-dark] .theme-toggle{background:rgba(255,255,255,.05)}.theme-toggle:hover{color:var(--ink);box-shadow:var(--sh-rest)}.drag-day.today{border-color:rgba(139,128,234,.42);background:linear-gradient(160deg,rgba(255,255,255,.94),rgba(240,244,255,.74))}:root[data-theme=soft-ios-dark] .drag-day.today{background:linear-gradient(160deg,rgba(139,128,234,.12),rgba(123,183,242,.08))}.drag-day-head{display:flex;align-items:baseline;justify-content:space-between}.drag-day-head b{font-size:13px}.drag-day-head span{color:var(--faint);font-size:11px}:root[data-theme=soft-ios-dark] .hw-item{background:rgba(255,255,255,.03)}:root[data-theme=soft-ios-dark] .upload-drop{background:rgba(255,255,255,.02);border-color:rgba(255,255,255,.12)}:root[data-theme=soft-ios-dark] .upload-drop:hover{background:rgba(255,255,255,.05);border-color:rgba(139,128,234,.42)}:root[data-theme=soft-ios-dark] .review-draft{background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.02))}:root[data-theme=soft-ios-dark] .review-editor{background:rgba(255,255,255,.04);color:var(--ink)}.review-confirm{display:flex;flex-direction:column;gap:12px}.review-confirm .review-editor{min-height:260px;max-height:380px;overflow:auto;white-space:pre-wrap;border:1px solid var(--line);border-radius:var(--r-md);padding:16px;color:var(--ink);line-height:1.85;background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(255,255,255,.58));font-size:13.5px;resize:vertical;font-family:inherit}.upload-drop svg{width:34px;height:34px;color:var(--violet)}.upload-drop small{color:var(--muted);font-size:12.5px}.folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:12px;gap:12px}@media (max-width:1080px){.login-card{grid-template-columns:1fr;max-width:460px}.login-visual{min-height:auto;padding:32px}.hw-grid,.lib-grid{grid-template-columns:1fr}}@media (max-width:820px){.drag-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.page-files .sidebar,.page-homework .sidebar,.page-schedule .sidebar,.page-students .sidebar{display:none!important}.page-files,.page-homework,.page-schedule,.page-students{grid-template-columns:minmax(0,1fr)!important}.file-proto-row .file-actions{grid-column:auto;display:flex;justify-content:flex-end;align-items:center;gap:6px;flex-wrap:wrap;margin-top:0}.file-proto-row .file-type{width:48px;height:48px;border-radius:14px;color:#fff;font-size:12px;font-weight:800;background:linear-gradient(135deg,var(--violet),var(--blue))}.file-proto-row .file-type.pdf{background:linear-gradient(135deg,#e85d7e,#f08bb4)}.file-proto-row .file-type.doc{background:linear-gradient(135deg,#5d96e8,#7bb7f2)}.file-proto-row .file-type.xls{background:linear-gradient(135deg,#46ad83,#7dd8b8)}.file-proto-row .file-type.ppt{background:linear-gradient(135deg,#e48b3f,#e0bb6e)}.file-proto-row .file-type.mp3{background:linear-gradient(135deg,#8b80ea,#b29df6)}.file-proto-row .file-type.img{background:linear-gradient(135deg,#5ec9a3,#7bb7f2)}.homework-proto-row .avatar-soft,.student-proto-card .avatar-soft{display:grid;place-items:center;line-height:1}.era-modal .input,.era-modal .select,.era-modal .textarea{background:rgba(255,255,255,.76)}.page-dashboard .sidebar,.page-files .sidebar,.page-homework .sidebar,.page-piggy .sidebar,.page-schedule .sidebar,.page-students .sidebar{display:none!important}.page-dashboard.with-right-panel{grid-template-columns:minmax(0,1fr) 318px!important;width:min(1540px,calc(100% - 56px))}.page-files,.page-homework,.page-piggy,.page-schedule,.page-students{grid-template-columns:minmax(0,1fr)!important}.page-dashboard .main,.page-piggy .main{min-width:0}.page-dashboard .topbar,.page-piggy .topbar{min-height:104px;border-radius:34px}.prototype-dock{left:50%;right:auto;bottom:20px;width:auto;max-width:min(860px,calc(100vw - 28px));padding:0;border:0;border-radius:999px;background:transparent;box-shadow:none;overflow:visible}.dock-track{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:linear-gradient(180deg,rgba(72,66,92,.86),rgba(38,35,51,.9)),rgba(43,38,58,.9);box-shadow:0 18px 40px rgba(48,42,70,.22),0 4px 14px rgba(48,42,70,.18),inset 0 1px 0 rgba(255,255,255,.15);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.prototype-dock a,.prototype-dock button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 13px;border:1px solid rgba(255,255,255,.09);border-radius:999px;color:rgba(255,255,255,.72);background:rgba(255,255,255,.045);white-space:nowrap;transition:transform .22s ease,background .22s ease,color .22s ease,box-shadow .22s ease}.prototype-dock a:hover,.prototype-dock button:hover{color:#fff;background:rgba(255,255,255,.11);transform:translateY(-2px)}.prototype-dock a.active{color:#2e2a38;background:linear-gradient(135deg,#ffffff,#eef1ff);box-shadow:0 10px 22px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.8);transform:translateY(-2px)}.dock-icon{width:24px;height:24px;display:grid;place-items:center;border-radius:9px;color:currentColor;background:rgba(255,255,255,.08)}.dock-icon svg{width:15px;height:15px}.prototype-dock a.active .dock-icon{color:#fff;background:linear-gradient(135deg,var(--violet),var(--blue))}.dock-text{font-size:13px;font-weight:700;letter-spacing:0}.dock-admin,.dock-admin .dock-icon,.dock-theme{width:42px}.dock-theme{font-size:13px;font-weight:800}@media (max-width:980px){.page-dashboard.with-right-panel{grid-template-columns:minmax(0,1fr)!important}.page-dashboard .right-panel{display:none}.dock-track{justify-content:flex-start;max-width:calc(100vw - 24px);overflow-x:auto}.prototype-dock a,.prototype-dock button{flex:0 0 auto}}.settings-group{margin-bottom:16px}.settings-group:last-child{margin-bottom:0}.settings-group-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--violet);margin-bottom:10px;letter-spacing:.3px}.settings-group-title .bar{width:3px;height:16px;border-radius:2px;background:linear-gradient(180deg,var(--violet),var(--blue));flex:0 0 auto}.settings-group-title .bar.coral{background:linear-gradient(180deg,var(--coral),var(--amber))}.settings-group-title .bar.teal{background:linear-gradient(180deg,var(--mint),var(--teal,#3AAFA9))}.settings-group .input,.settings-group .select,.settings-group .textarea{margin-bottom:8px}.settings-group .input:last-child,.settings-group .select:last-child,.settings-group .textarea:last-child{margin-bottom:0}.settings-status-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.55);margin-bottom:8px;font-size:13px;transition:transform .2s,box-shadow .2s}.settings-status-row:last-child{margin-bottom:0}.settings-status-row:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(92,74,113,.06)}.status-dot{width:8px;height:8px;border-radius:4px;flex:0 0 auto}.status-dot.online{background:var(--mint);box-shadow:0 0 8px rgba(94,201,163,.4);animation:pulse 2.5s infinite}.status-dot.offline{background:var(--faint)}.settings-status-label{font-size:10px;font-weight:700;padding:2px 8px;border-radius:5px;flex:0 0 auto}.settings-status-label.s-gateway{color:var(--violet);background:rgba(139,128,234,.1)}.settings-status-label.s-capability{color:var(--amber);background:rgba(232,168,56,.1)}.settings-status-label.s-security{color:var(--coral);background:rgba(232,101,90,.1)}.settings-status-label.s-maintenance{color:var(--mint);background:rgba(94,201,163,.1)}.log-module-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:5px;flex:0 0 auto;white-space:nowrap}.log-module-badge.m-student{color:var(--coral);background:rgba(232,101,90,.1)}.log-module-badge.m-homework{color:var(--amber);background:rgba(232,168,56,.1)}.log-module-badge.m-schedule{color:var(--mint);background:rgba(94,201,163,.1)}.log-module-badge.m-file{color:var(--blue);background:rgba(123,183,242,.1)}.log-module-badge.m-system{color:var(--violet);background:rgba(139,128,234,.1)}.log-module-badge.m-auth{color:var(--pink);background:rgba(240,139,180,.1)}.recycle-type-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:5px;color:#fff;flex:0 0 auto;white-space:nowrap}.recycle-type-badge.t-student{background:linear-gradient(135deg,var(--coral),var(--pink))}.recycle-type-badge.t-schedule{background:linear-gradient(135deg,var(--mint),var(--teal,#3AAFA9))}.recycle-type-badge.t-homework{background:linear-gradient(135deg,var(--amber),var(--gold))}.recycle-type-badge.t-folder{background:linear-gradient(135deg,var(--violet),var(--blue))}.recycle-type-badge.t-file{background:linear-gradient(135deg,var(--blue),var(--mint))}@keyframes noticeSlideIn{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}.settings-notice{animation:noticeSlideIn .35s ease;padding:10px 16px;border-radius:12px;background:rgba(94,201,163,.1);border:1px solid rgba(94,201,163,.2);color:#2f9b73;font-size:13px;font-weight:600;margin-bottom:14px}.settings-hero-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--violet),var(--blue));box-shadow:0 8px 20px rgba(139,128,234,.25);flex:0 0 auto}.settings-hero-icon svg{width:22px;height:22px}.dash-trend{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px;margin-left:6px;vertical-align:middle}.dash-trend.up{color:#2f9b73;background:rgba(94,201,163,.14)}.dash-trend.down{color:#c0475f;background:rgba(232,93,126,.12)}.dash-trend.flat{color:var(--faint);background:rgba(116,104,128,.08)}.dash-qa:hover .dash-qa-icon{transform:scale(1.08)}.dash-qa-icon{transition:transform .22s ease,box-shadow .22s ease}.dash-schedule-time{font-size:11px;font-weight:700;padding:3px 10px;border-radius:8px;color:var(--violet);background:rgba(139,128,234,.1);white-space:nowrap}.rp-card{background:rgba(255,255,255,.6);box-shadow:0 10px 28px rgba(92,74,113,.07),0 2px 8px rgba(92,74,113,.04)}.rp-week-day.is-today{background:linear-gradient(135deg,rgba(139,128,234,.14),rgba(123,183,242,.1));box-shadow:inset 0 0 0 1.5px rgba(139,128,234,.25)}.rp-week-day.is-today .rp-week-num{color:#fff;background:linear-gradient(135deg,var(--violet),var(--blue));width:24px;height:24px;border-radius:8px;display:inline-grid;place-items:center;margin:2px auto 0;font-size:12px}.shell .sidebar{display:none!important}.shell.app{grid-template-columns:minmax(0,1fr)!important}.shell.app.with-right-panel{grid-template-columns:minmax(0,1fr) 318px!important}.shell .main{margin-left:0!important;width:100%!important;min-width:0!important;padding:24px 28px 120px!important}.topbar-brand{display:flex;align-items:center;gap:12px}.topbar-brand .brand-mark{width:38px!important;height:38px!important;border-radius:12px!important;flex-shrink:0;box-shadow:0 6px 16px rgba(118,112,226,.2)!important}.topbar-brand .logo-letter{font-size:13px!important}.topbar-brand .logo-spark{width:4px!important;height:4px!important}.topbar-brand .brand-title{font-size:14px!important;font-weight:760!important;color:var(--gold)!important;line-height:1.2}.topbar-brand .brand-subtitle{font-size:13px!important;font-weight:680!important;color:var(--muted)!important;line-height:1.2}.prototype-dock{left:50%!important;right:auto!important;bottom:18px!important;width:auto!important;max-width:min(860px,calc(100vw - 28px))!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;transform:translateX(-50%) translateY(130%)!important;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .3s ease!important;opacity:0!important;pointer-events:none!important}.dock-hover-zone{position:fixed;bottom:0;left:0;right:0;height:36px;z-index:999}.dock-hover-zone:hover+.prototype-dock,.prototype-dock:hover{transform:translateX(-50%) translateY(0)!important;opacity:1!important;pointer-events:auto!important}.dock-track{align-items:flex-end!important;padding:10px 14px!important;border-radius:26px!important;background:rgba(255,255,255,.68)!important;border:1px solid rgba(255,255,255,.7)!important;box-shadow:0 14px 40px rgba(92,74,113,.1),0 4px 12px rgba(92,74,113,.05),inset 0 1px 0 rgba(255,255,255,.85)!important;backdrop-filter:blur(28px)!important;-webkit-backdrop-filter:blur(28px)!important}.dock-track,.prototype-dock a,.prototype-dock button{display:flex!important;justify-content:center!important;gap:4px!important}.prototype-dock a,.prototype-dock button{flex-direction:column!important;align-items:center!important;min-height:auto!important;padding:8px 12px!important;border:1px solid transparent!important;border-radius:18px!important;color:var(--muted)!important;background:transparent!important;white-space:nowrap!important;transition:all .28s cubic-bezier(.34,1.56,.64,1)!important;position:relative!important;box-shadow:none!important}.prototype-dock a:hover,.prototype-dock button:hover{transform:translateY(-10px) scale(1.18)!important}.prototype-dock a.active,.prototype-dock a:hover,.prototype-dock button:hover{color:var(--ink)!important;background:transparent!important;box-shadow:none!important}.prototype-dock a.active{transform:none!important}.dock-icon{width:40px!important;height:40px!important;border-radius:14px!important;display:grid!important;place-items:center!important;color:#fff!important;background:rgba(255,255,255,.08)!important;transition:all .28s cubic-bezier(.34,1.56,.64,1)!important}.dock-icon svg{width:18px!important;height:18px!important}.dock-emoji{width:40px!important;height:40px!important;border-radius:14px!important;display:grid!important;place-items:center!important;font-size:20px!important;line-height:1!important;transition:all .28s cubic-bezier(.34,1.56,.64,1)!important}.dock-emoji.c-violet{background:linear-gradient(135deg,#a49af5,#c4b8ff)!important}.dock-emoji.c-coral{background:linear-gradient(135deg,#f08080,#f5a6a6)!important}.dock-emoji.c-teal{background:linear-gradient(135deg,#6dd4b4,#8ee4cc)!important}.dock-emoji.c-amber{background:linear-gradient(135deg,#f0b84d,#f5cc7a)!important}.dock-emoji.c-blue{background:linear-gradient(135deg,#8ec5f5,#a8d4fa)!important}.dock-emoji.c-pink{background:linear-gradient(135deg,#f5a0c4,#f8bdd8)!important}.dock-emoji.c-green{background:linear-gradient(135deg,#6bcf8e,#8eddaa)!important}.dock-emoji.c-gray{background:rgba(139,128,234,.08)!important;font-size:16px!important}.prototype-dock a:hover .dock-emoji,.prototype-dock button:hover .dock-emoji{box-shadow:0 10px 24px rgba(92,74,113,.16)!important;transform:scale(1.05)}.prototype-dock a.active .dock-emoji{box-shadow:0 6px 18px rgba(139,128,234,.28)!important}.dock-icon.c-violet{background:linear-gradient(135deg,#8b80ea,#a89cf2)!important}.dock-icon.c-coral{background:linear-gradient(135deg,#E8655A,#f08bb4)!important}.dock-icon.c-teal{background:linear-gradient(135deg,#5ec9a3,#3AAFA9)!important}.dock-icon.c-amber{background:linear-gradient(135deg,#E8A838,#cfa14a)!important}.dock-icon.c-blue{background:linear-gradient(135deg,#7bb7f2,#5a9ad4)!important}.dock-icon.c-pink{background:linear-gradient(135deg,#f08bb4,#d47a9e)!important}.dock-icon.c-green{background:linear-gradient(135deg,#4db872,#6bcf8e)!important}.dock-icon.c-gray{background:linear-gradient(135deg,#8b95b8,#a5aecb)!important}.prototype-dock a:hover .dock-icon,.prototype-dock button:hover .dock-icon{box-shadow:0 10px 24px rgba(92,74,113,.16)!important;transform:scale(1.05)}.prototype-dock a.active .dock-icon{box-shadow:0 6px 18px rgba(139,128,234,.28)!important}.dock-text{font-size:10px!important;font-weight:650!important;opacity:0!important;transform:translateY(2px)!important;transition:opacity .2s,transform .2s!important}.prototype-dock a.active .dock-text,.prototype-dock a:hover .dock-text{opacity:1!important;transform:translateY(0)!important}.prototype-dock a.active:after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:2px;background:linear-gradient(135deg,var(--violet),var(--blue))}.dock-sep{width:1px;height:38px;background:var(--line);margin:0 4px;flex:0 0 auto;align-self:center}.dock-admin{width:34px!important;padding:0!important;min-height:34px!important;border-radius:12px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex-direction:row!important;align-self:center;margin-bottom:4px}.dock-admin .dock-mini-char{font-size:18px!important;line-height:1!important;color:var(--muted)!important}.dock-admin:hover .dock-mini-char{color:var(--ink)!important}.dock-theme{width:34px!important;min-height:34px!important;border-radius:12px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex-direction:row!important;align-self:center;margin-bottom:4px;font-size:16px!important;font-weight:400!important;color:var(--faint)!important;background:transparent!important;border:none!important;padding:0!important}.dock-mini-char{font-size:18px;line-height:1;color:#8b8098!important;display:inline-flex;align-items:center;justify-content:center}.dock-mini-char svg{width:15px;height:15px;stroke-width:1.5;display:block}.dock-theme-visual{display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1;color:#8b8098!important}.dock-theme-visual svg{display:block;width:15px;height:15px}.dock-theme:hover .dock-theme-visual{color:var(--ink)!important}:root[data-theme=soft-ios-dark] .dock-theme-visual{color:rgba(255,255,255,.55)!important}:root[data-theme=soft-ios-dark] .dock-theme:hover .dock-theme-visual{color:#fff!important}.dock-theme:hover{color:var(--ink)!important;background:rgba(139,128,234,.08)!important;transform:translateY(-2px)!important}:root[data-theme=soft-ios-dark] .settings-group-title{color:var(--violet)}:root[data-theme=soft-ios-dark] .settings-status-row{background:rgba(255,255,255,.04)}:root[data-theme=soft-ios-dark] .settings-notice{background:rgba(94,201,163,.08);border-color:rgba(94,201,163,.15)}:root[data-theme=soft-ios-dark] .dock-track{background:rgba(38,34,52,.72)!important;border-color:rgba(255,255,255,.1)!important;box-shadow:0 14px 40px rgba(0,0,0,.2),0 4px 12px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.06)!important}:root[data-theme=soft-ios-dark] .prototype-dock a,:root[data-theme=soft-ios-dark] .prototype-dock button{color:rgba(255,255,255,.6)!important}:root[data-theme=soft-ios-dark] .prototype-dock a.active,:root[data-theme=soft-ios-dark] .prototype-dock a:hover,:root[data-theme=soft-ios-dark] .prototype-dock button:hover{color:#fff!important}:root[data-theme=soft-ios-dark] .dock-admin .dock-mini-char,:root[data-theme=soft-ios-dark] .dock-mini-char{color:rgba(255,255,255,.55)!important}:root[data-theme=soft-ios-dark] .rp-card{background:rgba(38,34,52,.55)}@media (max-width:980px){.dock-track{justify-content:flex-start!important;max-width:calc(100vw - 24px)!important;overflow-x:auto!important}.prototype-dock a,.prototype-dock button{flex:0 0 auto!important}}.markdown-body{font-size:14px;line-height:1.65;word-wrap:break-word;overflow-wrap:break-word}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin:14px 0 6px;font-weight:720;line-height:1.25}.markdown-body h1{font-size:20px}.markdown-body h2{font-size:17px}.markdown-body h3{font-size:15px}.markdown-body h4,.markdown-body h5,.markdown-body h6{font-size:14px}.markdown-body p{margin:0 0 8px}.markdown-body strong{font-weight:700;color:var(--ink)}.markdown-body em{font-style:italic}.markdown-body ol,.markdown-body ul{margin:4px 0 10px;padding-left:20px}.markdown-body li{margin:2px 0;list-style:disc}.markdown-body ol li{list-style:decimal}.markdown-body code{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:12.5px;padding:2px 5px;border-radius:5px;background:rgba(120,113,208,.08);color:#6b5fb5}.markdown-body pre{margin:8px 0 12px;padding:12px 14px;border-radius:12px;background:rgba(40,36,56,.06);overflow-x:auto}.markdown-body pre code{padding:0;background:none;font-size:12px;line-height:1.5;color:var(--ink)}.markdown-body blockquote{margin:8px 0;padding:6px 14px;border-left:3px solid var(--violet);color:var(--muted);background:rgba(120,113,208,.04);border-radius:0 8px 8px 0}.markdown-body hr{border:none;border-top:1px solid var(--line);margin:12px 0}.markdown-body a{color:var(--violet);text-decoration:underline}.markdown-body table{width:100%;border-collapse:collapse;margin:8px 0;font-size:13px}.markdown-body td,.markdown-body th{border:1px solid var(--line);padding:6px 10px;text-align:left}.markdown-body th{background:rgba(120,113,208,.06);font-weight:660}.message-images{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.message-img{width:80px;height:80px;object-fit:cover;border-radius:12px;border:1px solid var(--line);cursor:pointer;transition:transform .2s ease}.message-img:hover{transform:scale(1.6);z-index:10;position:relative;box-shadow:0 8px 24px rgba(0,0,0,.15)}.message-files{display:flex;flex-direction:column;gap:6px;margin-top:8px}.message-file-link{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;background:rgba(139,92,246,.08);border:1px solid rgba(139,92,246,.15);color:var(--text);font-size:13px;text-decoration:none;transition:background .15s ease,border-color .15s ease;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.message-file-link:hover{background:rgba(139,92,246,.15);border-color:rgba(139,92,246,.3)}.auto-modified-file-btn{display:flex;align-items:center;gap:10px;padding:14px 20px;border-radius:12px;background:linear-gradient(135deg,rgba(99,102,241,.18),rgba(139,92,246,.18));border:1.5px solid rgba(139,92,246,.35);color:var(--text);text-decoration:none;transition:all .2s ease;cursor:pointer;margin-top:4px}.auto-modified-file-btn:hover{background:linear-gradient(135deg,rgba(99,102,241,.3),rgba(139,92,246,.3));border-color:rgba(139,92,246,.55);transform:translateY(-1px)}.auto-modified-file-btn .auto-file-icon{font-size:22px;line-height:1;flex-shrink:0}.auto-modified-file-btn .auto-file-text{font-size:14px;font-weight:600;color:#a78bfa;flex-shrink:0}.auto-modified-file-btn .auto-file-name{font-size:12px;color:var(--text-secondary,#888);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.markdown-body.streaming:after,.streaming-cursor{display:inline-block;width:7px;height:16px;background:var(--violet);border-radius:2px;margin-left:2px;vertical-align:text-bottom;animation:cursor-blink .8s steps(2) infinite}.markdown-body.streaming:after{content:""}@keyframes cursor-blink{0%{opacity:1}50%{opacity:0}}.file-chip-img{display:inline-flex;align-items:center;gap:6px;padding:3px 8px 3px 3px;border-radius:10px;background:rgba(255,255,255,.78);border:1px solid var(--line);font-size:11px}.file-chip-img img{width:28px;height:28px;border-radius:7px;object-fit:cover}.file-chip-img em{font-style:normal;color:var(--muted);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root[data-theme=soft-ios-dark] .markdown-body code{background:rgba(139,128,234,.12);color:#b8aff0}:root[data-theme=soft-ios-dark] .markdown-body pre{background:rgba(255,255,255,.04)}:root[data-theme=soft-ios-dark] .markdown-body pre code{color:var(--ink)}:root[data-theme=soft-ios-dark] .markdown-body blockquote{background:rgba(139,128,234,.06)}:root[data-theme=soft-ios-dark] .file-chip-img{background:rgba(255,255,255,.06)}.piggy-input textarea{flex:1 1;min-width:0;border:none;border-radius:0;padding:8px 0;background:transparent;outline:none;resize:none;font-family:inherit;font-size:14px;line-height:1.5;max-height:100px;overflow-y:auto;color:#1a1a1a;transition:none}.piggy-input textarea:focus{border-color:transparent}.piggy-input textarea::placeholder{color:rgba(0,0,0,.28)}.piggy-input .input-tools{display:flex;gap:2px;align-items:center;padding-bottom:3px}.piggy-input .input-tools button{width:34px;height:34px;padding:0!important;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:transparent!important;color:rgba(0,0,0,.3)!important;border:none!important;transition:all .15s}.piggy-input .input-tools button:hover{background:rgba(0,0,0,.05)!important;color:rgba(0,0,0,.55)!important}.piggy-input .send-btn,.piggy-input .stop-btn{color:#fff}.piggy-input .input-tools button{background:none;color:inherit}.chip-close{display:inline-grid;place-items:center;width:18px;height:18px;padding:0;border:none;border-radius:50%;background:rgba(0,0,0,.12);color:#666;font-size:13px;line-height:1;cursor:pointer;flex-shrink:0;margin-left:2px;transition:background .15s ease,color .15s ease}.chip-close:hover{background:rgba(220,50,80,.18);color:#c53050}.retry-btn{color:#c53050!important;background:rgba(255,240,245,.82)!important;border:1px solid rgba(220,50,80,.2);font-weight:500}.retry-btn:hover{background:rgba(255,228,236,.96)!important}.piggy-message.assistant .markdown-body:empty+.message-actions .retry-btn{margin-top:4px}.topic-search{padding:0 2px 6px;border-bottom:1px solid var(--line);margin-bottom:4px}.topic-search input{width:100%;border:1px solid var(--line);border-radius:12px;padding:8px 12px;background:rgba(255,255,255,.72);font-size:13px;outline:none;transition:border-color .18s ease}.topic-search input:focus{border-color:var(--violet)}.topic-search input::placeholder{color:var(--muted)}.piggy-message.assistant:has(.retry-btn) .markdown-body{color:#a04060;background:rgba(255,240,245,.5);border-radius:12px;padding:10px 12px}:root[data-theme=soft-ios-dark] .piggy-panel{background:#18181b;border-color:rgba(255,255,255,.06);box-shadow:0 24px 80px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.04)}:root[data-theme=soft-ios-dark] .piggy-panel header{border-bottom-color:rgba(255,255,255,.06)}:root[data-theme=soft-ios-dark] .piggy-panel header strong{color:#f0f0f2}:root[data-theme=soft-ios-dark] .piggy-panel header p.muted{color:rgba(255,255,255,.35)}:root[data-theme=soft-ios-dark] .piggy-panel header .small-btn{background:rgba(255,255,255,.06);color:rgba(255,255,255,.4)}:root[data-theme=soft-ios-dark] .piggy-panel header .small-btn:hover{background:rgba(255,255,255,.1);color:rgba(255,255,255,.7)}:root[data-theme=soft-ios-dark] .piggy-message.user{background:#7c5cfc}:root[data-theme=soft-ios-dark] .piggy-message.assistant{color:rgba(255,255,255,.82)}:root[data-theme=soft-ios-dark] .piggy-content-card{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.06)}:root[data-theme=soft-ios-dark] .piggy-content-card .card-head{background:rgba(255,255,255,.02);border-bottom-color:rgba(255,255,255,.06)}:root[data-theme=soft-ios-dark] .piggy-content-card .card-head-text strong{color:#f0f0f2}:root[data-theme=soft-ios-dark] .piggy-content-card .card-head-text span{color:rgba(255,255,255,.3)}:root[data-theme=soft-ios-dark] .piggy-content-card .card-icon{background:rgba(124,92,252,.15)}:root[data-theme=soft-ios-dark] .piggy-content-card .q{color:rgba(255,255,255,.78)}:root[data-theme=soft-ios-dark] .piggy-content-card .opt{color:rgba(255,255,255,.45)}:root[data-theme=soft-ios-dark] .piggy-content-card .opt.correct{color:rgba(124,252,180,.7)}:root[data-theme=soft-ios-dark] .piggy-content-card .card-footer{border-top-color:rgba(255,255,255,.06)}:root[data-theme=soft-ios-dark] .piggy-content-card .card-btn{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08);color:rgba(255,255,255,.5)}:root[data-theme=soft-ios-dark] .piggy-content-card .card-btn:hover{background:rgba(255,255,255,.08);color:rgba(255,255,255,.75)}:root[data-theme=soft-ios-dark] .piggy-content-card .card-btn.primary{background:rgba(124,92,252,.18);border-color:rgba(124,92,252,.25);color:rgba(180,160,255,.9)}:root[data-theme=soft-ios-dark] .piggy-input{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.08)}:root[data-theme=soft-ios-dark] .piggy-input:focus-within{border-color:rgba(124,92,252,.4);background:rgba(255,255,255,.08)}:root[data-theme=soft-ios-dark] .piggy-input textarea{background:transparent;color:rgba(255,255,255,.85)}:root[data-theme=soft-ios-dark] .piggy-input textarea::placeholder{color:rgba(255,255,255,.25)}:root[data-theme=soft-ios-dark] .piggy-input .input-tools button{color:rgba(255,255,255,.3)!important}:root[data-theme=soft-ios-dark] .piggy-input .input-tools button:hover{background:rgba(255,255,255,.06)!important;color:rgba(255,255,255,.55)!important}:root[data-theme=soft-ios-dark] .piggy-input .send-btn{background:#7c5cfc}:root[data-theme=soft-ios-dark] .piggy-input .stop-btn{background:rgba(232,101,90,.72);box-shadow:none}:root[data-theme=soft-ios-dark] .piggy-messages::-webkit-scrollbar-thumb{background:rgba(255,255,255,.08)}:root[data-theme=soft-ios-dark] .file-chips span{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1)}:root[data-theme=soft-ios-dark] .topic-list{background:#1e1e22;border-color:rgba(255,255,255,.08)}:root[data-theme=soft-ios-dark] .topic-list button.active,:root[data-theme=soft-ios-dark] .topic-list button:hover{background:rgba(139,128,234,.16)}:root[data-theme=soft-ios-dark] .topic-search input{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);color:var(--ink)}:root[data-theme=soft-ios-dark] .chip-close{background:rgba(255,255,255,.15);color:#ccc}:root[data-theme=soft-ios-dark] .retry-btn{color:#f0a0b0!important;background:rgba(220,50,80,.12)!important;border-color:rgba(220,50,80,.2)}:root[data-theme=soft-ios-dark] .template-chips button{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);color:var(--ink)}:root[data-theme=soft-ios-dark] .message-actions button{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08);color:rgba(255,255,255,.5)}:root[data-theme=soft-ios-dark] .message-actions button:hover{background:rgba(255,255,255,.08);color:rgba(255,255,255,.75)}.piggy-input .stop-btn{width:36px;height:36px;min-width:36px;display:flex;align-items:center;justify-content:center;border-radius:12px;padding:0;color:#fff;background:rgba(232,101,90,.85);border:none;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;box-shadow:none;flex-shrink:0}.piggy-input .stop-btn:hover{background:rgba(232,101,90,1);opacity:1;transform:none}.piggy-input .stop-btn:active{transform:scale(.97)}.piggy-input .stop-btn svg{width:18px;height:18px}.message-actions .regen-btn{min-height:30px;border-radius:999px;padding:0 12px;color:var(--violet);background:rgba(139,128,234,.08);border:1px solid rgba(139,128,234,.22);font-size:12px;cursor:pointer;transition:background .18s ease,transform .18s ease}.message-actions .regen-btn:hover{background:rgba(139,128,234,.15);transform:translateY(-1px)}.message-actions .regen-btn:active{transform:scale(.97)}.template-chips .custom-tpl-chip{border:1px solid rgba(207,161,74,.22);border-radius:999px;padding:5px 10px;font-size:12px;color:#7a6e50;background:rgba(207,161,74,.08);transition:transform .18s ease,background .18s ease;cursor:pointer}.template-chips .custom-tpl-chip:hover{transform:translateY(-1px);background:rgba(207,161,74,.15)}.template-chips .tpl-add-btn{border:1px dashed var(--line);border-radius:999px;padding:5px 12px;color:var(--muted);background:transparent;font-size:12px;cursor:pointer;transition:border-color .18s ease,color .18s ease,background .18s ease}.template-chips .tpl-add-btn:hover{border-color:var(--violet);color:var(--violet);background:rgba(139,128,234,.05)}.tpl-manage{margin:0 16px 10px;padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.82);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--soft-shadow);max-height:260px;overflow-y:auto;animation:tplSlideIn .22s ease both}@keyframes tplSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.tpl-manage-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;margin-bottom:6px;border-bottom:1px solid var(--line-soft)}.tpl-manage-header span{font-size:13px;font-weight:600;color:var(--ink)}.tpl-manage-header .tpl-add-new{border-radius:999px;padding:4px 12px;font-size:12px;color:#fff;background:linear-gradient(135deg,var(--violet),var(--blue));border:none;cursor:pointer;transition:opacity .18s ease,transform .18s ease}.tpl-manage-header .tpl-add-new:hover{opacity:.88;transform:translateY(-1px)}.tpl-manage-header .tpl-add-new:active{transform:scale(.97)}.tpl-manage-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line-soft)}.tpl-manage-item:last-child{border-bottom:none}.tpl-manage-item .tpl-item-name{font-size:13px;font-weight:500;color:var(--ink);white-space:nowrap;min-width:0;flex-shrink:0}.tpl-manage-item .tpl-item-preview{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1;min-width:0}.tpl-manage-item .tpl-item-delete{flex-shrink:0;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(232,101,90,.18);background:rgba(232,101,90,.06);color:var(--coral);font-size:14px;cursor:pointer;transition:background .18s ease,transform .18s ease}.tpl-manage-item .tpl-item-delete:hover{background:rgba(232,101,90,.14);transform:scale(1.06)}:root[data-theme=soft-ios-dark] .piggy-input .stop-btn{background:linear-gradient(135deg,rgba(232,101,90,.72),rgba(232,93,126,.58));box-shadow:0 4px 14px rgba(232,101,90,.18)}:root[data-theme=soft-ios-dark] .message-actions .regen-btn{color:#b8b0f0;background:rgba(139,128,234,.12);border-color:rgba(139,128,234,.2)}:root[data-theme=soft-ios-dark] .template-chips .custom-tpl-chip{color:#d4c490;background:rgba(207,161,74,.1);border-color:rgba(207,161,74,.18)}:root[data-theme=soft-ios-dark] .template-chips .tpl-add-btn{color:var(--faint);border-color:rgba(255,255,255,.12)}:root[data-theme=soft-ios-dark] .template-chips .tpl-add-btn:hover{border-color:rgba(139,128,234,.4);color:#b8b0f0;background:rgba(139,128,234,.08)}:root[data-theme=soft-ios-dark] .tpl-manage{background:rgba(28,26,40,.88);border-color:rgba(255,255,255,.08);box-shadow:0 10px 24px rgba(0,0,0,.24)}:root[data-theme=soft-ios-dark] .tpl-manage-header{border-bottom-color:rgba(255,255,255,.06)}:root[data-theme=soft-ios-dark] .tpl-manage-header span{color:var(--ink)}:root[data-theme=soft-ios-dark] .tpl-manage-item{border-bottom-color:rgba(255,255,255,.06)}:root[data-theme=soft-ios-dark] .tpl-manage-item .tpl-item-name{color:var(--ink)}:root[data-theme=soft-ios-dark] .tpl-manage-item .tpl-item-preview{color:var(--faint)}:root[data-theme=soft-ios-dark] .tpl-manage-item .tpl-item-delete{background:rgba(232,101,90,.1);border-color:rgba(232,101,90,.14);color:#f0a0a0}.profile-hero{gap:24px;padding:32px 36px;border-radius:28px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(246,250,255,.7)),linear-gradient(135deg,rgba(139,128,234,.08),rgba(123,183,242,.06));box-shadow:var(--soft-shadow)}.profile-avatar,.profile-hero{display:flex;align-items:center}.profile-avatar{width:80px;height:80px;border-radius:24px;justify-content:center;background:linear-gradient(135deg,var(--violet),var(--blue));flex-shrink:0}.profile-avatar span{font-size:32px;font-weight:700;color:#fff;line-height:1}.profile-hero-info{display:flex;flex-direction:column;gap:8px}.profile-hero-badges{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.profile-hero-name{font-size:26px;font-weight:750;color:var(--ink);margin:0;line-height:1.2}.profile-role-badge{display:inline-flex;align-items:center;padding:4px 14px;border-radius:999px;font-size:13px;font-weight:650;width:-moz-fit-content;width:fit-content}.role-admin{color:#7c5cfc;background:rgba(139,128,234,.14)}.role-teacher{color:#2a9d6e;background:rgba(94,201,163,.16)}.role-staff{color:#c47d2a;background:rgba(232,168,56,.14)}.role-user{color:var(--muted);background:rgba(116,104,128,.1)}.role-membership{color:#2f638f;background:rgba(123,183,242,.16)}.profile-info-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:0;gap:0}.profile-info-item{display:flex;flex-direction:column;gap:6px;padding:18px 20px;border-bottom:1px solid var(--line-soft)}.profile-info-item:nth-child(odd){border-right:1px solid var(--line-soft)}.profile-info-item:nth-last-child(-n+2){border-bottom:none}.profile-info-label{font-size:12px;color:var(--faint);font-weight:500}.profile-info-value{font-size:15px;color:var(--ink);font-weight:600}.profile-status{font-size:13px!important;font-weight:650!important}.status-approved{color:#2a9d6e}.status-pending{color:#c47d2a}.status-rejected{color:var(--coral)}.profile-nav-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px;padding:4px 0}.profile-nav-card{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.6);color:var(--ink);text-decoration:none;font-size:14px;font-weight:600;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.profile-nav-card:hover{transform:translateY(-2px);box-shadow:var(--soft-shadow);background:rgba(255,255,255,.85)}.profile-nav-icon{width:40px;height:40px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-nav-icon svg{width:20px;height:20px}.pn-violet{color:var(--violet);background:rgba(139,128,234,.12)}.pn-coral{color:var(--coral);background:rgba(232,101,90,.1)}.pn-teal{color:#2a9d6e;background:rgba(94,201,163,.12)}.pn-pink{color:var(--pink);background:rgba(240,139,180,.12)}:root[data-theme=soft-ios-dark] .profile-hero{background:linear-gradient(135deg,rgba(36,32,52,.92),rgba(28,26,42,.8)),linear-gradient(135deg,rgba(139,128,234,.06),rgba(123,183,242,.04));border-color:rgba(255,255,255,.08)}:root[data-theme=soft-ios-dark] .profile-hero-name{color:rgba(255,255,255,.9)}:root[data-theme=soft-ios-dark] .profile-info-item{border-bottom-color:rgba(255,255,255,.06)}:root[data-theme=soft-ios-dark] .profile-info-item:nth-child(odd){border-right-color:rgba(255,255,255,.06)}:root[data-theme=soft-ios-dark] .profile-info-label{color:rgba(255,255,255,.35)}:root[data-theme=soft-ios-dark] .profile-info-value{color:rgba(255,255,255,.82)}:root[data-theme=soft-ios-dark] .profile-nav-card{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08);color:rgba(255,255,255,.82)}:root[data-theme=soft-ios-dark] .profile-nav-card:hover{background:rgba(255,255,255,.08);box-shadow:0 10px 24px rgba(0,0,0,.24)}:root[data-theme=soft-ios-dark] .role-admin{color:#b8b0f0;background:rgba(139,128,234,.16)}:root[data-theme=soft-ios-dark] .role-teacher{color:#7ee8c0;background:rgba(94,201,163,.14)}:root[data-theme=soft-ios-dark] .role-staff{color:#f0c878;background:rgba(232,168,56,.14)}.profile-edit-form{display:flex;flex-direction:column;gap:24px;padding:0}.profile-edit-section{display:flex;flex-direction:column;gap:10px}.profile-edit-label{font-size:13px;font-weight:600;color:var(--muted)}.profile-edit-row{display:flex;align-items:center;gap:12px}.profile-toggle-btn{font-size:13px;color:var(--violet);background:none;border:none;cursor:pointer;padding:0;font-weight:500}.profile-toggle-btn:hover{text-decoration:underline}.avatar-color-picker{display:flex;gap:10px;flex-wrap:wrap}.avatar-color-dot{width:36px;height:36px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:transform .15s ease,border-color .15s ease;box-shadow:0 2px 6px rgba(0,0,0,.1)}.avatar-color-dot:hover{transform:scale(1.12)}.avatar-color-dot.selected{border-color:var(--ink);box-shadow:0 0 0 2px rgba(255,255,255,.8),0 2px 8px rgba(0,0,0,.18)}.profile-password-fields{display:flex;flex-direction:column;gap:10px}.profile-save-btn{align-self:flex-start;margin-top:4px}:root[data-theme=soft-ios-dark] .avatar-color-dot.selected{border-color:rgba(255,255,255,.85)}:root[data-theme=soft-ios-dark] .profile-toggle-btn{color:#b8b0f0}.gen-btn{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--bg);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:15px;transition:background .15s ease,transform .12s ease,border-color .15s ease;padding:0;line-height:1}.gen-btn:hover{background:rgba(139,92,246,.08);border-color:rgba(139,92,246,.25);transform:scale(1.08)}.gen-btn:active{transform:scale(.95)}.gen-prompt-bar{display:flex;flex-direction:column;gap:8px;padding:12px 16px;border-top:1px solid var(--line);background:rgba(139,92,246,.03);animation:gen-bar-in .2s ease}@keyframes gen-bar-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.gen-prompt-label{font-size:12px;font-weight:600;color:var(--violet);letter-spacing:.3px}.gen-prompt-input{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13px;font-family:inherit;resize:none;background:var(--bg);color:var(--ink);line-height:1.5;transition:border-color .15s ease}.gen-prompt-input:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 3px rgba(139,92,246,.08)}.gen-prompt-actions{display:flex;justify-content:flex-end;gap:8px}.gen-cancel-btn{font-size:12px;padding:5px 14px;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--muted);cursor:pointer;font-weight:500;transition:background .12s ease}.gen-cancel-btn:hover{background:rgba(0,0,0,.04)}.gen-submit-btn{font-size:12px;padding:5px 16px;border-radius:8px;border:none;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;cursor:pointer;font-weight:600;transition:opacity .12s ease,transform .12s ease}.gen-submit-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.gen-submit-btn:disabled{opacity:.5;cursor:not-allowed}.generated-media{display:flex;flex-direction:column;gap:10px;margin-top:8px}.generated-media-link{display:block;text-decoration:none;color:inherit}.generated-image{width:100%;max-width:380px;border-radius:12px;border:1px solid var(--line);display:block;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.generated-image:hover{transform:scale(1.02);box-shadow:0 6px 20px rgba(0,0,0,.12)}.generated-video-wrap{display:flex;flex-direction:column;gap:6px;max-width:380px}.generated-video{width:100%;border-radius:12px;border:1px solid var(--line);background:#000}.media-label{font-size:11.5px;color:var(--muted);line-height:1.4}.media-download-btn{display:inline-block;font-size:11.5px;color:var(--violet);text-decoration:none;font-weight:500;align-self:flex-start}.media-download-btn:hover{text-decoration:underline}:root[data-theme=soft-ios-dark] .gen-prompt-bar{background:rgba(139,92,246,.05)}:root[data-theme=soft-ios-dark] .gen-btn:hover{background:rgba(139,92,246,.12)}:root[data-theme=soft-ios-dark] .gen-cancel-btn:hover{background:rgba(255,255,255,.06)}:root[data-theme=soft-ios-dark] .generated-image:hover{box-shadow:0 6px 20px rgba(0,0,0,.35)}.usage-btn-wrap{position:relative;display:inline-block}.usage-tooltip{position:absolute;top:calc(100% + 8px);right:0;min-width:240px;background:#ffffff!important;border:1px solid #e4e4e7;border-radius:12px;padding:14px 16px;z-index:100;animation:usage-in .18s ease;box-shadow:0 8px 24px rgba(0,0,0,.12);backdrop-filter:none!important;-webkit-backdrop-filter:none!important;opacity:1!important}@keyframes usage-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.usage-tooltip-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--line)}.usage-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:5px 0;color:var(--ink)}.usage-row span:first-child{opacity:.75}.usage-row span:last-child{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.usage-total{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;font-weight:700;padding-top:8px;margin-top:6px;border-top:1px solid var(--line);color:var(--violet)}.usage-total span:last-child{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.usage-loading{font-size:12px;color:var(--muted);text-align:center;padding:8px 0}:root[data-theme=soft-ios-dark] .usage-tooltip{background:#27272a!important;box-shadow:0 8px 24px rgba(0,0,0,.4);border-color:#3f3f46!important}@media (max-width:520px){.shell.app.with-right-panel{grid-template-columns:minmax(0,1fr)!important}.shell .right-panel{display:none!important}.shell .main{padding:12px 12px 80px!important}.shell{width:100%!important;margin:0!important;overflow-x:hidden!important}.topbar{padding:10px 12px!important;min-height:auto!important;flex-direction:row!important;align-items:center!important;flex-wrap:wrap!important;gap:6px!important}.topbar h1{font-size:16px!important;flex:1 1!important;min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.topbar .actions{flex-direction:row!important;flex-wrap:wrap!important;gap:4px!important}.topbar .actions a,.topbar .actions button{font-size:11px!important;padding:5px 10px!important;white-space:nowrap}.prototype-dock{transform:translateX(-50%) translateY(0)!important;opacity:1!important;pointer-events:auto!important;bottom:8px!important;max-width:calc(100vw - 16px)!important}.dock-hover-zone{display:none!important}.dock-track{padding:6px 8px!important;gap:1px!important}.prototype-dock a,.prototype-dock button{font-size:10px!important;padding:5px 7px!important}.prototype-dock span{font-size:10px!important}.prototype-dock .dock-label{display:none!important}.login-card{max-width:100%!important;border-radius:0!important;min-height:100dvh!important;flex-direction:column!important}.login-visual{padding:20px 16px!important;min-height:140px!important}.login-form-side{padding:24px 20px!important;flex:1 1!important}.login-form-side h1{font-size:18px!important}.proto-search{min-width:0!important;width:100%!important}.content-grid,.hero-grid,.student-command{grid-template-columns:1fr!important}.student-table,table{font-size:12px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.profile-hero{padding:16px 14px!important}.profile-info-grid{grid-template-columns:1fr!important}.era-modal{width:calc(100vw - 16px)!important;max-height:calc(100dvh - 40px)!important;left:8px!important;right:8px!important}.piggy-fab.e-classmate-fab{width:48px!important;height:48px!important}.piggy-fab.e-classmate-fab svg{width:40px!important;height:40px!important}.piggy-panel{width:100vw!important;height:100dvh!important;left:0!important;top:0!important;border-radius:0!important;box-shadow:none!important;border:none!important}.piggy-panel header{padding:10px 12px 8px!important;gap:8px!important}.piggy-panel header>div{gap:8px!important}.piggy-panel header .brand-icon{width:28px!important;height:28px!important}.piggy-panel header .brand-icon svg{width:24px!important;height:24px!important}.piggy-panel header strong{font-size:14px!important}.piggy-panel header p.muted{font-size:10px!important}.piggy-panel header .actions{gap:2px!important}.piggy-panel header .small-btn{width:30px!important;height:30px!important;min-height:30px!important;font-size:14px!important}.piggy-messages{padding:12px 12px 8px!important;gap:14px!important}.piggy-message{font-size:13.5px!important;max-width:92%!important}.piggy-message.user{padding:9px 14px!important;border-radius:16px 16px 4px 16px!important}.piggy-content-card{border-radius:12px!important}.piggy-content-card .card-head{padding:10px 14px 8px!important}.piggy-content-card .card-body{padding:10px 14px!important;font-size:13px!important}.piggy-content-card .card-footer{padding:8px 14px 10px!important;flex-wrap:wrap!important;gap:6px!important}.piggy-content-card .card-btn{font-size:11px!important;padding:5px 10px!important}.generated-image{border-radius:10px!important}.generated-image,.generated-video-wrap{max-width:100%!important}.generated-video{border-radius:10px!important}.media-label{font-size:11px!important}.message-actions{gap:6px!important;margin-top:6px!important}.message-actions button{font-size:11px!important;padding:5px 10px!important}.file-chips{gap:4px!important;padding:0 10px!important}.file-chips span{font-size:11px!important}.template-chips{flex-wrap:nowrap!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;padding:4px 10px 6px!important;gap:6px!important;scrollbar-width:none!important}.template-chips::-webkit-scrollbar{display:none!important}.template-chips button{font-size:11px!important;padding:5px 10px!important;white-space:nowrap!important;flex-shrink:0!important}.piggy-input{margin:0 8px 8px!important;padding:4px 4px 4px 10px!important;border-radius:14px!important;gap:4px!important}.piggy-input textarea{font-size:14px!important;min-height:36px!important}.piggy-input .input-tools{gap:0!important;padding-bottom:2px!important}.piggy-input .input-tools button{width:30px!important;height:30px!important;font-size:14px!important}.piggy-input .send-btn{width:34px!important;height:34px!important;min-width:34px!important}.piggy-input .stop-btn{font-size:11px!important;padding:4px 10px!important}.gen-prompt-bar{padding:8px 10px!important;gap:6px!important}.gen-prompt-input{font-size:13px!important}.gen-cancel-btn,.gen-submit-btn{font-size:11px!important;padding:4px 12px!important}.topic-list{left:8px!important;right:8px!important;top:68px!important;max-height:min(400px,calc(100dvh - 160px))!important;border-radius:14px!important;padding:8px!important}.topic-search input{font-size:13px!important;padding:8px 12px!important}.topic-item{border-radius:10px!important}.topic-load strong{font-size:13px!important}.topic-load span{font-size:10px!important}.usage-tooltip{position:fixed!important;top:auto!important;bottom:80px!important;right:12px!important;left:12px!important;min-width:auto!important;border-radius:14px!important;z-index:200!important}.usage-tooltip-title{font-size:13px!important}.usage-row{padding:4px 0!important}.usage-row,.usage-total{font-size:12px!important}.tpl-manage{padding:6px 10px!important}.tpl-manage-item{padding:8px 10px!important;font-size:12px!important}.cal-grid,.schedule-grid{font-size:12px}img{max-width:100%;height:auto}.markdown-body{font-size:13.5px!important}.markdown-body pre{font-size:12px!important;padding:10px 12px!important}.markdown-body h1,.markdown-body h2,.markdown-body h3{font-size:15px!important}}@media (max-width:380px){.shell .main{padding:10px 8px 72px!important}.login-form-side{padding:18px 14px!important}.topbar .actions a,.topbar .actions button{font-size:10px!important;padding:4px 7px!important}.prototype-dock a,.prototype-dock button{font-size:9px!important;padding:4px 5px!important}.piggy-panel header{padding:8px 10px 6px!important}.piggy-messages{padding:10px 8px 6px!important;gap:10px!important}.piggy-input{margin:0 6px 6px!important}.template-chips{padding:3px 8px 5px!important}.template-chips button{font-size:10px!important;padding:4px 8px!important}}.view-toggle-btn{padding:6px 14px;border-radius:10px;border:1.5px solid rgba(139,92,246,.25);background:rgba(139,92,246,.06);color:#7c3aed;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.view-toggle-btn:hover{background:rgba(139,92,246,.12);border-color:rgba(139,92,246,.4)}.staff-dashboard{padding:24px 0}.staff-welcome{margin-bottom:28px}.staff-welcome h2{font-size:22px;font-weight:700;color:var(--text-primary,#1a1a2e);margin-bottom:6px}.staff-welcome p{font-size:14px;color:var(--text-secondary,#888)}.staff-quick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:16px;gap:16px}.staff-quick-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 16px;border-radius:16px;background:var(--card-bg,#fff);border:1px solid var(--border-color,#eee);text-decoration:none;color:var(--text-primary,#333);transition:all .2s}.staff-quick-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.08)}.staff-quick-icon{font-size:32px}.staff-quick-label{font-size:14px;font-weight:600}.staff-quick-desc{font-size:11px;color:var(--muted,#888);margin-top:-4px}.erp-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center;color:var(--text-secondary,#888)}.erp-placeholder-icon{font-size:64px;margin-bottom:16px}.erp-placeholder h2{font-size:20px;font-weight:600;color:var(--text-primary,#333);margin-bottom:8px}.erp-placeholder p{font-size:14px}.qc-wrap{padding:24px 0;max-width:100%}.qc-section{margin-bottom:32px}.qc-section-title{font-size:18px;font-weight:700;color:var(--text-primary,#1a1a2e);margin-bottom:6px;display:flex;align-items:center;gap:8px}.qc-section-icon{font-size:22px}.qc-section-desc{font-size:13px;color:var(--text-secondary,#888);margin-bottom:20px}.qc-upload-zone{border:2px dashed rgba(139,92,246,.25);border-radius:16px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .2s;background:rgba(139,92,246,.02);margin-bottom:20px}.qc-upload-zone:hover{border-color:rgba(139,92,246,.5);background:rgba(139,92,246,.05)}.qc-upload-zone.qc-drag-over{border-color:rgba(139,92,246,.7);background:rgba(139,92,246,.1);border-style:solid}.qc-upload-icon{font-size:40px;margin-bottom:10px}.qc-upload-text{font-size:15px;font-weight:600;color:var(--text-primary,#333);margin-bottom:6px}.qc-upload-hint{font-size:12px;color:var(--text-secondary,#999)}.qc-file-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.qc-file-item{gap:12px;padding:14px 16px;border-radius:12px;background:var(--card-bg,#fff);border:1px solid var(--border-color,#eee)}.qc-file-info,.qc-file-item{display:flex;align-items:center}.qc-file-info{gap:10px;flex:1 1;min-width:0}.qc-file-icon{font-size:20px;flex-shrink:0}.qc-file-meta{flex:1 1;min-width:0}.qc-file-name{font-size:13px;font-weight:600;color:var(--text-primary,#333);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qc-file-size{font-size:11px;color:var(--text-secondary,#999)}.qc-company-input{padding:6px 12px;border-radius:8px;border:1px solid var(--border-color,#ddd);font-size:13px;width:180px;background:var(--card-bg,#fff);color:var(--text-primary,#333)}.qc-company-input:focus{outline:none;border-color:#7c3aed}.qc-remove-btn{width:28px;height:28px;border-radius:8px;border:none;background:rgba(239,68,68,.08);color:#ef4444;cursor:pointer;font-size:14px;display:grid;place-items:center;flex-shrink:0}.qc-remove-btn:hover{background:rgba(239,68,68,.16)}.qc-compare-btn{width:100%;padding:14px;border-radius:14px;border:none;background:#7c3aed;color:#fff;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s}.qc-compare-btn:hover{background:#6d28d9}.qc-compare-btn:disabled{opacity:.6;cursor:not-allowed}.qc-loading{display:flex;align-items:center;gap:10px}.qc-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:qc-spin .6s linear infinite}@keyframes qc-spin{to{transform:rotate(1turn)}}.qc-history-list{display:flex;flex-direction:column;gap:8px}.qc-history-item{padding:14px 40px 14px 16px;border-radius:12px;background:var(--card-bg,#fff);border:1px solid var(--border-color,#eee);cursor:pointer;transition:all .15s;position:relative}.qc-history-item:hover{border-color:rgba(139,92,246,.3);background:rgba(139,92,246,.02)}.qc-history-title{font-size:14px;font-weight:600;color:var(--text-primary,#333);margin-bottom:4px}.qc-history-meta{font-size:12px;color:var(--text-secondary,#999);display:flex;justify-content:space-between}.qc-history-del{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:6px;border:none;background:transparent;color:var(--text-secondary,#bbb);font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .15s}.qc-history-item:hover .qc-history-del{opacity:1}.qc-history-del:hover{background:rgba(239,68,68,.1);color:#ef4444}.qc-result-header{margin-bottom:24px}.qc-back-btn{padding:6px 14px;border-radius:8px;border:1px solid var(--border-color,#ddd);background:var(--card-bg,#fff);color:var(--text-primary,#555);font-size:13px;cursor:pointer;margin-bottom:12px}.qc-back-btn:hover{background:rgba(0,0,0,.03)}.qc-result-title{font-size:20px;font-weight:700;color:var(--text-primary,#1a1a2e);margin-bottom:8px}.qc-result-companies{display:flex;gap:8px;flex-wrap:wrap}.qc-company-tag{padding:4px 12px;border-radius:8px;background:rgba(139,92,246,.08);color:#7c3aed;font-size:12px;font-weight:600}.qc-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:12px;gap:12px;margin-bottom:24px}.qc-summary-card{padding:18px 16px;border-radius:14px;background:var(--card-bg,#fff);border:1px solid var(--border-color,#eee);text-align:center}.qc-summary-num{font-size:28px;font-weight:700}.qc-num-blue{color:#3b82f6}.qc-num-green{color:#22c55e}.qc-num-orange{color:#f59e0b}.qc-num-red{color:#ef4444}.qc-summary-label{font-size:12px;color:var(--text-secondary,#888);margin-top:4px}.qc-table-wrap{background:var(--card-bg,#fff);border-radius:14px;border:1px solid var(--border-color,#eee);overflow-x:auto;margin-bottom:24px}.qc-table{width:100%;border-collapse:collapse;font-size:13px}.qc-table th{padding:12px 14px;text-align:left;font-weight:600;color:var(--text-secondary,#666);background:var(--card-bg-alt,#fafafe);border-bottom:1px solid var(--border-color,#eee);white-space:nowrap}.qc-table td{padding:11px 14px;border-bottom:1px solid rgba(0,0,0,.04);vertical-align:middle}.qc-table tr:last-child td{border-bottom:none}.qc-table tr:hover td{background:rgba(139,92,246,.02)}.qc-match-tag{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600}.qc-match-exact{background:#dcfce7;color:#166534}.qc-match-ai{background:#fef3c7;color:#92400e}.qc-match-pending{background:#fee2e2;color:#991b1b}.qc-product-name{font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qc-price-cell{font-weight:600;white-space:nowrap}.qc-price-lowest{color:#16a34a}.qc-price-highest{color:#dc2626}.qc-price-na,.qc-qty{color:#999}.qc-qty{font-size:11px;margin-left:4px;font-weight:400}.qc-diff-cell,.qc-pct-cell{white-space:nowrap;font-weight:600}.qc-diff-up{color:#dc2626}.qc-diff-same{color:#999}.qc-pct-up{color:#dc2626}.qc-pct-same{color:#999}.qc-unmatched-section{margin-bottom:24px}.qc-unmatched-title{font-size:14px;font-weight:600;color:#dc2626;margin-bottom:12px}.qc-unmatched-list{background:var(--card-bg,#fff);border-radius:12px;border:1px solid rgba(220,38,38,.15);overflow:hidden}.qc-unmatched-item{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid rgba(0,0,0,.04);font-size:13px}.qc-unmatched-item:last-child{border-bottom:none}.qc-unmatched-company{padding:2px 8px;border-radius:6px;background:rgba(220,38,38,.08);color:#dc2626;font-size:11px;font-weight:600;white-space:nowrap}.qc-unmatched-name{flex:1 1;color:var(--text-primary,#333)}.qc-unmatched-price{color:var(--text-secondary,#888);font-weight:500}.qc-export-bar{display:flex;gap:10px;justify-content:flex-end;padding:16px 0;border-top:1px solid var(--border-color,#eee)}.qc-export-btn{padding:10px 18px;border-radius:12px;border:1.5px solid var(--border-color,#ddd);background:var(--card-bg,#fff);color:var(--text-primary,#555);font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .15s}.qc-export-btn:hover{border-color:#7c3aed;color:#7c3aed}.qc-export-primary{background:#7c3aed;color:#fff;border-color:#7c3aed}.qc-export-primary:hover{background:#6d28d9;color:#fff;border-color:#6d28d9}.qc-file-error{width:100%;padding:8px 12px;margin-top:8px;border-radius:8px;background:rgba(239,68,68,.08);color:#dc2626;font-size:12px;line-height:1.5}.qc-status-error{flex-wrap:wrap;border-color:rgba(239,68,68,.25)}.qc-status-done{border-color:rgba(34,197,94,.2)}@media (max-width:640px){.qc-wrap{padding:16px 0}.qc-upload-zone{padding:28px 16px;border-radius:12px}.qc-upload-icon{font-size:32px}.qc-upload-text{font-size:14px}.qc-file-item{flex-wrap:wrap;gap:8px;padding:12px}.qc-file-info{flex:1 1 60%;min-width:0}.qc-file-company{flex:1 1 100%;order:3}.qc-company-input{width:100%}.qc-remove-btn{order:2}.qc-file-error{order:4}.qc-compare-btn{padding:12px;font-size:14px;border-radius:12px}.qc-summary-cards{grid-template-columns:repeat(2,1fr);gap:8px}.qc-summary-card{padding:14px 10px;border-radius:10px}.qc-summary-num{font-size:22px}.qc-table{font-size:12px}.qc-table td,.qc-table th{padding:8px 10px}.qc-product-name{max-width:120px}.qc-export-bar{flex-wrap:wrap;justify-content:center;gap:8px;padding:12px 0}.qc-export-btn{padding:8px 14px;font-size:12px}.qc-result-title{font-size:17px}.qc-unmatched-item{gap:8px;padding:8px 12px;font-size:12px}.qc-history-item{padding:12px}}.erp-page{padding:0 0 48px}.erp-stats{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.erp-stat{flex:1 1;min-width:120px;background:var(--paper,#fff);border:1px solid var(--line,#eee);border-radius:var(--r-md,16px);padding:14px 16px;display:flex;flex-direction:column;gap:4px;box-shadow:var(--sh-rest);transition:box-shadow .15s}.erp-stat:hover{box-shadow:var(--sh-hover)}.erp-stat-label{font-size:12px;font-weight:500;color:var(--muted,#888);text-transform:uppercase;letter-spacing:.02em}.erp-stat-value{font-size:22px;font-weight:700;color:var(--ink,#222);line-height:1.2}.erp-stat-income .erp-stat-value{color:var(--mint,#10b981)}.erp-stat-expense .erp-stat-value{color:var(--coral,#ef4444)}.erp-stat-alert{border-color:var(--coral,#ef4444)}.erp-stat-alert .erp-stat-value{color:var(--coral,#ef4444)}.erp-stat-pending .erp-stat-value{color:var(--amber,#f59e0b)}.erp-stat-approved .erp-stat-value{color:var(--mint,#10b981)}.erp-stat-rejected .erp-stat-value{color:var(--coral,#ef4444)}.erp-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.erp-search-bar{flex:1 1;min-width:180px;padding:10px 14px;border-radius:var(--r-sm,12px);border:1px solid var(--line,#ddd);background:var(--paper-dim,rgba(255,255,255,.6));color:var(--ink,#333);font-size:14px;outline:none;transition:border-color .15s}.erp-search-bar:focus{border-color:var(--violet,#7c3aed)}.erp-search-bar::placeholder{color:var(--faint,#aaa)}.erp-tabs{display:flex;gap:4px;background:var(--paper-dim,rgba(0,0,0,.03));border-radius:var(--r-sm,12px);padding:3px}.erp-tab{padding:7px 16px;border-radius:10px;border:none;background:transparent;color:var(--muted,#888);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.erp-tab:hover{color:var(--ink,#333)}.erp-tab-active,.erp-tab.active{background:var(--paper-strong,#fff);color:var(--ink,#333);box-shadow:0 1px 3px rgba(0,0,0,.08)}.erp-split{display:flex;gap:16px;align-items:flex-start}.erp-split>.erp-list{flex:1 1;min-width:0}.erp-split>.erp-detail{flex:0 0 340px}.erp-list{display:flex;flex-direction:column;gap:8px}.erp-card{background:var(--paper,#fff);border:1px solid var(--line,#eee);border-radius:var(--r-md,16px);padding:14px 16px;cursor:pointer;transition:box-shadow .15s,border-color .15s;box-shadow:var(--sh-rest)}.erp-card:hover{box-shadow:var(--sh-hover)}.erp-card-active,.erp-card.selected{border-color:var(--violet,#7c3aed);box-shadow:var(--sh-hover)}.erp-card-income{border-left:3px solid var(--mint,#10b981)}.erp-card-expense{border-left:3px solid var(--coral,#ef4444)}.erp-card-pending{border-left:3px solid var(--amber,#f59e0b)}.erp-card-approved{border-left:3px solid var(--mint,#10b981)}.erp-card-rejected{border-left:3px solid var(--coral,#ef4444)}.erp-card-low-stock{border-color:var(--coral,#ef4444);background:rgba(239,68,68,.04)}.erp-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.erp-card-name{font-size:15px;font-weight:600;color:var(--ink,#222)}.erp-card-body{display:flex;gap:12px;font-size:13px;color:var(--muted,#888);margin-bottom:6px}.erp-card-footer{font-size:12px;color:var(--faint,#aaa);margin-top:4px}.erp-card-footer,.erp-card-row{display:flex;justify-content:space-between;align-items:center}.erp-card-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.erp-card-title{font-weight:600;font-size:14px;color:var(--ink,#222)}.erp-card-amount{font-size:16px;font-weight:700;white-space:nowrap}.erp-card-date{font-size:12px;color:var(--faint,#aaa)}.erp-card-status-LEAD{width:8px;height:8px;border-radius:50%;background:var(--amber,#f59e0b)}.erp-card-status-ACTIVE{width:8px;height:8px;border-radius:50%;background:var(--mint,#10b981)}.erp-card-status-PAUSED{width:8px;height:8px;border-radius:50%;background:var(--muted,#888)}.erp-card-status-LOST{width:8px;height:8px;border-radius:50%;background:var(--coral,#ef4444)}.erp-badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600;background:rgba(124,58,237,.08);color:var(--violet,#7c3aed)}.erp-badge-pending{background:rgba(245,158,11,.12);color:var(--amber,#f59e0b)}.erp-badge-approved{background:rgba(16,185,129,.1);color:var(--mint,#10b981)}.erp-badge-rejected{background:rgba(239,68,68,.1);color:var(--coral,#ef4444)}.erp-empty{text-align:center;padding:48px 16px;color:var(--muted,#888);font-size:14px}.erp-empty-sm{text-align:center;padding:16px;color:var(--faint,#aaa);font-size:13px}.erp-detail{background:var(--paper,#fff);border:1px solid var(--line,#eee);border-radius:var(--r-md,16px);padding:20px;box-shadow:var(--sh-rest);position:-webkit-sticky;position:sticky;top:80px}.erp-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line,#eee)}.erp-detail-header h3{margin:0;font-size:18px;font-weight:700;color:var(--ink,#222)}.erp-detail-fields{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.erp-detail-row{display:flex;gap:12px;font-size:13px;line-height:1.5}.erp-detail-label{flex:0 0 70px;color:var(--muted,#888);font-weight:500}.erp-detail-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:12px}.erp-detail-grid>div{display:flex;flex-direction:column;gap:2px}.erp-detail-desc{margin-bottom:12px}.erp-detail-desc p{margin:4px 0 0;font-size:13px;color:var(--ink,#333);line-height:1.5}.erp-detail-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--line,#eee)}.erp-detail-section{margin-top:20px;padding-top:16px;border-top:1px solid var(--line,#eee)}.erp-detail-section h4{margin:0 0 12px;font-size:14px}.erp-btn,.erp-detail-section h4{font-weight:600;color:var(--ink,#333)}.erp-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:var(--r-sm,12px);font-size:13px;cursor:pointer;border:1px solid var(--line,#ddd);background:var(--paper,#fff);transition:all .15s}.erp-btn:hover{background:var(--paper-dim,#f5f5f5)}.erp-btn:disabled{opacity:.5;cursor:not-allowed}.erp-btn-primary{background:var(--violet,#7c3aed);color:#fff;border-color:var(--violet,#7c3aed)}.erp-btn-primary:hover{filter:brightness(1.1);background:var(--violet,#7c3aed)}.erp-btn-secondary{background:var(--paper,#fff);color:var(--ink,#555);border-color:var(--line,#ddd)}.erp-btn-secondary:hover{border-color:var(--violet,#7c3aed);color:var(--violet,#7c3aed)}.erp-btn-danger{background:rgba(239,68,68,.08);color:var(--coral,#ef4444);border-color:rgba(239,68,68,.3)}.erp-btn-danger:hover{background:rgba(239,68,68,.15)}.erp-btn-approve{background:rgba(16,185,129,.1);color:var(--mint,#10b981);border-color:rgba(16,185,129,.3)}.erp-btn-approve:hover{background:rgba(16,185,129,.2)}.erp-btn-reject{background:rgba(239,68,68,.08);color:var(--coral,#ef4444);border-color:rgba(239,68,68,.3)}.erp-btn-reject:hover{background:rgba(239,68,68,.15)}.erp-btn-approve:not(.erp-btn),.erp-btn-danger:not(.erp-btn),.erp-btn-primary:not(.erp-btn),.erp-btn-reject:not(.erp-btn),.erp-btn-secondary:not(.erp-btn){display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:var(--r-sm,12px);font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--line,#ddd);transition:all .15s}.erp-btn-danger:not(.erp-btn):disabled,.erp-btn-primary:not(.erp-btn):disabled,.erp-btn-secondary:not(.erp-btn):disabled{opacity:.5;cursor:not-allowed}.erp-form-overlay{position:fixed;inset:0;z-index:900;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:24px;animation:erpFadeIn .15s ease}@keyframes erpFadeIn{0%{opacity:0}to{opacity:1}}.erp-form{background:var(--paper-strong,#fff);border:1px solid var(--line,#eee);border-radius:var(--r-lg,20px);padding:28px;width:100%;max-width:480px;max-height:85vh;overflow-y:auto;box-shadow:var(--sh-raise);animation:erpSlideUp .2s ease}@keyframes erpSlideUp{0%{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}.erp-form h3{margin:0 0 20px;font-size:18px;font-weight:700;color:var(--ink,#222)}.erp-field,.erp-form label{display:block;margin-bottom:14px}.erp-field>span,.erp-form label>span{display:block;font-size:13px;font-weight:600;color:var(--muted,#666);margin-bottom:6px}.erp-form label em{color:var(--coral,#ef4444);font-style:normal}.erp-form input,.erp-form select,.erp-form textarea,.erp-input{width:100%;padding:10px 12px;border-radius:var(--r-sm,12px);border:1px solid var(--line,#ddd);background:var(--paper-dim,rgba(255,255,255,.7));color:var(--ink,#333);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s;box-sizing:border-box}.erp-form input:focus,.erp-form select:focus,.erp-form textarea:focus,.erp-input:focus{border-color:var(--violet,#7c3aed)}.erp-form textarea{resize:vertical}.erp-form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.erp-form-label{display:block;margin-bottom:12px}.erp-form-label>div:first-child,.erp-form-label>span{display:block;font-size:13px;font-weight:600;color:var(--muted,#666);margin-bottom:6px}.erp-form-input{width:100%;padding:10px 12px;border-radius:var(--r-sm,12px);border:1px solid var(--line,#ddd);background:var(--paper-dim,rgba(255,255,255,.7));color:var(--ink,#333);font-size:14px;outline:none;transition:border-color .15s;box-sizing:border-box}.erp-form-input:focus{border-color:var(--violet,#7c3aed)}.erp-form-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:16px;border-top:1px solid var(--line,#eee);margin-top:8px}.erp-radio-group{display:flex;gap:16px}.erp-radio{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--ink,#333);cursor:pointer}.erp-radio input{width:auto}.erp-month-select{padding:8px 12px;border-radius:var(--r-sm,12px);border:1px solid var(--line,#ddd);background:var(--paper,#fff);color:var(--ink,#333);font-size:13px;outline:none}.erp-follow-form{margin-top:16px;padding:14px;background:var(--paper-dim,rgba(0,0,0,.02));border-radius:var(--r-sm,12px)}.erp-follow-form textarea{width:100%;padding:10px 12px;border-radius:var(--r-sm,12px);border:1px solid var(--line,#ddd);background:var(--paper,#fff);color:var(--ink,#333);font-size:14px;font-family:inherit;resize:vertical;outline:none;box-sizing:border-box}.erp-follow-form textarea:focus{border-color:var(--violet,#7c3aed)}.erp-follow-controls{display:flex;gap:8px;align-items:center;margin-top:10px}.erp-follow-controls select{padding:8px 12px;border-radius:var(--r-sm,12px);border:1px solid var(--line,#ddd);background:var(--paper,#fff);color:var(--ink,#333);font-size:13px;outline:none}.erp-timeline{display:flex;flex-direction:column;gap:12px}.erp-timeline-item{padding:10px 14px;border-left:2px solid var(--violet,#7c3aed);background:var(--paper-dim,rgba(0,0,0,.015));border-radius:0 var(--r-sm,12px) var(--r-sm,12px) 0}.erp-timeline-date{font-size:12px;color:var(--muted,#888);font-weight:600;margin-bottom:4px}.erp-timeline-content{font-size:13px;color:var(--ink,#333);line-height:1.5}.erp-timeline-plan{font-size:12px;color:var(--violet,#7c3aed);margin-top:6px;font-weight:500}.erp-qty-btn{width:28px;height:28px;border-radius:6px;border:1px solid var(--line,#ddd);background:var(--paper,#fff);color:var(--ink,#333);font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.erp-qty-btn:hover{border-color:var(--violet,#7c3aed);color:var(--violet,#7c3aed)}.erp-action-btns{display:flex;gap:8px;flex-wrap:wrap}.text-income{color:var(--mint,#10b981)!important}.text-expense{color:var(--coral,#ef4444)!important}@media (max-width:768px){.erp-split{flex-direction:column}.erp-split>.erp-detail{flex:none;width:100%;position:static}.erp-stats{gap:8px}.erp-stat{min-width:90px;padding:10px 12px}.erp-stat-value{font-size:18px}.erp-form{padding:20px;max-width:100%}.erp-form-row{grid-template-columns:1fr}.erp-toolbar{flex-direction:column;align-items:stretch}}.app-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:14px;gap:14px;margin-top:12px}.app-type-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 16px;border-radius:var(--r-lg,16px);background:var(--paper,#fff);border:1px solid var(--line,#e4e4e7);box-shadow:var(--sh-rest,0 1px 3px rgba(0,0,0,.06));cursor:pointer;transition:all .18s ease;text-align:center}.app-type-card:hover{box-shadow:var(--sh-hover,0 4px 16px rgba(0,0,0,.1));transform:translateY(-2px);border-color:var(--violet,#7c5cfc)}.app-type-icon{font-size:32px;line-height:1}.app-type-name{font-size:14px;font-weight:600;color:var(--ink,#18181b)}.app-type-desc{font-size:12px;color:var(--muted,#71717a)}.app-selected-type{display:flex;align-items:center;gap:14px;padding:16px 20px;border-radius:var(--r-lg,16px);background:var(--paper,#fff);border:1px solid var(--line,#e4e4e7);box-shadow:var(--sh-rest,0 1px 3px rgba(0,0,0,.06))}.app-type-icon-lg{font-size:40px;line-height:1}.app-selected-type strong{display:block;font-size:16px;color:var(--ink,#18181b)}.app-selected-type .muted{font-size:13px;color:var(--muted,#71717a)}.erp-form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-top:12px}.erp-field{display:flex;flex-direction:column;gap:6px}.erp-field.full{grid-column:1/-1}.erp-field label{font-size:13px;font-weight:600;color:var(--ink,#18181b)}.erp-field label em{color:#ef4444;font-style:normal}.erp-input{padding:10px 14px;border-radius:var(--r-sm,12px);border:1px solid var(--line,#e4e4e7);background:var(--paper,#fff);color:var(--ink,#18181b);font-size:14px;outline:none;transition:border-color .15s}.erp-input:focus{border-color:var(--violet,#7c5cfc);box-shadow:0 0 0 3px rgba(124,92,252,.12)}.erp-textarea{resize:vertical;min-height:80px;font-family:inherit}.app-generate-bar{display:flex;justify-content:center;padding:12px 0}.app-generate-btn{min-width:240px;font-size:15px!important;padding:12px 28px!important}.app-generate-btn:disabled{opacity:.55;cursor:not-allowed}.app-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:app-spin .6s linear infinite;margin-right:6px;vertical-align:middle}@keyframes app-spin{to{transform:rotate(1turn)}}.app-result-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:12px}.app-result-actions{display:flex;gap:8px;align-items:center}.app-saved-tag{font-size:13px;color:#22c55e;font-weight:600}.app-result-box{padding:20px;border-radius:var(--r-lg,16px);background:var(--paper,#fff);border:1px solid var(--line,#e4e4e7);box-shadow:var(--sh-rest,0 1px 3px rgba(0,0,0,.06));line-height:1.8}.app-result-box p{margin:0 0 8px;font-size:14px;color:var(--ink,#18181b)}.app-result-box p:last-child{margin-bottom:0}.app-history-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.app-history-card{border-radius:var(--r-lg,16px);background:var(--paper,#fff);border:1px solid var(--line,#e4e4e7);box-shadow:var(--sh-rest,0 1px 3px rgba(0,0,0,.06));overflow:hidden;transition:box-shadow .15s}.app-history-card:hover{box-shadow:var(--sh-hover,0 4px 16px rgba(0,0,0,.1))}.app-history-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.app-history-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.app-history-type{display:inline-block;padding:2px 10px;border-radius:999px;background:rgba(124,92,252,.1);color:var(--violet,#7c5cfc);font-size:12px;font-weight:600}.app-history-info strong{font-size:14px;color:var(--ink,#18181b)}.app-history-info .muted,.app-history-meta{font-size:13px;color:var(--muted,#71717a)}.app-history-meta{display:flex;align-items:center;gap:10px}.app-history-arrow{font-size:10px;transition:transform .2s;color:var(--muted,#71717a)}.app-history-arrow.open{transform:rotate(180deg)}.app-history-body{padding:0 18px 18px}.app-history-actions{display:flex;gap:8px;margin-top:12px}.erp-form-modal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(520px,92vw);max-height:80vh;overflow-y:auto;background:var(--paper,#fff);border-radius:var(--r-lg,16px);box-shadow:0 24px 48px rgba(0,0,0,.18)}.erp-modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line,#e4e4e7)}.erp-modal-head h3{margin:0;font-size:16px}.erp-modal-body{padding:20px}.app-type-mgr-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.app-type-mgr-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--r-sm,12px);background:rgba(0,0,0,.02)}[data-theme=soft-ios-dark] .app-type-mgr-row{background:rgba(255,255,255,.04)}.app-type-mgr-icon{font-size:20px;line-height:1}.app-type-mgr-name{flex:1 1;font-size:14px;font-weight:500;color:var(--ink,#18181b)}.app-type-mgr-badge{font-size:11px;padding:2px 8px;border-radius:999px;background:rgba(124,92,252,.1);color:var(--violet,#7c5cfc);font-weight:600}.app-type-mgr-add{padding-top:16px;border-top:1px solid var(--line,#e4e4e7)}.app-type-mgr-add h4{font-size:14px;margin:0 0 12px}.app-type-mgr-form{display:flex;gap:8px}.erp-btn-danger-sm{padding:4px 10px;font-size:12px;border-radius:var(--r-sm,12px);border:1px solid #fecaca;background:#fef2f2;color:#dc2626;cursor:pointer;transition:all .15s}.erp-btn-danger-sm:hover{background:#fee2e2}[data-theme=soft-ios-dark] .erp-btn-danger-sm{background:rgba(220,38,38,.15);border-color:rgba(220,38,38,.3)}.erp-btn-ghost{padding:6px 10px;font-size:14px;border:none;background:transparent;color:var(--muted,#71717a);cursor:pointer;border-radius:var(--r-sm,12px);transition:background .15s}.erp-btn-ghost:hover{background:rgba(0,0,0,.05)}.erp-page-actions{display:flex;gap:8px;align-items:center}@media (max-width:520px){.erp-form-grid{grid-template-columns:1fr}.app-type-grid{grid-template-columns:repeat(2,1fr)}.app-history-info{gap:4px}.app-history-info,.erp-page-header{flex-direction:column;align-items:flex-start}.erp-page-header{gap:10px}}.pts-balance-card{position:relative;overflow:hidden}.pts-balance-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-bottom:20px}.pts-balance-label{font-size:13px;color:var(--muted,#71717a);margin-bottom:4px}.pts-balance-value{font-size:40px;font-weight:800;color:var(--violet,#7c5cfc);line-height:1.1;letter-spacing:-1px}.pts-balance-hint{font-size:12px;color:var(--muted,#71717a);margin-top:4px}.pts-balance-stats{display:flex;gap:28px}.pts-stat{align-items:center}.pts-stat-num{font-weight:700}.pts-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line,#e4e4e7);margin-bottom:0}.pts-tab{padding:10px 18px;font-size:13px;font-weight:600;background:none;color:var(--muted,#71717a);cursor:pointer;border:none;border-bottom:2px solid transparent;transition:all .15s}.pts-tab:hover{color:var(--ink,#18181b)}.pts-tab.active{color:var(--violet,#7c5cfc);border-bottom-color:var(--violet,#7c5cfc)}.pts-panel{padding:20px 0 0}.pts-pricing{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;margin-bottom:24px}.pts-price-card{position:relative;display:flex;flex-direction:column;align-items:center;padding:24px 16px;border-radius:var(--r-lg,16px);border:1px solid var(--line,#e4e4e7);background:var(--paper,#fff);transition:all .18s}.pts-price-card:hover{border-color:var(--violet,#7c5cfc);box-shadow:0 4px 16px rgba(124,92,252,.1)}.pts-price-card.popular{border-color:var(--violet,#7c5cfc);box-shadow:0 0 0 1px var(--violet,#7c5cfc)}.pts-popular-badge{position:absolute;top:-10px;right:12px;padding:2px 10px;font-size:11px;font-weight:700;color:#fff;background:var(--violet,#7c5cfc);border-radius:999px}.pts-price-points{font-size:28px;font-weight:800;color:var(--ink,#18181b)}.pts-price-unit{font-size:13px;color:var(--muted,#71717a);margin-top:-2px}.pts-price-rmb{font-size:18px;font-weight:700;color:var(--violet,#7c5cfc);margin-top:8px}.pts-price-ratio{font-size:11px;color:var(--muted,#71717a);margin-top:4px}.pts-pay-title{font-size:14px;font-weight:600;color:var(--ink,#18181b);margin-bottom:10px}.pts-pay-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:24px}.pts-pay-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 12px;border-radius:var(--r-lg,16px);border:1px solid var(--line,#e4e4e7);background:var(--paper,#fff);text-align:center;text-decoration:none}.pts-pay-card-primary{border-color:rgba(22,119,255,.24);background:rgba(22,119,255,.045);transition:border-color .15s ease,transform .15s ease,background .15s ease}.pts-pay-card-primary:hover{border-color:rgba(22,119,255,.5);background:rgba(22,119,255,.075);transform:translateY(-1px)}.pts-pay-card-disabled{opacity:.48}.pts-pay-icon{display:grid;width:32px;height:32px;place-items:center;border-radius:9px;color:#fff;font-size:15px;font-weight:750}.pts-pay-icon-alipay{background:#1677ff}.pts-pay-icon-wechat{background:#10b766}.pts-pay-card strong{font-size:14px;color:var(--ink,#18181b)}.pts-pay-hint{font-size:12px;color:var(--muted,#71717a);text-align:center}.pts-pricing-title{font-size:14px;font-weight:600;color:var(--ink,#18181b);margin-bottom:10px}.pts-pricing-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px 24px;gap:6px 24px}.pts-pricing-row{display:flex;justify-content:space-between;padding:6px 0;font-size:13px;border-bottom:1px dashed var(--line,#e4e4e7)}.pts-pricing-cost{font-weight:600;color:var(--violet,#7c5cfc)}.pts-redeem-form{margin-bottom:16px}.pts-redeem-label{display:block;font-size:13px;font-weight:600;color:var(--ink,#18181b);margin-bottom:8px}.pts-redeem-input-row{display:flex;gap:10px}.pts-redeem-input{flex:1 1;text-transform:uppercase;letter-spacing:2px;font-weight:600}.pts-redeem-msg{margin-top:10px;font-size:13px;font-weight:600;padding:8px 14px;border-radius:var(--r-sm,12px)}.pts-redeem-msg.success{color:#16a34a;background:rgba(22,163,74,.08)}.pts-redeem-msg.error{color:#dc2626;background:rgba(220,38,38,.08)}.pts-redeem-note{font-size:12px;color:var(--muted,#71717a);line-height:1.6}.pts-redeem-note p{margin:0 0 4px}.pts-empty{text-align:center;padding:32px 0;color:var(--muted,#71717a);font-size:14px}.pts-history-list{display:flex;flex-direction:column;gap:2px}.pts-history-item{display:flex;align-items:center;justify-content:space-between;padding:10px 4px;border-bottom:1px solid var(--line,#e4e4e7)}.pts-history-item:last-child{border-bottom:none}.pts-history-info{display:flex;flex-direction:column;gap:2px}.pts-history-type{font-size:13px;font-weight:600}.pts-history-type.gain{color:#16a34a}.pts-history-date{font-size:11px;color:var(--muted,#71717a)}.pts-history-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.pts-history-amount{font-size:15px;font-weight:700}.pts-history-amount.gain{color:#16a34a}.pts-history-amount.spend{color:var(--ink,#18181b)}.pts-history-balance{font-size:11px;color:var(--muted,#71717a)}.piggy-no-points-link{display:block;text-decoration:none;cursor:pointer}.piggy-input.no-points{position:relative;opacity:.35;filter:grayscale(.6);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.no-points-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;border-radius:inherit}.no-points-overlay span{font-size:13px;font-weight:600;color:var(--muted,#888);letter-spacing:.5px;background:var(--paper,rgba(255,255,255,.85));padding:6px 18px;border-radius:10px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}:root[data-theme=soft-ios-dark] .no-points-overlay span{background:rgba(30,30,35,.85);color:var(--muted)}.pts-cost-tip{position:relative}.pts-cost-tip:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);padding:5px 12px;border-radius:8px;background:rgba(30,30,35,.92);color:#fff;font-size:12px;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;z-index:200}.pts-cost-tip:hover:after{opacity:1}:root[data-theme=soft-ios-dark] .pts-cost-tip:after{background:rgba(255,255,255,.92);color:#18181b}.pts-hero{padding:32px 0 24px}.pts-hero-inner{gap:20px;margin-bottom:24px}.pts-hero-icon,.pts-hero-inner{display:flex;align-items:center}.pts-hero-icon{font-size:48px;width:80px;height:80px;justify-content:center;background:linear-gradient(135deg,rgba(124,92,252,.12),rgba(236,72,153,.08));border-radius:20px;flex-shrink:0}.pts-hero-label{display:block;font-size:13px;color:var(--muted,#71717a);margin-bottom:4px}.pts-hero-balance{display:block;font-size:42px;font-weight:700;letter-spacing:-1px;color:var(--ink,#18181b);line-height:1.1}.pts-hero-stats{display:flex;gap:32px}.pts-stat{display:flex;flex-direction:column;gap:2px}.pts-stat-num{font-size:20px;font-weight:600;color:var(--ink,#18181b)}.pts-stat-label{font-size:12px;color:var(--muted,#71717a)}@media (max-width:520px){.pts-pay-grid,.pts-pricing,.pts-pricing-grid{grid-template-columns:1fr}.pts-balance-row{flex-direction:column;align-items:flex-start}.pts-balance-stats{gap:20px}}.admin-tabs{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));grid-template-rows:40px;grid-gap:5px;gap:5px;width:100%;height:52px;padding:5px;background:rgba(255,255,255,.55);border-radius:16px;border:1px solid var(--line);overflow:visible}.admin-tabs-wrap{display:block;width:100%;height:52px;min-height:0;align-self:start}:root[data-theme=soft-ios-dark] .admin-tabs{background:rgba(255,255,255,.04)}.admin-tab{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;height:40px;min-height:40px;padding:0 8px;border:none;border-radius:14px;background:transparent;cursor:pointer;font-size:13px;font-weight:500;color:var(--muted);white-space:nowrap;transition:background .2s,color .2s}.admin-tab:hover{background:rgba(0,0,0,.04);color:var(--ink)}.admin-tab.active{background:var(--violet,#7C5CFC);color:#fff;box-shadow:0 4px 12px rgba(124,92,252,.25)}:root[data-theme=soft-ios-dark] .admin-tab:hover{background:rgba(255,255,255,.06)}:root[data-theme=soft-ios-dark] .admin-tab.active{background:var(--violet,#7C5CFC)}.admin-tab-icon{font-size:15px;line-height:1}.admin-tab-label{font-size:13px}.admin-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:16px}.admin-intro{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:14px;gap:14px;margin-bottom:14px;padding:12px 15px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--panel,#fff) 88%,transparent)}.admin-intro>span{color:var(--ink);font-size:13px;font-weight:700;white-space:nowrap}.admin-intro>p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.admin-intro>i{padding:5px 9px;border-radius:999px;background:rgba(0,0,0,.045);color:var(--muted);font-size:11px;font-style:normal;white-space:nowrap}.admin-stat-card{display:flex;align-items:flex-start;gap:14px;padding:18px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.6);transition:transform .2s,box-shadow .2s}.admin-stat-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.06)}:root[data-theme=soft-ios-dark] .admin-stat-card{background:rgba(255,255,255,.03)}.admin-stat-icon{font-size:24px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:rgba(0,0,0,.03);flex-shrink:0}:root[data-theme=soft-ios-dark] .admin-stat-icon{background:rgba(255,255,255,.06)}.admin-stat-body{min-width:0}.admin-stat-value{font-size:26px;font-weight:700;line-height:1.1;color:var(--ink,#18181b)}.admin-stat-label{font-size:12px;font-weight:600;color:var(--muted);margin-top:2px}.admin-stat-sub{font-size:11px;color:var(--muted);opacity:.7;margin-top:1px}.admin-quick-actions{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px;margin-top:12px}.admin-quick-btn{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.55);cursor:pointer;font-size:13px;font-weight:500;color:var(--ink,#18181b);transition:transform .2s,background .2s;text-decoration:none}.admin-quick-btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.8)}:root[data-theme=soft-ios-dark] .admin-quick-btn{background:rgba(255,255,255,.03);color:var(--ink)}:root[data-theme=soft-ios-dark] .admin-quick-btn:hover{background:rgba(255,255,255,.06)}.admin-quick-btn span:first-child{font-size:18px}.admin-teacher-platform{display:grid;grid-column:1/-1;grid-gap:16px;gap:16px}.admin-teacher-panel{min-width:0;padding:20px}.admin-teacher-panel .panel-title p{max-width:720px;margin:7px 0 0;line-height:1.6}.admin-teacher-header-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}.admin-teacher-grant-toolbar{align-items:end;gap:18px}.admin-teacher-grant-reason{display:grid;flex:0 1 360px;min-width:220px;grid-gap:6px;gap:6px;color:var(--muted);font-size:11px;font-weight:650}.admin-teacher-grant-reason input{width:100%;min-height:40px;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:#fff;font:inherit}.admin-teacher-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.admin-teacher-form-actions label,.admin-teacher-form-grid label{display:grid;min-width:0;grid-gap:6px;gap:6px;color:var(--muted);font-size:11px;font-weight:650}.admin-teacher-form-actions input,.admin-teacher-form-grid input,.admin-teacher-form-grid select{width:100%;min-height:42px;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:#fff;font:inherit}.admin-teacher-capabilities{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:16px}.admin-teacher-capabilities>span,.admin-teacher-student-picker>span{width:100%;color:var(--muted);font-size:11px;font-weight:650}.admin-teacher-capabilities label,.admin-teacher-student-picker label{display:inline-flex;min-height:36px;align-items:center;gap:6px;color:var(--ink);font-size:11px}.admin-teacher-capabilities input,.admin-teacher-student-picker input{width:16px;height:16px;accent-color:#202124}.admin-teacher-student-picker{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:14px;padding:12px;border:1px dashed var(--line);border-radius:10px;background:rgba(0,0,0,.02)}.admin-teacher-student-picker small{color:var(--muted)}.admin-teacher-form-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-gap:12px;gap:12px;margin-top:16px}.admin-teacher-form-actions .primary-btn{min-height:42px;white-space:nowrap}.admin-teacher-list{display:grid;grid-gap:0;gap:0}.admin-teacher-row{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-top:1px solid var(--line)}.admin-teacher-row>div:first-child{display:grid;min-width:0;grid-gap:4px;gap:4px}.admin-teacher-row strong{overflow-wrap:anywhere;color:var(--ink);font-size:12px}.admin-teacher-row small{color:var(--muted);font-size:10px;overflow-wrap:anywhere}.admin-teacher-row-actions{display:flex;flex:0 0 auto;gap:6px}.admin-inline-error,.admin-inline-success{margin-top:12px;padding:10px 12px;border-radius:9px;font-size:11px;line-height:1.5}.admin-inline-error{color:#a5221a;background:rgba(220,38,38,.08)}.admin-inline-success{color:#0b7a45;background:rgba(16,185,129,.08)}.admin-search{max-width:180px;min-height:38px!important;font-size:13px}.admin-user-toolbar .actions{flex:1 1 auto;justify-content:flex-end;min-width:0}.admin-user-toolbar .admin-search{width:180px;flex:0 1 180px}.admin-user-toolbar .admin-filter-select{flex:0 0 128px}.admin-role-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:600}.admin-role-badge.r-super_admin{background:rgba(124,92,252,.12);color:var(--violet)}.admin-role-badge.r-teacher{background:rgba(94,201,163,.12);color:#0d9b6e}.admin-role-badge.r-staff{background:rgba(245,158,11,.12);color:#b45309}.admin-role-badge.r-normal_user{background:rgba(0,0,0,.06);color:var(--muted)}.admin-membership-badge{display:inline-flex;align-items:center;gap:5px;min-height:22px;padding:2px 8px;border:1px solid rgba(124,92,252,.16);border-radius:999px;background:rgba(124,92,252,.075);color:#6950c9;font-size:10px;font-weight:700;white-space:nowrap}.admin-membership-badge small{color:currentColor;font-size:8px;font-weight:500;opacity:.7}.admin-membership-badge.is-expired{border-color:rgba(239,68,68,.16);background:rgba(239,68,68,.06);color:#b42318}:root[data-theme=soft-ios-dark] .admin-membership-badge{color:#b7a8ff;background:rgba(124,92,252,.12)}:root[data-theme=soft-ios-dark] .admin-membership-badge.is-expired{color:#ff9b95;background:rgba(239,68,68,.1)}.admin-action-cell{display:flex;gap:4px;flex-wrap:wrap}.admin-edit-row td{padding:0!important;border-bottom:2px solid var(--violet,#7c5cfc)!important}.admin-edit-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));align-items:flex-start;grid-gap:24px;gap:24px;padding:16px 12px;background:rgba(124,92,252,.03);border-radius:0 0 12px 12px}:root[data-theme=soft-ios-dark] .admin-edit-panel{background:rgba(124,92,252,.06)}.admin-edit-section{min-width:0}.admin-edit-title{font-size:11px;font-weight:700;color:var(--muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.admin-role-btns{display:flex;gap:6px}.admin-role-btn{padding:4px 14px;border-radius:8px;border:1px solid var(--line);background:var(--paper,#fff);cursor:pointer;font-size:12px;font-weight:500;transition:all .15s}.admin-role-btn:hover{border-color:var(--violet);color:var(--violet)}.admin-role-btn.active{background:var(--violet,#7C5CFC);color:#fff;border-color:var(--violet)}.admin-pw-form{display:flex;gap:8px;align-items:center}.admin-pw-form .small-btn{white-space:nowrap}.admin-membership-form{display:grid;align-content:start;grid-gap:7px;gap:7px;min-width:170px}.admin-membership-form small{color:var(--muted);font-size:9px;line-height:1.45}.admin-create-form{margin-bottom:16px;padding:16px;border-radius:14px;border:1px solid var(--line);background:rgba(124,92,252,.03)}:root[data-theme=soft-ios-dark] .admin-create-form{background:rgba(124,92,252,.06)}.admin-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:8px;gap:8px;align-items:end}.admin-recharge-form{display:flex;flex-direction:column;gap:8px;margin-top:12px}.admin-release-layout{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);grid-column:1/-1}.admin-release-form,.admin-release-list{display:flex;flex-direction:column;gap:14px}.admin-release-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.admin-release-file,.admin-release-grid label,.admin-release-notes{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:650;color:var(--muted)}.admin-release-file{padding:16px;border:1px dashed var(--line);border-radius:14px;background:rgba(124,92,252,.035)}.admin-release-file input{color:var(--ink)}.admin-release-force{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--ink)}.admin-release-force input{width:16px;height:16px;accent-color:var(--violet)}.admin-release-progress{position:relative;height:9px;border-radius:999px;overflow:hidden;background:rgba(124,92,252,.1)}.admin-release-progress i{display:block;height:100%;border-radius:inherit;background:var(--violet);transition:width .2s ease}.admin-release-progress span{position:absolute;right:0;top:12px;font-size:11px;color:var(--muted)}.admin-release-list{max-height:660px;overflow:auto;padding-right:2px}.admin-release-item{display:grid;grid-gap:8px;gap:8px;padding:15px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.5)}.admin-release-item.is-current{border-color:rgba(124,92,252,.45);box-shadow:inset 3px 0 0 var(--violet)}.admin-release-item-head{display:flex;align-items:center;gap:8px}.admin-release-item-head strong{font-size:16px;color:var(--ink)}.admin-release-item-head b,.admin-release-item-head span{padding:2px 7px;border-radius:999px;background:rgba(124,92,252,.1);color:var(--violet);font-size:10px}.admin-release-item-head b{background:rgba(239,68,68,.1);color:#dc2626}.admin-release-item p{margin:0;color:var(--ink);font-size:12px;line-height:1.6}.admin-release-item small{color:var(--muted);line-height:1.5}.admin-release-item code{overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:10px}.admin-empty-state{padding:42px 16px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px}.admin-points-set-form,.admin-user-info-form{display:grid;grid-gap:7px;gap:7px;min-width:170px}.admin-payment-orders code{display:block;max-width:168px;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.admin-payment-orders td>small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.admin-payment-orders table{min-width:1260px}.admin-order-review{min-width:220px}.admin-order-review-content{display:grid;grid-gap:8px;gap:8px}.admin-order-review-meta{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:4px 7px;color:var(--muted);font-size:10px;line-height:1.45}.admin-order-review-meta code{max-width:210px;flex:1 1 100%}.admin-order-review-meta small{flex:1 1 100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-order-review-badge{padding:2px 6px;border-radius:999px;background:rgba(37,99,235,.08);color:#2563eb;font-size:9px;font-weight:700}.admin-order-review-actions{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.admin-order-proof,.admin-order-review-btn{display:inline-flex;min-height:27px;align-items:center;justify-content:center;padding:4px 9px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.7);color:var(--ink);font-size:10px;font-weight:650;line-height:1;white-space:nowrap;transition:border-color .15s ease,background .15s ease,opacity .15s ease}.admin-order-proof:hover{border-color:rgba(37,99,235,.3);background:rgba(37,99,235,.06);color:#2563eb}.admin-order-review-btn.is-approve{border-color:rgba(18,138,75,.22);color:#128a4b}.admin-order-review-btn.is-approve:hover:not(:disabled){background:rgba(18,138,75,.08)}.admin-order-review-btn.is-reject{border-color:rgba(220,38,38,.2);color:#b42323}.admin-order-review-btn.is-reject:hover:not(:disabled){background:rgba(220,38,38,.07)}.admin-order-review-btn:disabled{cursor:wait;opacity:.48}.admin-order-review-empty{color:var(--muted)}:root[data-theme=soft-ios-dark] .admin-order-review-badge{background:rgba(96,165,250,.13);color:#93c5fd}:root[data-theme=soft-ios-dark] .admin-order-proof,:root[data-theme=soft-ios-dark] .admin-order-review-btn{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.05)}:root[data-theme=soft-ios-dark] .admin-order-review-btn.is-approve{color:#5ee0a0}:root[data-theme=soft-ios-dark] .admin-order-review-btn.is-reject{color:#fca5a5}.admin-order-status{display:inline-flex;min-height:24px;align-items:center;padding:2px 8px;border-radius:999px;background:rgba(113,113,122,.1);color:var(--muted);font-size:10px;font-weight:700;white-space:nowrap}.admin-order-status.is-fulfilled{background:rgba(18,138,75,.1);color:#128a4b}.admin-order-status.is-creating,.admin-order-status.is-fulfilling,.admin-order-status.is-pending,.admin-order-status.is-under-review{background:rgba(180,83,9,.1);color:#a35b0b}.admin-order-status.is-expired,.admin-order-status.is-failed,.admin-order-status.is-rejected{background:rgba(220,38,38,.09);color:#b42323}.admin-growth-badge{display:inline-flex;align-items:center;gap:5px;min-height:22px;padding:2px 8px;border:1px solid rgba(64,72,88,.12);border-radius:999px;color:#505968;background:#f5f6f8;font-size:11px;font-weight:700}.admin-growth-badge small{color:currentColor;font-size:9px;font-weight:500;opacity:.66}.admin-growth-badge.is-resonance{color:#39765f;background:#edf8f3}.admin-growth-badge.is-transition{color:#785f16;background:#fff7d9}.admin-growth-badge.is-star-ring{color:#5a4c91;background:#f3efff}.user-mgmt{overflow-x:auto}.user-mgmt table{min-width:1120px}.admin-filter-select{width:128px;min-height:38px!important;font-size:12px}@media (max-width:760px){.admin-payment-orders{overflow:visible}.admin-payment-orders table,.admin-payment-orders tbody,.admin-payment-orders td,.admin-payment-orders tr{display:block;width:100%;min-width:0}.admin-payment-orders table{min-width:0}.admin-payment-orders thead{display:none}.admin-payment-orders tbody{display:grid;grid-gap:10px;gap:10px}.admin-payment-orders tr{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.42)}.admin-payment-orders td{display:grid;grid-template-columns:74px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:start;padding:9px 11px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.admin-payment-orders td:last-child{border-bottom:0}.admin-payment-orders td:before{content:attr(data-label);color:var(--muted);font-size:9px;font-weight:650;line-height:1.6}.admin-payment-orders td[colspan]{display:block;padding:0;border:0}.admin-payment-orders td[colspan]:before{display:none}.admin-payment-orders code{max-width:100%}.admin-order-review-content{min-width:0}.admin-order-review-meta code{max-width:100%}:root[data-theme=soft-ios-dark] .admin-payment-orders tr{background:rgba(255,255,255,.035)}}.admin-feedback-layout{grid-column:1/-1}.admin-feedback-panel{grid-column:1/-1;min-width:0}.admin-feedback-toolbar>div:first-child{flex:0 0 auto}.admin-feedback-toolbar .actions{flex:1 1 auto;min-width:0;justify-content:flex-end;flex-wrap:wrap}.admin-feedback-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;margin:12px 0 16px}.admin-feedback-summary button{display:flex;min-height:58px;align-items:center;justify-content:space-between;padding:10px 13px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.48);color:var(--ink);cursor:pointer;transition:border-color .15s ease,background .15s ease}.admin-feedback-summary button.is-active,.admin-feedback-summary button:hover{border-color:rgba(124,92,252,.48);background:rgba(124,92,252,.055)}.admin-feedback-summary strong{font-size:20px}.admin-feedback-summary span{color:var(--muted);font-size:10px}.admin-feedback-list{display:grid;grid-gap:8px;gap:8px}.admin-feedback-item{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.48)}.admin-feedback-item.priority-high{border-left:3px solid #d79a2d}.admin-feedback-item.priority-urgent{border-left:3px solid #d85151}.admin-feedback-head{display:grid;width:100%;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;grid-gap:12px;gap:12px;padding:13px 14px;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.admin-feedback-head:hover{background:rgba(124,92,252,.025)}.admin-feedback-main{display:grid;grid-gap:3px;gap:3px;min-width:0}.admin-feedback-main strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.admin-feedback-main small,.admin-feedback-time{color:var(--muted);font-size:10px}.admin-feedback-time{white-space:nowrap}.admin-feedback-chevron{display:grid;width:22px;height:22px;place-items:center;border-radius:7px;background:rgba(64,72,88,.06);color:var(--muted);font-size:14px}.feedback-status{display:inline-flex;min-width:48px;justify-content:center;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:700;white-space:nowrap}.feedback-status.status-open{background:rgba(239,68,68,.08);color:#b42318}.feedback-status.status-in_progress{background:rgba(245,158,11,.1);color:#8c6000}.feedback-status.status-resolved{background:rgba(16,185,129,.1);color:#087a56}.feedback-status.status-closed{background:rgba(100,116,139,.1);color:#556070}.admin-feedback-detail{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);grid-gap:16px;gap:16px;padding:0 14px 15px;border-top:1px solid var(--line)}.admin-feedback-copy{min-width:0;padding-top:14px}.admin-feedback-copy p{margin:12px 0;color:var(--ink);font-size:12px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.admin-feedback-copy>a{color:var(--violet);font-size:10px;text-decoration:none}.admin-feedback-meta{display:flex;flex-wrap:wrap;gap:5px}.admin-feedback-meta span{padding:3px 7px;border-radius:999px;background:rgba(64,72,88,.06);color:var(--muted);font-size:9px}.admin-feedback-images{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:7px;gap:7px;margin-top:12px}.admin-feedback-images a{overflow:hidden;aspect-ratio:1;border:1px solid var(--line);border-radius:9px;background:rgba(64,72,88,.05)}.admin-feedback-images img{width:100%;height:100%;object-fit:cover}.admin-feedback-form{display:grid;align-content:start;grid-gap:9px;gap:9px;padding-top:14px}.admin-feedback-controls label,.admin-feedback-form>label{display:grid;grid-gap:5px;gap:5px;color:var(--muted);font-size:10px}.admin-feedback-controls{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.admin-feedback-form .input{min-height:35px;font-size:11px}.admin-feedback-form .textarea{min-height:88px;font-size:11px;resize:vertical}.admin-feedback-form-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-feedback-form-foot small{color:var(--muted);font-size:9px}:root[data-theme=soft-ios-dark] .admin-feedback-item,:root[data-theme=soft-ios-dark] .admin-feedback-summary button{background:rgba(255,255,255,.025)}@media (max-width:900px){.admin-feedback-detail{grid-template-columns:1fr}.admin-feedback-images{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:620px){.admin-feedback-toolbar{align-items:stretch;flex-direction:column}.admin-feedback-toolbar .actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%}.admin-feedback-toolbar .admin-search{grid-column:1/-1;width:100%;max-width:none}.admin-feedback-toolbar .admin-filter-select{width:100%;max-width:none}.admin-feedback-toolbar .ghost-btn{grid-column:1/-1;width:100%}.admin-feedback-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-feedback-head{grid-template-columns:auto minmax(0,1fr) auto;gap:8px;padding:11px}.admin-feedback-time{display:none}.admin-feedback-detail{padding:0 11px 12px}.admin-feedback-controls{grid-template-columns:1fr}.admin-feedback-form-foot{align-items:stretch;flex-direction:column}.admin-feedback-form-foot .primary-btn{width:100%;justify-content:center}}.pet-admin-layout{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);grid-gap:14px;gap:14px}.pet-admin-layout>.panel{min-width:0}.pet-admin-notice{grid-column:1/-1;margin:0}.pet-admin-user{grid-column:1/-1}.pet-runtime-pill{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border:1px solid;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.02em}.pet-runtime-pill.is-on{color:#087a56;background:rgba(16,185,129,.08)}.pet-runtime-pill.is-off{color:#b42318;background:rgba(239,68,68,.07)}.pet-runtime-form{display:grid;grid-gap:11px;gap:11px;margin-top:14px}.pet-admin-card>label,.pet-runtime-form>label:not(.pet-switch-row),.pet-user-picker{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:11px;font-weight:650}.pet-switch-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.45)}.pet-switch-row>span{display:grid;grid-gap:2px;gap:2px;min-width:0}.pet-switch-row strong{color:var(--ink);font-size:12px}.pet-switch-row small{color:var(--muted);font-size:10px;line-height:1.45}.pet-switch-row input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:36px;height:21px;flex:0 0 auto;padding:2px;border:1px solid rgba(79,84,92,.24);border-radius:999px;background:#d7d8dc;cursor:pointer;transition:background .16s ease,border-color .16s ease}.pet-switch-row input:before{content:"";display:block;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.22);transition:transform .16s ease}.pet-switch-row input:checked{border-color:var(--violet);background:var(--violet)}.pet-switch-row input:checked:before{transform:translateX(15px)}.pet-admin-stat-grid,.pet-wallet-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:14px}.pet-admin-stat-grid>div,.pet-wallet-grid>div{display:grid;grid-gap:3px;gap:3px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.48)}.pet-admin-stat-grid strong,.pet-wallet-grid strong{overflow:hidden;color:var(--ink);font-size:20px;line-height:1.1;text-overflow:ellipsis}.pet-admin-stat-grid span,.pet-wallet-grid span{color:var(--muted);font-size:10px;white-space:nowrap}.pet-admin-safety-note{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:rgba(124,92,252,.055);color:var(--muted);font-size:10px;line-height:1.65}.pet-user-picker{max-width:520px;margin-top:12px}.pet-wallet-grid{margin:16px 0 4px}.pet-ticket-form{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;align-items:end;grid-gap:9px;gap:9px;margin-top:10px;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:rgba(124,92,252,.035)}.pet-ticket-form>div{display:grid;grid-gap:2px;gap:2px;align-self:center}.pet-ticket-form strong{color:var(--ink);font-size:11px}.pet-ticket-form small{color:var(--muted);font-size:9px;line-height:1.45}.pet-ticket-form .input{min-height:33px;font-size:11px}.pet-ticket-form .small-btn{min-height:33px;font-size:10px}.pet-admin-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}.pet-admin-section-head>div{display:grid;grid-gap:2px;gap:2px}.pet-admin-section-head strong{color:var(--ink);font-size:13px}.pet-admin-section-head small{color:var(--muted);font-size:10px}.pet-admin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:9px;gap:9px;margin-top:12px}.pet-admin-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:9px 8px;gap:9px 8px;min-width:0;padding:11px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.5)}.pet-admin-card-head{grid-column:1/-1;display:flex;align-items:center;gap:9px;min-width:0}.pet-admin-card-head>div{display:grid;grid-gap:1px;gap:1px;min-width:0}.pet-admin-card-head strong{color:var(--ink);font-size:12px;line-height:1.25}.pet-admin-card-head small,.pet-admin-card-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pet-admin-card-head small{color:var(--muted);font-size:9px}.pet-admin-glyph{display:grid;place-items:center;width:29px;height:29px;flex:0 0 auto;border-radius:9px;background:rgba(124,92,252,.09);color:var(--violet);font-size:11px;font-weight:750}.pet-admin-card.tier-hang .pet-admin-glyph{background:rgba(239,68,68,.08);color:#b42318}.pet-admin-card.tier-top .pet-admin-glyph{background:rgba(245,158,11,.1);color:#9a6700}.pet-admin-card.tier-elite .pet-admin-glyph{background:rgba(124,92,252,.09);color:var(--violet)}.pet-admin-card.tier-npc .pet-admin-glyph{background:rgba(59,130,246,.08);color:#2563eb}.pet-admin-card>label{min-width:0}.pet-admin-card .input{width:100%;min-height:32px;padding:5px 8px;font-size:11px}.pet-admin-card .small-btn{align-self:end;min-height:32px;padding:0 9px;font-size:10px}.pet-history-list{display:grid;grid-gap:7px;gap:7px;margin-top:11px}.pet-history-row{display:grid;grid-template-columns:minmax(120px,.45fr) minmax(0,1.4fr) auto;align-items:center;grid-gap:12px;gap:12px;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.42)}.pet-history-row>div{display:grid;grid-gap:2px;gap:2px}.pet-history-row strong{color:var(--ink);font-size:11px}.pet-history-row small{color:var(--muted);font-size:9px}.pet-history-row>span{overflow:hidden;color:var(--ink);font-size:10px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.pet-history-row>b{padding:3px 7px;border-radius:999px;background:rgba(16,185,129,.08);color:#087a56;font-size:9px;white-space:nowrap}.admin-tab-icon svg{display:block;width:15px;height:15px}.admin-stat-icon svg{display:block;width:22px;height:22px}.admin-quick-btn svg{display:block;width:17px;height:17px;flex:0 0 auto}:root[data-theme=soft-ios-dark] .pet-admin-card,:root[data-theme=soft-ios-dark] .pet-admin-stat-grid>div,:root[data-theme=soft-ios-dark] .pet-history-row,:root[data-theme=soft-ios-dark] .pet-switch-row,:root[data-theme=soft-ios-dark] .pet-ticket-form,:root[data-theme=soft-ios-dark] .pet-wallet-grid>div{background:rgba(255,255,255,.025)}:root[data-theme=soft-ios-dark] .pet-switch-row input{background:#4a4b50}:root[data-theme=soft-ios-dark] .pet-runtime-pill.is-on{color:#48d6a7;background:rgba(16,185,129,.12)}:root[data-theme=soft-ios-dark] .pet-runtime-pill.is-off{color:#ff8c86;background:rgba(239,68,68,.11)}:root[data-theme=soft-ios-dark] .pet-history-row>b{color:#48d6a7;background:rgba(16,185,129,.12)}.admin-code-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px;margin-bottom:16px}.admin-code-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}.admin-code-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.55);gap:10px}.admin-code-item.used{opacity:.55}:root[data-theme=soft-ios-dark] .admin-code-item{background:rgba(255,255,255,.03)}.admin-code-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}.admin-code-text{font-family:SF Mono,Fira Code,Consolas,monospace;font-size:13px;font-weight:600;padding:2px 8px;border-radius:6px;background:rgba(0,0,0,.04)}:root[data-theme=soft-ios-dark] .admin-code-text{background:rgba(255,255,255,.08)}.admin-code-pts{font-size:12px;font-weight:600;color:#b45309}.admin-code-used{font-size:11px;color:var(--muted)}.admin-code-unused{font-size:11px;color:#059669;font-weight:500}.admin-tx-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.admin-tx-badge.gain{background:rgba(16,185,129,.1);color:#059669}.admin-tx-badge.spend{background:rgba(239,68,68,.08);color:#dc2626}:root[data-theme=soft-ios-dark] .admin-tx-badge.gain{background:rgba(16,185,129,.15);color:#34d399}:root[data-theme=soft-ios-dark] .admin-tx-badge.spend{background:rgba(239,68,68,.12);color:#f87171}.admin-pagination{display:flex;align-items:center;gap:4px}.admin-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:60px 0;font-size:14px;color:var(--muted)}.admin-loading-dot{width:8px;height:8px;border-radius:4px;background:var(--violet);animation:pulse 1.5s infinite}@media (max-width:1280px){.admin-tabs{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(2,40px);height:97px}.admin-tabs-wrap{height:97px}.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.admin-stat-grid{grid-template-columns:repeat(2,1fr)}.admin-edit-panel,.admin-form-grid,.admin-quick-actions,.admin-release-grid,.admin-release-layout{grid-template-columns:1fr}.admin-edit-panel{gap:14px}.admin-tabs{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,40px);padding:4px;gap:2px}.admin-tabs,.admin-tabs-wrap{height:132px}.admin-tab{height:40px;padding:0 6px;font-size:12px}.admin-tab-icon{font-size:14px}.admin-intro{grid-template-columns:1fr auto;gap:7px 10px}.admin-intro>p{grid-column:1/-1;grid-row:2}.admin-user-toolbar{flex-direction:column;align-items:stretch}.admin-user-toolbar .actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%}.admin-user-toolbar .admin-search{grid-column:1/-1;width:100%;max-width:none}.admin-user-toolbar .admin-filter-select{width:100%;max-width:none}.admin-user-toolbar .ghost-btn,.admin-user-toolbar .primary-btn{width:100%}.pet-admin-layout{grid-template-columns:1fr}.pet-admin-notice,.pet-admin-user{grid-column:auto}.pet-admin-grid,.pet-admin-stat-grid,.pet-wallet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pet-ticket-form{grid-template-columns:1fr 110px auto}.pet-history-row{grid-template-columns:minmax(0,1fr) auto}.pet-history-row>span{grid-column:1/-1;grid-row:2;white-space:normal}}@media (max-width:430px){.pet-admin-grid{grid-template-columns:1fr}.pet-admin-stat-grid>div,.pet-wallet-grid>div{padding:10px}.pet-admin-stat-grid strong,.pet-wallet-grid strong{font-size:17px}.pet-admin-section-head{align-items:flex-start}.pet-ticket-form{grid-template-columns:1fr;align-items:stretch}}.app-prefs-row{display:flex;gap:16px;flex-wrap:wrap}.app-prefs-item{display:flex;flex-direction:column;gap:6px;min-width:140px}.app-prefs-item label{font-size:12px;font-weight:600;color:var(--muted)}.app-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px!important;cursor:pointer}.app-field-editor-modal{max-width:720px;width:95%}.app-field-list{gap:10px;margin-bottom:16px}.app-field-list,.app-field-row{display:flex;flex-direction:column}.app-field-row{padding:12px 14px;border-radius:10px;border:1px solid var(--border-color,#e4e4e7);background:var(--card-bg,#fff);gap:8px}.app-field-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.app-field-label{flex:1 1;min-width:100px;font-weight:600!important}.app-field-type{width:100px;flex-shrink:0}.app-field-required{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted,#888);cursor:pointer;white-space:nowrap}.app-field-required input[type=checkbox]{accent-color:#7c3aed}.app-field-arrows{display:flex;gap:2px}.app-field-move{padding:2px 6px!important;font-size:10px!important;min-width:0!important}.app-field-move:disabled{opacity:.3;cursor:not-allowed}.app-field-options,.app-field-placeholder{font-size:12px!important;color:var(--muted,#888)}.app-field-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:8px;border-top:1px solid var(--border-color,#eee)}.site-auth-page{min-height:100dvh;display:grid;place-items:center;padding:78px 20px 40px;background:#f6f6f6;color:#202124}.site-auth-home{position:fixed;top:18px;left:20px;display:inline-flex;align-items:center;gap:9px;color:#202124;text-decoration:none;font-size:14px}.site-auth-home-logo,.site-auth-mark{display:block;width:34px;height:34px;border-radius:10px;object-fit:cover}.site-auth-card{width:min(468px,100%);padding:42px 44px 34px;border:1px solid #dededf;border-radius:24px;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.09);text-align:center}.site-auth-mark{width:46px;height:46px;margin:0 auto 20px;border-radius:14px}.site-auth-card h1{margin:0;color:#191a1c;font-size:30px;font-weight:620;letter-spacing:-.035em}.site-auth-card>p{max-width:330px;margin:12px auto 0;color:#67696e;font-size:13px;line-height:1.65}.site-auth-form-wrap{margin-top:28px;text-align:left}.site-auth-tabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:3px;gap:3px;padding:3px;border-radius:11px;background:#f1f1f2}.site-auth-tabs button{height:36px;border:0;border-radius:9px;background:transparent;color:#77797e;font-size:12px;cursor:pointer}.site-auth-tabs button.active{background:#fff;color:#202124;box-shadow:0 1px 5px rgba(0,0,0,.08)}.site-auth-form{display:grid;grid-gap:14px;gap:14px;margin-top:18px}.site-auth-form>label:not(.site-auth-remember){display:grid;grid-gap:7px;gap:7px}.site-auth-form label>span{color:#5f6166;font-size:11px}.site-auth-form input:not([type=checkbox]){width:100%;height:48px;padding:0 14px;border:1px solid #d8d8da;border-radius:12px;outline:0;background:#fff;color:#202124;font-size:13px}.site-auth-form input:not([type=checkbox]):focus{border-color:#202124;box-shadow:0 0 0 3px rgba(0,0,0,.06)}.site-auth-remember{display:inline-flex;align-items:center;gap:8px;color:#6f7176;font-size:11px}.site-auth-remember input{accent-color:#202124}.site-auth-error{padding:10px 12px;border:1px solid #f0caca;border-radius:10px;background:#fff5f5;color:#a63c3c;font-size:11px;line-height:1.5}.site-auth-submit{width:100%;height:48px;border:1px solid #202124;border-radius:999px;background:#202124;color:#fff;font-size:13px;font-weight:650;cursor:pointer}.site-auth-submit:hover{background:#0f1011}.site-auth-submit:disabled{opacity:.55;cursor:wait}.site-auth-terms{margin:18px 0 0;color:#9a9ba0;font-size:9px;line-height:1.55;text-align:center}.site-auth-help{display:block;width:-moz-fit-content;width:fit-content;margin:9px auto 0;color:#6c6e73;font-size:10px;text-decoration:none}.site-auth-help:hover{color:#202124;text-decoration:underline;text-underline-offset:3px}.site-state-page{min-height:100dvh;display:grid;place-items:center;padding:24px;background:#f6f6f6;color:#202124}.site-state-card{width:min(520px,100%);padding:46px;border:1px solid #dededf;border-radius:24px;background:#fff;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.08)}.site-state-mark{display:block;width:50px;height:50px;margin:0 auto 18px;border-radius:15px;object-fit:cover}.site-state-kicker{margin:0;color:#888a8f;font-size:11px}.site-state-card h1{margin:8px 0 12px;font-size:26px}.site-state-card>p:not(.site-state-kicker){margin:0 auto;max-width:400px;color:#686a6f;font-size:13px;line-height:1.7}.site-state-actions{display:flex;justify-content:center;gap:9px;margin-top:24px}.site-state-actions .primary-btn{border-color:#202124;background:#202124;color:#fff;box-shadow:none}.site-state-actions .primary-btn:hover{background:#0f1011}.site-state-actions .ghost-btn{border-color:#dededf;background:#fff;color:#333438;box-shadow:none}.site-loading-card{overflow:hidden}.site-loading-line{display:block;width:min(240px,80%);height:3px;margin:26px auto 0;overflow:hidden;border-radius:999px;background:#eeeeef}.site-loading-line i{display:block;width:42%;height:100%;border-radius:inherit;background:#202124;animation:site-loading 1.1s ease-in-out infinite alternate}@keyframes site-loading{0%{transform:translateX(-10%)}to{transform:translateX(150%)}}.desktop-auth-card{width:min(480px,100%)}.desktop-auth-user{display:flex;align-items:center;gap:11px;margin-top:24px;padding:12px 14px;border:1px solid #e5e5e6;border-radius:12px;background:#f7f7f8;text-align:left}.desktop-auth-avatar{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:50%;background:#202124;color:#fff;font-size:12px;font-weight:680}.desktop-auth-user>span:last-child{display:flex;min-width:0;flex-direction:column}.desktop-auth-user strong{overflow:hidden;color:#202124;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.desktop-auth-user small{margin-top:3px;color:#8a8c91;font-size:9px}.desktop-auth-code{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:9px;padding:12px 14px;border:1px solid #e5e5e6;border-radius:12px;background:#fff}.desktop-auth-code span{color:#8a8c91;font-size:10px}.desktop-auth-code strong{overflow:hidden;color:#202124;font:650 16px/1.2 SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap}.desktop-auth-actions{margin-top:16px}.desktop-auth-actions button:disabled{opacity:.55;cursor:wait}.desktop-auth-hint{margin-top:16px!important;color:#92949a!important;font-size:9px!important;line-height:1.55!important}.shell.app.admin-workspace{--ink:#202124;--muted:#6f7176;--faint:#97999e;--line:rgba(0,0,0,.09);--line-soft:rgba(0,0,0,.055);--violet:#202124;--blue:#202124;width:100%!important;max-width:none!important;min-height:100dvh;display:grid!important;grid-template-columns:228px minmax(0,1fr)!important;grid-gap:0!important;gap:0!important;padding:0!important;background:#fff}.shell.app.admin-workspace.with-right-panel{grid-template-columns:228px minmax(0,1fr) 308px!important}.admin-rail{position:-webkit-sticky;position:sticky;z-index:90;top:0;display:flex;height:100dvh;min-width:0;flex-direction:column;padding:10px 9px;overflow:hidden;border-right:1px solid #e8e8e9;background:#f7f7f8}.admin-brand{display:flex;height:48px;align-items:center;gap:10px;padding:0 9px;border-radius:11px;color:#202124;text-decoration:none}.admin-brand:hover{background:#ececed}.admin-brand-mark{display:grid;width:31px;height:31px;flex:0 0 31px;place-items:center;border-radius:9px;background:#202124;color:#fff;font-size:12px;font-weight:750}.admin-brand>span:last-child{display:flex;min-width:0;flex-direction:column}.admin-brand strong{font-size:13px;font-weight:680}.admin-brand small{margin-top:2px;color:#8b8d92;font-size:9px}.admin-rail-context{display:flex;flex-direction:column;margin:12px 8px 8px;padding:11px 10px;border:1px solid #e5e5e6;border-radius:11px;background:#fff}.admin-rail-context span{font-size:11px;font-weight:650}.admin-rail-context small{margin-top:3px;color:#96989d;font-size:8px}.admin-nav{display:grid;min-height:0;grid-gap:2px;gap:2px;overflow:hidden auto;padding:2px 0 12px}.admin-nav a,.admin-rail-footer a,.admin-rail-footer button{display:flex;width:100%;height:40px;align-items:center;gap:11px;padding:0 11px;overflow:hidden;border:0;border-radius:10px;background:transparent;color:#505257;font-size:11px;text-align:left;text-decoration:none;white-space:nowrap;cursor:pointer}.admin-nav a:hover,.admin-rail-footer a:hover,.admin-rail-footer button:hover{background:#ececed;color:#202124}.admin-nav a.active,.admin-rail-footer .active{background:#e9e9ea;color:#202124;font-weight:650}.admin-nav-icon{display:grid;width:20px;height:20px;flex:0 0 20px;place-items:center}.admin-nav-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.admin-rail-footer{display:grid;grid-gap:2px;gap:2px;margin-top:auto;padding-top:7px;border-top:1px solid #e5e5e6}.admin-workspace .main{width:100%!important;min-width:0!important;margin:0!important;padding:18px 24px 54px!important;background:#fff}.admin-workspace .topbar.admin-topbar{position:-webkit-sticky;position:sticky;z-index:30;top:0;min-height:60px!important;height:auto!important;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:-18px -24px 18px!important;padding:10px 24px!important;border:0!important;border-bottom:1px solid #ededee!important;border-radius:0!important;background:rgba(255,255,255,.93)!important;box-shadow:none!important;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.admin-heading{min-width:0}.admin-heading>span{display:block;margin-bottom:2px;color:#92949a;font-size:9px}.admin-workspace .admin-heading h1{margin:0;overflow:hidden;color:#202124;font-size:17px!important;font-weight:650;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.admin-workspace .topbar .actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}.admin-workspace .primary-btn{border-color:#202124!important;background:#202124!important;color:#fff!important;box-shadow:none!important}.admin-workspace .ghost-btn,.admin-workspace .small-btn{border-color:#dededf!important;background:#fff!important;color:#333438!important;box-shadow:none!important}.admin-workspace .glass,.admin-workspace .panel,.admin-workspace .proto-workspace,.admin-workspace .rp-card{border-color:#e7e7e8!important;background:#fff!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.admin-workspace .panel,.admin-workspace .proto-workspace{border-radius:18px!important}.admin-workspace .right-panel{position:-webkit-sticky;position:sticky;top:0;height:100dvh;padding:18px 16px;overflow:hidden auto;border-left:1px solid #ededee;background:#fafafa}.admin-control-workspace .admin-intro{margin-bottom:16px}.admin-session-chip{display:flex;min-width:0;align-items:center;gap:9px;padding:6px 9px 6px 7px;border:1px solid #e4e4e5;border-radius:12px;background:#fff}.admin-session-chip>span{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border-radius:9px;color:#fff;background:#202124;font-size:11px;font-weight:700}.admin-session-chip>div{display:flex;min-width:0;flex-direction:column}.admin-session-chip strong{max-width:150px;overflow:hidden;color:#202124;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.admin-session-chip small{margin-top:1px;color:#8b8d92;font-size:8px}@media (max-width:1120px){.shell.app.admin-workspace,.shell.app.admin-workspace.with-right-panel{grid-template-columns:68px minmax(0,1fr)!important}.admin-brand{justify-content:center;padding:0}.admin-brand>span:last-child,.admin-nav a>span:last-child,.admin-rail-context,.admin-rail-footer a>span:last-child,.admin-rail-footer button>span:last-child{display:none}.admin-nav a,.admin-rail-footer a,.admin-rail-footer button{justify-content:center;padding:0}.admin-workspace .right-panel{display:none}}@media (max-width:760px){.site-auth-page{padding:68px 0 0;background:#fff}.site-auth-home{top:14px;left:14px}.site-auth-card{min-height:calc(100dvh - 68px);padding:34px 22px;border:0;border-radius:0;box-shadow:none}.site-state-card{padding:34px 24px}.site-state-actions{align-items:stretch;flex-direction:column}.shell.app.admin-workspace,.shell.app.admin-workspace.with-right-panel{display:block!important;padding-bottom:68px!important}.admin-rail{position:fixed;inset:auto 0 0;width:100%;height:64px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));flex-direction:row;border:0;border-top:1px solid #e5e5e6;background:rgba(248,248,248,.96);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.admin-brand,.admin-rail-context,.admin-rail-footer{display:none}.admin-nav{display:flex;width:100%;gap:2px;padding:0;overflow:auto hidden}.admin-nav a{min-width:58px;height:50px;flex:1 0 58px;flex-direction:column;justify-content:center;gap:2px;padding:0 6px;font-size:8px}.admin-nav a>span:last-child{display:block}.admin-nav-icon{width:19px;height:19px}.admin-nav-icon svg{width:17px;height:17px}.admin-workspace .main{grid-template-columns:minmax(0,1fr)!important;padding:12px 12px 30px!important}.admin-workspace .content-grid{grid-template-columns:minmax(0,1fr)!important;min-width:0}.admin-workspace .panel,.admin-workspace .user-mgmt{min-width:0;max-width:100%}.admin-workspace .topbar.admin-topbar{margin:-12px -12px 14px!important;padding:9px 12px!important}.admin-workspace .topbar .actions{max-width:62%;overflow:auto hidden}.admin-teacher-header-actions{align-items:stretch;flex-direction:column}.admin-teacher-grant-toolbar{align-items:stretch}.admin-teacher-grant-reason{flex-basis:auto;min-width:0}.admin-teacher-form-actions,.admin-teacher-form-grid{grid-template-columns:1fr}.admin-teacher-form-actions .primary-btn{width:100%}.admin-teacher-panel{padding:15px}.admin-teacher-row{align-items:flex-start;flex-direction:column}.admin-teacher-row .small-btn{min-height:44px}}.admin-brand-mark{overflow:hidden;padding:0;background:transparent}.admin-brand-mark img{display:block;width:31px;height:31px}.admin-workspace .dash-qa,.admin-workspace .dash-stat,.admin-workspace .reminder-row,.admin-workspace .rp-week-note,.admin-workspace .staff-quick-card{border-color:#e7e7e8;background:#fff;box-shadow:none}.admin-workspace .dash-stat,.admin-workspace .staff-quick-card{border-radius:16px}.admin-workspace .dash-qa:hover,.admin-workspace .dash-stat:hover,.admin-workspace .reminder-row:hover,.admin-workspace .rp-focus-card:hover,.admin-workspace .staff-quick-card:hover{transform:none;border-color:#d7d7d9;background:#f7f7f8;box-shadow:none}.admin-workspace .dash-stat-stripe{height:2px;background:#202124!important;opacity:.1}.admin-workspace .dash-qa-icon,.admin-workspace .dash-stat-icon,.admin-workspace .rp-icon,.admin-workspace .staff-quick-icon{display:grid;place-items:center;background:#f1f1f2!important;color:#343539!important}.admin-workspace .staff-quick-icon{width:36px;height:36px;border-radius:11px}.admin-workspace .staff-quick-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.admin-workspace .dash-pulse,.admin-workspace .rp-week-dot{background:#202124!important}.admin-workspace .dash-trend,.admin-workspace .dash-trend.down,.admin-workspace .dash-trend.flat,.admin-workspace .dash-trend.up,.admin-workspace .rp-badge{background:#f1f1f2;color:#5d5f64}.admin-workspace .rp-count.has{background:#202124;color:#fff}.admin-workspace .rp-count.empty{background:#f1f1f2;color:#77797e}.admin-workspace .rp-week-day.is-today{background:#ededee;box-shadow:inset 0 0 0 1px #d7d7d9}.admin-workspace .rp-week-day.is-today .rp-week-label,.admin-workspace .rp-week-day.is-today .rp-week-num{color:#202124}.admin-workspace .rp-focus-card{border-color:#e3e3e4;background:#f7f7f8}.admin-workspace .rp-focus-avatar{border-radius:12px;background:#202124!important;color:#fff}.admin-workspace .rp-focus-btn{border-color:#dededf;background:#fff;color:#4f5156}.admin-workspace .staff-quick-grid{gap:10px}.admin-workspace .staff-quick-card{min-height:130px;justify-content:center;gap:8px;padding:18px 14px}.admin-workspace .staff-quick-label{color:#202124;font-size:13px}.admin-workspace .staff-quick-desc{color:#85878c;font-size:10px}:root[data-theme=soft-ios-dark] .shell.app.admin-workspace{--ink:#f2f2f3;--muted:#a5a6aa;--faint:#77797f;--line:rgba(255,255,255,.12);--line-soft:rgba(255,255,255,.075);background:#171719;color:#f2f2f3}:root[data-theme=soft-ios-dark] .admin-rail{border-color:#303034;background:#202023}:root[data-theme=soft-ios-dark] .admin-brand,:root[data-theme=soft-ios-dark] .admin-nav a,:root[data-theme=soft-ios-dark] .admin-rail-footer a,:root[data-theme=soft-ios-dark] .admin-rail-footer button{color:#c8c9cc}:root[data-theme=soft-ios-dark] .admin-brand:hover,:root[data-theme=soft-ios-dark] .admin-nav a.active,:root[data-theme=soft-ios-dark] .admin-nav a:hover,:root[data-theme=soft-ios-dark] .admin-rail-footer .active,:root[data-theme=soft-ios-dark] .admin-rail-footer a:hover,:root[data-theme=soft-ios-dark] .admin-rail-footer button:hover{background:#303034;color:#fff}:root[data-theme=soft-ios-dark] .admin-rail-context{border-color:#38383c;background:#27272a}:root[data-theme=soft-ios-dark] .admin-workspace .dash-qa,:root[data-theme=soft-ios-dark] .admin-workspace .dash-stat,:root[data-theme=soft-ios-dark] .admin-workspace .glass,:root[data-theme=soft-ios-dark] .admin-workspace .main,:root[data-theme=soft-ios-dark] .admin-workspace .panel,:root[data-theme=soft-ios-dark] .admin-workspace .proto-workspace,:root[data-theme=soft-ios-dark] .admin-workspace .reminder-row,:root[data-theme=soft-ios-dark] .admin-workspace .rp-card,:root[data-theme=soft-ios-dark] .admin-workspace .rp-week-note,:root[data-theme=soft-ios-dark] .admin-workspace .staff-quick-card,:root[data-theme=soft-ios-dark] .admin-workspace .topbar.admin-topbar{border-color:#343438!important;background:#1c1c1f!important;color:#f2f2f3}:root[data-theme=soft-ios-dark] .admin-workspace .right-panel{border-color:#303034;background:#19191b}:root[data-theme=soft-ios-dark] .admin-workspace .admin-heading h1,:root[data-theme=soft-ios-dark] .admin-workspace .staff-quick-label{color:#f2f2f3!important}:root[data-theme=soft-ios-dark] .admin-workspace .dash-qa-icon,:root[data-theme=soft-ios-dark] .admin-workspace .dash-stat-icon,:root[data-theme=soft-ios-dark] .admin-workspace .dash-trend,:root[data-theme=soft-ios-dark] .admin-workspace .rp-badge,:root[data-theme=soft-ios-dark] .admin-workspace .rp-count.empty,:root[data-theme=soft-ios-dark] .admin-workspace .rp-icon,:root[data-theme=soft-ios-dark] .admin-workspace .staff-quick-icon{background:#303034!important;color:#d0d1d4!important}:root[data-theme=soft-ios-dark] .admin-workspace .rp-focus-card{border-color:#37373b;background:#27272a}:root[data-theme=soft-ios-dark] .admin-workspace .ghost-btn,:root[data-theme=soft-ios-dark] .admin-workspace .rp-focus-btn,:root[data-theme=soft-ios-dark] .admin-workspace .small-btn{border-color:#414146!important;background:#27272a!important;color:#f2f2f3!important}.admin-control-workspace .admin-nav button{display:flex;width:100%;height:40px;flex:0 0 auto;align-items:center;gap:11px;padding:0 11px;overflow:hidden;border:0;border-radius:10px;background:transparent;color:#505257;font:inherit;font-size:11px;text-align:left;white-space:nowrap;cursor:pointer}.admin-control-workspace .admin-nav button:hover{background:#ececed;color:#202124}.admin-control-workspace .admin-nav [aria-current=page],.admin-control-workspace .admin-nav a.active,.admin-control-workspace .admin-nav button.active{background:#202124;color:#fff;font-weight:650}.admin-control-workspace .admin-nav a:focus-visible,.admin-control-workspace .admin-nav button:focus-visible,.admin-control-workspace .admin-rail-footer a:focus-visible,.admin-control-workspace .admin-rail-footer button:focus-visible{outline:2px solid #202124;outline-offset:2px}:root[data-theme=soft-ios-dark] .admin-control-workspace .admin-nav button{color:#c8c9cc}:root[data-theme=soft-ios-dark] .admin-control-workspace .admin-nav button:hover{background:#303034;color:#fff}:root[data-theme=soft-ios-dark] .admin-control-workspace .admin-nav [aria-current=page],:root[data-theme=soft-ios-dark] .admin-control-workspace .admin-nav a.active,:root[data-theme=soft-ios-dark] .admin-control-workspace .admin-nav button.active{background:#f2f2f3;color:#202124}:root[data-theme=soft-ios-dark] .admin-control-workspace .admin-nav a:focus-visible,:root[data-theme=soft-ios-dark] .admin-control-workspace .admin-nav button:focus-visible,:root[data-theme=soft-ios-dark] .admin-control-workspace .admin-rail-footer a:focus-visible,:root[data-theme=soft-ios-dark] .admin-control-workspace .admin-rail-footer button:focus-visible{outline-color:#f2f2f3}@media (max-width:1120px){.admin-control-workspace .admin-nav a,.admin-control-workspace .admin-nav button{justify-content:center;padding:0}.admin-control-workspace .admin-nav button>span:last-child{display:none}}.admin-control-workspace .admin-mobile-menu-layer,.admin-control-workspace .admin-nav .admin-mobile-more{display:none}.admin-control-workspace .admin-stat-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}@media (max-width:760px){.shell.app.admin-control-workspace{max-width:100vw;padding-bottom:calc(72px + env(safe-area-inset-bottom))!important;overflow-x:clip}.admin-control-workspace .admin-control-rail{height:calc(64px + env(safe-area-inset-bottom));box-sizing:border-box;padding:6px 8px calc(6px + env(safe-area-inset-bottom))}.admin-control-workspace .admin-nav{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:4px;gap:4px;overflow:visible;scroll-snap-type:none}.admin-control-workspace .admin-nav .admin-mobile-secondary{display:none!important}.admin-control-workspace .admin-nav .admin-mobile-more{display:flex}.admin-control-workspace .admin-nav .admin-mobile-more,.admin-control-workspace .admin-nav .admin-nav-item{width:100%;min-width:0;height:50px;flex:none;padding:0 4px;scroll-snap-align:none}.admin-control-workspace .admin-nav .admin-mobile-more>span:last-child,.admin-control-workspace .admin-nav .admin-nav-item>span:last-child{display:block;max-width:100%;overflow:visible;text-overflow:clip}.admin-control-workspace .admin-mobile-menu-layer{position:fixed;z-index:160;inset:0;display:block}.admin-control-workspace .admin-mobile-menu-backdrop{position:absolute;inset:0;width:100%;height:100%;background:rgba(20,21,24,.42);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.admin-control-workspace .admin-mobile-menu-sheet{position:absolute;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));left:8px;max-height:calc(100dvh - 24px - env(safe-area-inset-bottom));padding:16px;overflow:auto;border:1px solid #dedee0;border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(20,21,24,.22)}.admin-control-workspace .admin-mobile-menu-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.admin-control-workspace .admin-mobile-menu-head span{display:block;margin-bottom:3px;color:#8b8d92;font-size:9px}.admin-control-workspace .admin-mobile-menu-head h2{margin:0;color:#202124;font-size:18px}.admin-control-workspace .admin-mobile-menu-head>button{min-height:34px;padding:0 12px;border:1px solid #dedee0;border-radius:10px;background:#f7f7f8;color:#505257;font-size:11px}.admin-control-workspace .admin-mobile-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.admin-control-workspace .admin-mobile-menu-grid a,.admin-control-workspace .admin-mobile-menu-grid button{display:flex;min-width:0;min-height:52px;align-items:center;gap:9px;padding:9px 11px;border:1px solid #e2e2e4;border-radius:12px;background:#fff;color:#34363a;font:inherit;font-size:11px;text-align:left}.admin-control-workspace .admin-mobile-menu-grid .active,.admin-control-workspace .admin-mobile-menu-grid [aria-current=page]{border-color:#202124;background:#202124;color:#fff}.admin-control-workspace .admin-mobile-menu-grid a:focus-visible,.admin-control-workspace .admin-mobile-menu-grid button:focus-visible,.admin-control-workspace .admin-mobile-menu-head>button:focus-visible{outline:2px solid #202124;outline-offset:2px}:root[data-theme=soft-ios-dark] .admin-control-workspace .admin-mobile-menu-sheet{border-color:#3a3a3e;background:#202023}:root[data-theme=soft-ios-dark] .admin-control-workspace .admin-mobile-menu-head h2{color:#f2f2f3}:root[data-theme=soft-ios-dark] .admin-control-workspace .admin-mobile-menu-grid a,:root[data-theme=soft-ios-dark] .admin-control-workspace .admin-mobile-menu-grid button,:root[data-theme=soft-ios-dark] .admin-control-workspace .admin-mobile-menu-head>button{border-color:#414146;background:#29292d;color:#f2f2f3}:root[data-theme=soft-ios-dark] .admin-control-workspace .admin-mobile-menu-grid .active,:root[data-theme=soft-ios-dark] .admin-control-workspace .admin-mobile-menu-grid [aria-current=page]{border-color:#f2f2f3;background:#f2f2f3;color:#202124}}@media (max-width:430px){.admin-control-workspace .admin-intro>p{max-width:32em;line-height:1.65;text-wrap:pretty;word-break:normal}}@media (max-width:760px){.admin-control-workspace .admin-nav{display:flex;width:100%;gap:2px;padding:0;overflow:auto hidden;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.admin-control-workspace .admin-nav::-webkit-scrollbar{display:none}.admin-control-workspace .admin-nav a,.admin-control-workspace .admin-nav button{width:auto;min-width:68px;height:50px;flex:0 0 68px;flex-direction:column;justify-content:center;gap:2px;padding:0 6px;border-radius:9px;font-size:8px;text-align:center;scroll-snap-align:center}.admin-control-workspace .admin-nav a>span:last-child,.admin-control-workspace .admin-nav button>span:last-child{display:block;max-width:62px;overflow:hidden;text-overflow:ellipsis}.admin-control-workspace .admin-nav [aria-current=page],.admin-control-workspace .admin-nav a.active,.admin-control-workspace .admin-nav button.active{background:#202124;color:#fff}}.admin-control-workspace .admin-allowance-reset-card{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:24px;border-color:#ead6d6!important;background:linear-gradient(135deg,#fff,#fffafa)!important}.admin-control-workspace .admin-allowance-reset-card h2{margin:2px 0 6px;color:#202124;font-size:17px}.admin-control-workspace .admin-allowance-reset-card p{max-width:780px;margin:0;color:#73757a;font-size:11px;line-height:1.7}.admin-control-workspace .admin-allowance-reset-card .settings-notice{margin-top:10px}.admin-control-workspace .admin-danger-action{min-height:40px;flex:0 0 auto;padding:0 16px;border:1px solid #a94141;border-radius:11px;background:#fff;color:#9d3030;font:inherit;font-size:12px;font-weight:700}.admin-control-workspace .admin-danger-action:hover:not(:disabled){background:#9d3030;color:#fff}.admin-control-workspace .admin-danger-action:focus-visible{outline:2px solid #9d3030;outline-offset:2px}.admin-control-workspace .admin-danger-action:disabled{cursor:wait;opacity:.55}:root[data-theme=soft-ios-dark] .admin-control-workspace .admin-allowance-reset-card{border-color:#583b3d!important;background:linear-gradient(135deg,#242426,#2a2224)!important}:root[data-theme=soft-ios-dark] .admin-control-workspace .admin-allowance-reset-card h2{color:#f2f2f3}:root[data-theme=soft-ios-dark] .admin-control-workspace .admin-danger-action{border-color:#cf7777;background:transparent;color:#ef9a9a}@media (max-width:760px){.admin-control-workspace .admin-allowance-reset-card{align-items:stretch;flex-direction:column;gap:14px}.admin-control-workspace .admin-danger-action{width:100%}}@media (max-width:430px){.admin-control-workspace .admin-feedback-summary,.admin-control-workspace .admin-quick-actions,.admin-control-workspace .admin-stat-grid,.admin-control-workspace .pet-admin-stat-grid,.admin-control-workspace .pet-wallet-grid{grid-template-columns:minmax(0,1fr)}.admin-control-workspace .admin-session-chip{min-width:0;padding:4px;gap:0}.admin-control-workspace .admin-session-chip>div{display:none}.admin-control-workspace .glass,.admin-control-workspace .panel{border-radius:14px!important}.admin-control-workspace .panel{padding:14px!important}.admin-control-workspace .panel-title{align-items:flex-start;gap:10px;flex-wrap:wrap}.admin-control-workspace .admin-intro{grid-template-columns:minmax(0,1fr);gap:7px;padding:11px 12px}.admin-control-workspace .admin-intro>i,.admin-control-workspace .admin-intro>p{grid-column:auto;grid-row:auto}.admin-control-workspace .admin-intro>i{justify-self:start}}@media (max-width:760px){.admin-control-workspace .admin-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:4px;gap:4px;overflow:visible;scroll-snap-type:none}.admin-control-workspace .admin-nav .admin-mobile-more{display:flex!important}}