@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--navy:#06245f;--blue:#1769ff;--blue2:#2c83ff;--ink:#092353;--muted:#8390ae;--bg:#f8faff;--line:#e6ebf5;--card:#fff;--green:#39b88b;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;color:#14264d;background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%}body{background:var(--bg)}button,input{font:inherit}button{border:0;cursor:pointer}.brand-mark{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:700;letter-spacing:-1.2px}.brand-mark__icon{display:grid;place-items:center;width:30px;height:38px;border-radius:11px 11px 13px 13px;background:linear-gradient(145deg,#0b5fff,#53aaff 62%,#ffd38b);color:#fff;box-shadow:0 5px 14px #1264ed45;transform:rotate(-2deg)}.brand-mark__wing{font-size:20px;transform:rotate(2deg)}.brand-mark__name{font-size:25px}.brand-mark__name span{color:var(--blue)}.app-shell{min-height:100vh;background:linear-gradient(#fff,#f8faff 72%)}.page-shell{max-width:520px;margin:auto;padding:28px 24px 126px;position:relative;overflow:hidden}.mobile-header{display:flex;align-items:center;justify-content:space-between;padding:3px 0 44px}.notification{width:38px;height:38px;border-radius:50%;color:var(--ink);background:#fff;font-size:27px;position:relative}.notification i{position:absolute;right:4px;top:3px;width:8px;height:8px;background:#f64e4e;border:2px solid #fff;border-radius:50%}.greeting{position:relative;margin-bottom:38px}.greeting h1{font-size:34px;letter-spacing:2px;color:var(--ink);margin:0 0 10px}.greeting p{font-size:18px;color:#8090b0;margin:0}.flight-mark{position:absolute;right:20px;top:14px;color:#d6e7ff;font-size:72px;transform:rotate(-18deg)}.continue-card{width:100%;min-height:205px;border-radius:27px;color:#fff;padding:26px 24px;display:flex;align-items:center;text-align:left;background:linear-gradient(115deg,#126bff,#4d8dff);box-shadow:0 18px 34px #2c78ff35;position:relative;overflow:hidden}.continue-card:after{content:"";width:280px;height:280px;border-radius:50%;border:1px solid #ffffff2f;position:absolute;right:-110px;bottom:-150px}.continue-card__art{width:105px;height:105px;border-radius:50%;background:#ffffff1d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;flex:none}.continue-card__art span{font-size:48px;line-height:1;color:#fff}.continue-card__art small{font-size:11px;opacity:.8}.continue-card__body{margin-left:22px;min-width:0}.eyebrow{display:block;font-size:14px;margin-bottom:14px;opacity:.95}.continue-card strong{display:block;font-size:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.continue-progress{display:block;font-size:16px;margin:17px 0 10px}.progress-track{width:205px;height:10px;border-radius:10px;background:#ffffff48;overflow:hidden}.progress-track i{display:block;height:100%;background:#fff;border-radius:inherit}.continue-card em{font-style:normal;font-size:13px;opacity:.8;margin-left:10px}.continue-arrow{margin-left:auto;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;color:var(--blue);background:#fff;font-size:34px;z-index:1}.task-entry-list{display:grid;gap:18px;margin-top:30px}.task-entry{min-height:140px;border-radius:25px;background:#fff;box-shadow:0 10px 30px #1c428c0b;display:flex;align-items:center;padding:26px 23px;color:var(--ink);text-align:left}.task-entry__icon{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;margin-right:18px;font-size:32px;color:#fff;background:#5a9cff}.task-entry--exam .task-entry__icon{background:#50c89a}.task-entry span:nth-child(2){flex:1}.task-entry strong,.task-entry small{display:block}.task-entry strong{font-size:22px;margin-bottom:9px}.task-entry small{color:#8c9ab8;font-size:15px}.task-entry b{color:#1769ff;font-size:43px;font-weight:600}.task-entry--exam b{color:#30b783}.task-entry em{margin-left:8px;color:#8d9bb7;font-style:normal;white-space:nowrap}.task-entry i{margin-left:15px;color:#8393b2;font-size:35px;font-style:normal}.bottom-nav{position:fixed;left:50%;bottom:18px;transform:translate(-50%);width:min(472px,calc(100% - 32px));min-height:84px;padding:10px 24px 8px;background:#fff;border-radius:30px;box-shadow:0 10px 38px #294c8b1f;display:flex;justify-content:space-around;z-index:20}.bottom-nav__item{color:#9aa6c1;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:70px;font-size:14px;font-weight:500}.nav-icon{font-size:27px;line-height:1}.bottom-nav__item.is-active{color:var(--blue)}.bottom-nav__item.is-active:after{content:"";width:28px;height:4px;background:var(--blue);border-radius:5px;margin-top:2px}.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#f7faff}.login-visual{min-height:100vh;background:radial-gradient(circle at 50% 37%,#0d4da2 0,#061d4a 55%,#020d29);position:relative;overflow:hidden;display:grid;place-items:center}.window-glow{width:60%;max-width:530px;aspect-ratio:.73;border-radius:46% 46% 42% 42%;padding:19px;background:linear-gradient(135deg,#a8c5ee,#0d1b38 45%,#bcd7fa);box-shadow:0 0 100px #478dff55}.air-window{width:100%;height:100%;overflow:hidden;border-radius:45% 45% 41% 41%;background:#67a8ff;position:relative;box-shadow:inset 0 0 35px #0b1c3e}.sky{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(#77baff,#f7c18e 64%,#fff1d0)}.sky:after{content:"";position:absolute;left:-20%;right:-20%;bottom:15%;height:38%;background:#fff;border-radius:50% 50% 0 0;filter:blur(15px);opacity:.85}.plane{position:absolute;z-index:2;right:25%;top:20%;color:#fff;font-size:52px;transform:rotate(-35deg)}.clouds{position:absolute;left:-30%;right:-30%;bottom:-15%;height:45%;background:#fff;border-radius:50% 50% 0 0;filter:blur(12px);opacity:.9}.visual-copy{position:absolute;top:17%;left:10%;color:#fff}.visual-copy .brand-mark{color:#fff}.visual-copy .brand-mark__name span{color:#6eaeff}.visual-copy p{margin:12px 0;letter-spacing:4px;opacity:.9}.wave{position:absolute;bottom:-35px;width:120%;height:190px;border-top:1px solid #217cfb;border-radius:50%;transform:rotate(-7deg);box-shadow:0 -1px 7px #1470ff,0 -12px 30px #1573ff33}.wave--two{bottom:35px;opacity:.55;transform:rotate(10deg)}.login-panel{display:grid;place-items:center;padding:40px;background:#fbfcff}.login-card{width:min(560px,100%);padding:48px 58px 40px;border-radius:25px;background:#fff;box-shadow:0 15px 45px #193b7014}.login-card__brand{text-align:center;margin-bottom:25px}.login-card__brand .brand-mark{justify-content:center}.login-card__brand p{color:#7080a4;letter-spacing:2px;margin:10px 0 0}.login-card h1{color:var(--ink);text-align:center;font-size:30px;margin:22px 0 8px}.login-subtitle{color:#9aa8c3;text-align:center;margin:0 0 28px;font-size:16px}.field{height:62px;display:flex;align-items:center;border:1px solid #e1e7f1;border-radius:13px;padding:0 18px;margin:16px 0;box-shadow:0 4px 12px #1f4f9b08}.field__icon{color:#647696;font-size:25px;margin-right:14px}.field input{flex:1;width:0;border:0;outline:0;color:var(--ink);font-size:17px;background:transparent}.field input::placeholder{color:#9ba8c1}.field__action{color:#7a8ba9;background:none}.login-options{display:flex;justify-content:space-between;align-items:center;color:#7383a2;font-size:14px;margin:18px 0 26px}.login-options input{accent-color:var(--blue);width:17px;height:17px;vertical-align:-3px}.link-button{color:var(--blue);background:none}.primary-button{width:100%;height:60px;border-radius:13px;color:#fff;background:linear-gradient(100deg,#1263ff,#3385ff);font-size:20px;box-shadow:0 10px 22px #286fff45}.primary-button:disabled{opacity:.65}.agreement{color:#a1adc2;text-align:center;font-size:13px;margin:23px 0 0}.agreement a{color:var(--blue)}.demo-login{display:block;margin:18px auto 0;color:var(--blue);background:none;font-size:13px}.form-error{color:#e04d60;background:#fff0f1;padding:10px 14px;border-radius:8px;font-size:13px}.section-header{display:flex;align-items:center;gap:14px;margin:10px 0 28px}.section-header h1{font-size:28px;color:var(--ink);margin:0 0 7px}.section-header p{margin:0;color:#8b99b6}.back-button{width:38px;height:38px;border-radius:50%;background:#fff;color:var(--ink);font-size:30px}.header-count{margin-left:auto;color:var(--blue);font-size:26px;font-weight:600}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:4px;background:#eef3fb;border-radius:14px;margin-bottom:20px}.segmented button{padding:11px;color:#8794b0;border-radius:10px;background:transparent}.segmented button.active{color:var(--blue);background:#fff;box-shadow:0 4px 12px #31599c12}.task-list-mobile{display:grid;gap:14px}.task-list-card{background:#fff;border-radius:20px;padding:21px;box-shadow:0 8px 24px #2447810c;border-left:4px solid #5a9cff}.task-list-card.exam{border-left-color:#48c393}.task-list-card__top{display:flex;justify-content:space-between;color:#7f8ead;font-size:13px}.task-pill{color:var(--blue);background:#edf4ff;padding:5px 9px;border-radius:7px}.exam .task-pill{color:#25a978;background:#e9faf3}.task-list-card h2{margin:18px 0 7px;color:var(--ink);font-size:19px}.task-list-card p{color:#8a98b5;margin:0 0 18px;font-size:14px}.outline-button{color:var(--blue);border:1px solid #b9d3ff;background:#fff;border-radius:9px;padding:10px 15px}.empty-panel{margin-top:30px;padding:55px 20px;text-align:center;color:#8d99b1;background:#fff;border-radius:20px}.record-card{background:#fff;border-radius:22px;padding:25px;box-shadow:0 8px 24px #2447810c;position:relative}.record-card strong{color:var(--ink)}.record-card b{display:block;font-size:58px;color:var(--blue);margin-top:18px}.record-card span{color:#8c9ab5}.record-bars{height:100px;display:flex;align-items:end;gap:13px;margin-top:20px}.record-bars i{flex:1;background:linear-gradient(#4f9eff,#c7ddff);border-radius:8px 8px 2px 2px}.profile-card{display:flex;align-items:center;gap:16px;padding:24px;border-radius:22px;background:#fff;box-shadow:0 8px 24px #2447810c;margin-bottom:16px}.avatar{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(145deg,#3d8bff,#173b9b);font-size:23px}.profile-card strong,.profile-card span{display:block}.profile-card strong{color:var(--ink);font-size:18px}.profile-card span{color:#8c9ab5;margin-top:6px}.setting-row{width:100%;padding:19px 5px;background:transparent;display:flex;justify-content:space-between;color:var(--ink);border-bottom:1px solid var(--line)}.setting-row i{color:#9aa6bc;font-size:23px;font-style:normal}.logout-button{margin-top:35px;width:100%;height:48px;color:#e34e62;background:#fff1f2;border-radius:12px}@media (max-width: 820px){.login-shell{display:block;background:linear-gradient(#082a78,#0b4fc4 58%,#f7faff 58%)}.login-visual{min-height:42vh;background:transparent;display:block;padding:55px 28px 0}.window-glow,.visual-copy{display:none}.login-visual:before{content:"✈";position:absolute;right:13%;top:20%;color:#ffffff32;font-size:72px;transform:rotate(-25deg)}.login-panel{display:block;padding:0 22px 30px;background:transparent}.login-card{padding:35px 27px 27px;border-radius:28px}.login-card__brand .brand-mark{display:none}.login-card h1{font-size:28px;margin-top:0}.login-card__brand p{display:none}.login-card:before{content:"CabinLingo";display:block;text-align:center;color:var(--ink);font-size:28px;font-weight:700;margin-bottom:14px}.page-shell{padding-left:20px;padding-right:20px}}@media (max-width: 440px){.page-shell{padding-top:25px}.greeting h1{font-size:30px}.greeting p{font-size:16px}.continue-card{min-height:183px;padding:20px 17px}.continue-card__art{width:78px;height:78px}.continue-card__art span{font-size:35px}.continue-card__body{margin-left:13px}.continue-card strong{font-size:18px}.progress-track{width:145px}.continue-arrow{width:42px;height:42px}.task-entry{min-height:118px;padding:19px 16px}.task-entry__icon{width:54px;height:54px;margin-right:12px}.task-entry strong{font-size:18px}.task-entry small{font-size:13px}.task-entry b{font-size:34px}.task-entry em{font-size:12px;margin-left:4px}.task-entry i{margin-left:7px}.brand-mark__name{font-size:22px}}.portal-page{min-height:100vh;display:flex;color:var(--ink);background:#f5f8fd}.portal-sidebar{width:236px;flex:none;display:flex;flex-direction:column;padding:30px 18px 22px;color:#b9c9e8;background:linear-gradient(180deg,#061e4c,#092b69)}.portal-sidebar .brand-mark{color:#fff;padding:0 10px 4px}.portal-sidebar .brand-mark__name span{color:#6eaeff}.portal-label{margin:6px 10px 28px;color:#7893c5;font-size:11px;letter-spacing:1px;text-transform:uppercase}.portal-sidebar nav{display:grid;gap:8px}.portal-nav{display:flex;align-items:center;gap:12px;padding:13px 12px;color:#abc0e5;border-radius:12px;text-decoration:none;font-size:14px}.portal-nav span{flex:1}.portal-nav b{min-width:22px;padding:3px 6px;border-radius:9px;color:#fff;background:#ee6374;text-align:center;font-size:11px}.portal-nav.active{color:#fff;background:#1e6ff0;box-shadow:0 8px 18px #001c4a48}.portal-sidebar__footer{display:flex;gap:11px;align-items:center;margin-top:auto;padding:17px 8px 0;border-top:1px solid #ffffff1d}.portal-sidebar__footer strong,.portal-sidebar__footer small{display:block}.portal-sidebar__footer strong{color:#fff;font-size:13px}.portal-sidebar__footer small{color:#92acd6;font-size:11px;margin-top:4px}.portal-content{flex:1;min-width:0;max-width:1520px;margin:auto;padding:38px 42px 52px}.portal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.portal-kicker{margin:0 0 5px;color:#8a9bb8;font-size:12px;letter-spacing:.7px}.portal-header h1{margin:0;color:var(--ink);font-size:31px;letter-spacing:.3px}.portal-header__actions{display:flex;gap:12px;align-items:center}.staging-badge{color:#1a6ce7;padding:6px 9px;border-radius:7px;background:#e8f1ff;font-size:11px;font-weight:700;letter-spacing:1px}.ghost-button{padding:10px 14px;color:#587094;border:1px solid #dae4f2;border-radius:9px;background:#fff}.avatar--small{width:34px;height:34px;font-size:14px}.metric-grid{display:grid;gap:16px;margin-bottom:22px}.metric-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card{padding:22px 24px;border:1px solid #e7edf7;border-radius:16px;background:#fff;box-shadow:0 8px 26px #2345780a}.metric-card span,.metric-card small{display:block;color:#8291ad;font-size:12px}.metric-card strong{display:block;margin:11px 0 5px;color:var(--ink);font-size:34px;letter-spacing:-1px}.metric-card small{color:#37a67c}.metric-card__accent{color:#ed6575!important}.panel{min-width:0;padding:23px;border:1px solid #e7edf7;border-radius:17px;background:#fff;box-shadow:0 8px 26px #2345780a}.panel__heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.panel__heading h2{margin:0 0 5px;color:var(--ink);font-size:17px}.panel__heading p{margin:0;color:#8998b2;font-size:12px}.panel__actions{display:flex;gap:8px}.primary-button--compact{width:auto;height:40px;padding:0 17px;border-radius:9px;font-size:13px}.workbench-grid,.admin-grid{display:grid;grid-template-columns:minmax(340px,.86fr) minmax(460px,1.14fr);gap:22px}.admin-grid{grid-template-columns:minmax(560px,1.25fr) minmax(360px,.75fr)}.queue-list,.risk-list{display:grid;gap:8px}.queue-item{width:100%;display:flex;align-items:center;gap:11px;padding:13px 11px;border:1px solid transparent;border-radius:11px;color:var(--ink);background:#f8faff;text-align:left}.queue-item:hover,.queue-item.selected{border-color:#a9caff;background:#edf5ff}.queue-item__status{width:7px;height:35px;border-radius:5px;background:#42bd91}.queue-item__status.urgent{background:#f06477}.queue-item__status.done{background:#8ba1c6}.queue-item__main{flex:1;min-width:0}.queue-item__main strong,.queue-item__main small,.queue-item__score small{display:block}.queue-item__main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.queue-item__main small{margin-top:4px;color:#8998b3;font-size:11px}.queue-item__score{color:var(--blue);font-size:18px;font-weight:700;text-align:right}.queue-item__score small{color:#93a1b9;font-size:10px;font-weight:400}.queue-item__arrow,.row-arrow{color:#8da0bf;font-size:23px;background:none}.review-panel{display:flex;flex-direction:column}.audio-review{display:flex;align-items:center;gap:16px;padding:17px;border-radius:13px;background:#f3f7fd}.play-button{width:38px;height:38px;border-radius:50%;color:#fff;background:var(--blue)}.audio-review__wave{flex:1;color:#5c9dff;letter-spacing:2px;overflow:hidden;white-space:nowrap}.audio-review strong,.audio-review small{display:block}.audio-review small{color:#8797b2;font-size:11px;margin-top:4px}.transcript{display:grid;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}.transcript span{color:#91a0b8;font-size:11px}.transcript p{margin:7px 0 0;color:#263b66;font-size:13px}.transcript__good{color:#22a274!important}.score-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:17px 0}.score-strip div{text-align:center;border-right:1px solid var(--line)}.score-strip div:last-child{border:0}.score-strip span,.score-strip strong{display:block}.score-strip span{color:#94a2ba;font-size:11px}.score-strip strong{margin-top:7px;color:var(--blue);font-size:23px}.review-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:auto}.admin-task{display:flex;align-items:center;gap:14px;padding:15px 0;border-top:1px solid var(--line)}.admin-task__type{width:42px;padding:7px 5px;border-radius:8px;color:#2876ee;background:#edf4ff;text-align:center;font-size:12px}.admin-task__type.exam{color:#22a477;background:#e9faf3}.admin-task__body{flex:1;min-width:0}.admin-task__body strong,.admin-task__body small{display:block}.admin-task__body strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.admin-task__body small{margin:6px 0 10px;color:#8c9ab4;font-size:11px}.progress-track--dark{width:100%;height:6px;background:#edf2f9}.progress-track--dark i{background:linear-gradient(90deg,#2677f6,#62a8ff)}.admin-task__stats{width:58px;text-align:right}.admin-task__stats strong,.admin-task__stats small{display:block}.admin-task__stats strong{color:var(--blue);font-size:16px}.admin-task__stats small{color:#8b9ab3;font-size:10px;margin-top:5px}.risk-item{display:flex;align-items:center;gap:11px;padding:13px 0;border-bottom:1px solid var(--line)}.risk-item>div{flex:1}.risk-item strong,.risk-item small{display:block}.risk-item strong{font-size:13px}.risk-item small{color:#8998b2;margin-top:4px;font-size:11px}.risk-tag{padding:5px 8px;border-radius:7px;font-size:10px}.risk-tag.high{color:#e05d70;background:#fff0f2}.risk-tag.mid{color:#d48a29;background:#fff7e8}.risk-tag.low{color:#5c79a6;background:#edf3fb}.mini-chart{height:95px;display:flex;align-items:end;gap:10px;padding:17px 5px 0}.mini-chart div{flex:1;border-radius:6px 6px 2px 2px;background:linear-gradient(#3f8fff,#b9d4ff)}.chart-caption{margin:6px 0 0;color:#98a5bb;text-align:center;font-size:11px}.quick-actions{display:flex;align-items:center;gap:12px;margin-top:22px}.quick-actions>div{flex:1}.quick-actions h2{margin:0 0 5px;font-size:17px}.quick-actions p{margin:0;color:#8a99b3;font-size:12px}.quick-action{min-width:230px;padding:14px 17px;border-radius:11px;text-align:left}.quick-action strong,.quick-action small{display:block}.quick-action strong{font-size:13px}.quick-action small{margin-top:5px;font-size:10px}.quick-action--practice{color:#2371ed;background:#edf4ff}.quick-action--exam{color:#249b73;background:#eafaf3}@media (max-width: 1050px){.portal-sidebar{width:205px}.portal-content{padding:28px 24px}.metric-grid--four{grid-template-columns:repeat(2,1fr)}.workbench-grid,.admin-grid{grid-template-columns:1fr}.quick-actions{align-items:stretch;flex-wrap:wrap}.quick-actions>div{flex-basis:100%}.quick-action{flex:1}}@media (max-width: 700px){.portal-page{display:block}.portal-sidebar{width:auto;min-height:auto;padding:17px 18px}.portal-sidebar .brand-mark{display:flex}.portal-label,.portal-sidebar nav,.portal-sidebar__footer{display:none}.portal-content{padding:24px 16px 35px}.portal-header{align-items:flex-start}.portal-header h1{font-size:25px}.portal-header__actions .ghost-button{display:none}.metric-grid--four{gap:10px}.metric-card{padding:16px}.metric-card strong{font-size:27px}.panel{padding:17px}.queue-item__score{display:none}.quick-action{min-width:0;width:100%}.score-strip strong{font-size:19px}}
