:root { --portal-bg:#080b16; --portal-panel:#11162a; --portal-panel-2:#171d34; }
body.portal-body { min-height:100vh; background:radial-gradient(circle at 15% 15%,rgba(124,92,255,.13),transparent 33%),radial-gradient(circle at 88% 85%,rgba(49,215,232,.08),transparent 28%),var(--portal-bg); }
.portal-header { width:min(calc(100% - 40px),1240px); height:76px; display:flex; align-items:center; justify-content:space-between; margin:auto; }
.portal-header-links { display:flex; align-items:center; gap:20px; }
.portal-header-links a { color:#9aa3b9; font-size:12px; font-weight:700; text-decoration:none; }.portal-header-links a:hover{color:#fff;}
.auth-layout { width:min(calc(100% - 32px),1080px); min-height:calc(100vh - 76px); display:grid; grid-template-columns:.88fr 1.12fr; align-items:center; gap:70px; margin:auto; padding:55px 0 85px; }
.auth-story { padding:35px 0; }.auth-story .eyebrow { margin-bottom:25px; }.auth-story h1 { margin:0 0 20px; font-size:clamp(40px,5.5vw,66px); line-height:1.14; letter-spacing:-3px; }.auth-story>p { max-width:460px; margin:0; color:var(--muted); font-size:16px; }
.auth-benefits { display:grid; gap:15px; margin-top:38px; }.auth-benefit { display:flex; align-items:center; gap:14px; color:#b9c0d2; font-size:13px; }.auth-benefit span { width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(139,108,255,.22); border-radius:11px; background:rgba(139,108,255,.08); color:var(--purple-light); }
.auth-card { width:100%; max-width:490px; justify-self:end; padding:42px; border:1px solid var(--line); border-radius:26px; background:rgba(17,22,42,.85); box-shadow:0 35px 80px rgba(0,0,0,.35); backdrop-filter:blur(20px); }.auth-card-head { margin-bottom:28px; }.auth-card-head small { color:var(--purple-light); font:800 9px Manrope; letter-spacing:1.5px; }.auth-card-head h2 { margin:6px 0 7px; font-size:29px; letter-spacing:-1.3px; }.auth-card-head p { margin:0; color:var(--muted); font-size:12px; }
.auth-form { display:grid; gap:17px; }.form-field { display:grid; gap:7px; }.form-field label { color:#c6ccda; font-size:11px; font-weight:700; }.form-field label em { color:#ef7fb9; font-style:normal; }.input-wrap { position:relative; }.input-wrap input,.input-wrap select { width:100%; height:51px; padding:0 43px 0 15px; border:1px solid var(--line); border-radius:11px; outline:0; background:#0b0f1e; color:#fff; font-size:13px; transition:border-color .2s,box-shadow .2s; }.input-wrap input::placeholder{color:#505b73;}.input-wrap input:focus,.input-wrap select:focus{border-color:rgba(139,108,255,.65);box-shadow:0 0 0 3px rgba(124,92,255,.1);}.input-wrap .field-icon { position:absolute; right:15px; top:50%; transform:translateY(-50%); color:#58647c; font-size:13px; }.password-toggle { position:absolute; right:8px; top:50%; transform:translateY(-50%); width:35px; height:35px; border:0; background:transparent; color:#707b92; cursor:pointer; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.form-meta { display:flex; align-items:center; justify-content:space-between; gap:15px; }.check-label { display:inline-flex; align-items:center; gap:7px; color:#8791a8; font-size:10px; cursor:pointer; }.check-label input { accent-color:var(--purple); }.form-meta a { color:var(--purple-light); font-size:10px; font-weight:700; text-decoration:none; }
.form-error { min-height:18px; margin:0; color:#ff7f9d; font-size:10px; }.form-success { padding:11px 13px; border:1px solid rgba(60,230,160,.22); border-radius:9px; background:rgba(60,230,160,.07); color:var(--green); font-size:10px; }
.auth-divider { display:flex; align-items:center; gap:12px; margin:4px 0; color:#576279; font-size:9px; }.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:var(--line);}.demo-admin { width:100%; min-height:46px; border:1px dashed rgba(49,215,232,.27); border-radius:11px; background:rgba(49,215,232,.05); color:#8deaf2; font-size:11px; font-weight:800; cursor:pointer; }.auth-switch { margin:24px 0 0; padding-top:20px; border-top:1px solid var(--line); color:#768198; font-size:11px; text-align:center; }.auth-switch a { color:#c4b5fd; font-weight:800; text-decoration:none; }.demo-notice { max-width:490px; margin:14px 0 0 auto; color:#566178; font-size:9px; text-align:center; }
.password-strength { display:flex; gap:4px; }.password-strength span { height:3px; flex:1; border-radius:3px; background:#293047; }.password-strength[data-score="1"] span:first-child{background:#f26b85}.password-strength[data-score="2"] span:nth-child(-n+2){background:#f0af5d}.password-strength[data-score="3"] span:nth-child(-n+3){background:#8b6cff}.password-strength[data-score="4"] span{background:var(--green)}
.terms-box { max-height:130px; overflow:auto; display:grid; gap:9px; padding:13px; border:1px solid var(--line); border-radius:10px; background:#0b0f1e; }.terms-box .check-label { align-items:flex-start; }.terms-box b{color:#c4cbdc;}

/* Admin shell */
body.admin-body { min-height:100vh; background:#090c16; }
.admin-shell { min-height:100vh; display:grid; grid-template-columns:238px 1fr; }
.admin-sidebar { position:fixed; inset:0 auto 0 0; z-index:40; width:238px; display:flex; flex-direction:column; padding:22px 16px; border-right:1px solid var(--line); background:#0c101e; }.admin-sidebar .brand { padding:0 8px 24px; border-bottom:1px solid var(--line); }.admin-nav { display:grid; gap:5px; margin-top:22px; }.admin-nav button { min-height:43px; display:flex; align-items:center; gap:11px; padding:0 12px; border:0; border-radius:10px; background:transparent; color:#7f8aa1; font-size:11px; font-weight:700; text-align:left; cursor:pointer; }.admin-nav button span { width:23px; color:#667189; font-size:13px; }.admin-nav button:hover,.admin-nav button.active{background:rgba(124,92,255,.11);color:#fff;}.admin-nav button.active span{color:var(--purple-light);}.admin-nav-label { margin:23px 12px 5px; color:#424c61; font:800 7px Manrope; letter-spacing:1.3px; }
.admin-user { display:flex; align-items:center; gap:10px; margin-top:auto; padding:13px 10px; border-top:1px solid var(--line); }.admin-avatar { width:35px; height:35px; display:grid; place-items:center; flex:0 0 auto; border-radius:10px; background:var(--gradient); font-size:11px; font-weight:800; }.admin-user div { min-width:0; display:flex; flex-direction:column; }.admin-user b{font-size:10px}.admin-user small{overflow:hidden;color:#626d84;font-size:8px;text-overflow:ellipsis}.logout-btn{margin-left:auto;border:0;background:transparent;color:#667189;cursor:pointer;}
.admin-main { grid-column:2; min-width:0; }.admin-topbar { height:75px; display:flex; align-items:center; gap:20px; padding:0 34px; border-bottom:1px solid var(--line); background:rgba(9,12,22,.82); position:sticky; top:0; z-index:30; backdrop-filter:blur(15px); }.admin-mobile-toggle{display:none;width:38px;height:38px;border:1px solid var(--line);border-radius:9px;background:transparent;color:#fff;}.admin-title { display:flex; flex-direction:column; }.admin-title small{color:#5c677f;font:700 7px Manrope;letter-spacing:1px}.admin-title b{font-size:15px}.admin-top-actions{display:flex;align-items:center;gap:9px;margin-left:auto}.admin-icon-button{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025);color:#8490a8;cursor:pointer;position:relative}.admin-icon-button i{width:5px;height:5px;position:absolute;right:8px;top:8px;border-radius:50%;background:#ef5d98}.admin-date{padding:7px 11px;border:1px solid var(--line);border-radius:9px;color:#768198;font-size:9px}
.admin-content { padding:34px; }.admin-view{display:none}.admin-view.active{display:block}.view-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:27px}.view-head h1{margin:0 0 4px;font-size:27px;letter-spacing:-1px}.view-head p{margin:0;color:#778198;font-size:11px}.view-actions{display:flex;gap:8px}.admin-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.03);color:#bbc3d4;font-size:10px;font-weight:800;cursor:pointer}.admin-button.primary{border-color:transparent;background:var(--gradient);color:#fff}
.stat-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:13px }.admin-stat { min-height:137px;padding:21px;border:1px solid var(--line);border-radius:17px;background:#111626;position:relative;overflow:hidden }.admin-stat small{color:#707b92;font-size:9px}.admin-stat strong{display:block;margin-top:13px;font:800 27px Manrope}.admin-stat em{display:inline-block;margin-top:4px;color:var(--green);font-size:8px;font-style:normal}.admin-stat .stat-art{position:absolute;width:75px;height:75px;right:-18px;bottom:-22px;border:1px solid rgba(139,108,255,.15);border-radius:50%;box-shadow:0 0 0 17px rgba(139,108,255,.025),0 0 0 34px rgba(139,108,255,.015)}
.admin-grid { display:grid;grid-template-columns:1.35fr .65fr;gap:13px;margin-top:13px }.admin-panel{padding:22px;border:1px solid var(--line);border-radius:17px;background:#111626}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.panel-head h2{margin:0;font-size:13px}.panel-head a,.panel-head button{border:0;background:transparent;color:var(--purple-light);font-size:8px;text-decoration:none;cursor:pointer}.chart-wrap{height:245px;display:flex;align-items:flex-end;gap:9px;padding:15px 4px 27px;border-bottom:1px solid var(--line);position:relative}.chart-wrap::before,.chart-wrap::after{content:"";position:absolute;left:0;right:0;border-top:1px dashed rgba(255,255,255,.05)}.chart-wrap::before{top:33%}.chart-wrap::after{top:66%}.chart-bar{height:var(--h);flex:1;min-width:14px;border-radius:5px 5px 2px 2px;background:linear-gradient(to top,rgba(124,92,255,.28),#8b6cff);position:relative;z-index:2;transition:filter .2s}.chart-bar:hover{filter:brightness(1.25)}.chart-bar span{position:absolute;left:50%;bottom:-22px;transform:translateX(-50%);color:#576279;font-size:7px}.activity-list{display:grid;gap:0}.activity-item{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.activity-item:last-child{border:0}.activity-item>span{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:rgba(139,108,255,.1);color:var(--purple-light);font-size:10px}.activity-item div{display:flex;flex-direction:column}.activity-item b{font-size:9px}.activity-item small{color:#606b82;font-size:7px}.activity-item time{margin-left:auto;color:#4d586e;font-size:7px}
.table-tools{display:flex;align-items:center;gap:9px;margin-bottom:13px}.admin-search{width:min(100%,320px);height:40px;padding:0 13px;border:1px solid var(--line);border-radius:9px;outline:0;background:#0b0f1d;color:#fff;font-size:10px}.admin-search:focus{border-color:rgba(139,108,255,.55)}.filter-select{height:40px;padding:0 29px 0 11px;border:1px solid var(--line);border-radius:9px;background:#0b0f1d;color:#9aa4ba;font-size:9px}.data-panel{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#111626}.data-table{width:100%;border-collapse:collapse}.data-table th{height:43px;padding:0 15px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.018);color:#5d6880;font-size:8px;text-align:left}.data-table td{height:63px;padding:0 15px;border-bottom:1px solid rgba(255,255,255,.055);color:#aeb6c9;font-size:9px}.data-table tr:last-child td{border:0}.member-cell{display:flex;align-items:center;gap:9px}.member-cell .admin-avatar{width:30px;height:30px;border-radius:8px}.member-cell div{display:flex;flex-direction:column}.member-cell b{color:#d5d9e4;font-size:9px}.member-cell small{color:#566178;font-size:7px}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:20px;background:rgba(60,230,160,.07);color:var(--green);font-size:7px;font-weight:800}.status-badge::before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor}.status-badge.waiting{background:rgba(244,174,91,.08);color:#efb05c}.status-badge.paused{background:rgba(255,107,133,.08);color:#f37d94}.table-action{border:0;background:transparent;color:#778198;cursor:pointer}.empty-row{text-align:center;color:#59647b!important}
.agent-admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.agent-admin-card{padding:24px;border:1px solid var(--line);border-radius:18px;background:#111626}.agent-card-top{display:flex;align-items:center;gap:12px}.agent-card-icon{width:45px;height:45px;display:grid;place-items:center;border-radius:12px;background:rgba(139,108,255,.11);color:var(--purple-light);font-size:16px}.agent-card-top div{display:flex;flex-direction:column}.agent-card-top b{font-size:13px}.agent-card-top small{color:#606b82;font-size:8px}.switch{width:40px;height:22px;margin-left:auto;border:0;border-radius:20px;background:#323a50;position:relative;cursor:pointer}.switch::after{content:"";width:16px;height:16px;position:absolute;left:3px;top:3px;border-radius:50%;background:#8b94a8;transition:.2s}.switch.on{background:rgba(60,230,160,.25)}.switch.on::after{left:21px;background:var(--green)}.agent-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:20px}.agent-metrics span{padding:10px;border-radius:9px;background:#0b0f1d;color:#667189;font-size:7px}.agent-metrics b{display:block;margin-top:3px;color:#c3c9d7;font:700 12px Manrope}.agent-progress{height:4px;margin-top:17px;border-radius:4px;background:#292f44}.agent-progress i{display:block;width:var(--value);height:100%;border-radius:inherit;background:var(--gradient)}
.support-ticket{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:15px;border-bottom:1px solid var(--line)}.support-ticket:last-child{border:0}.ticket-priority{width:8px;height:8px;border-radius:50%;background:#ef6c8c}.ticket-priority.medium{background:#f1b55e}.ticket-priority.low{background:#62d7ad}.support-ticket div{display:flex;flex-direction:column}.support-ticket b{font-size:9px}.support-ticket small{color:#626d84;font-size:7px}.support-ticket time{color:#566178;font-size:7px}
.media-tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.media-upload-panel,.youtube-panel{min-height:390px}.video-dropzone{min-height:225px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;border:1px dashed rgba(139,108,255,.35);border-radius:14px;background:rgba(124,92,255,.045);text-align:center;cursor:pointer;transition:.2s}.video-dropzone:hover,.video-dropzone.dragging{border-color:var(--purple-light);background:rgba(124,92,255,.09)}.dropzone-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:rgba(139,108,255,.13);color:var(--purple-light);font-size:20px}.video-dropzone h3{margin:13px 0 3px;font-size:13px}.video-dropzone p{margin:0;color:#768198;font-size:9px}.video-dropzone small{margin-top:14px;color:#4f5a72;font-size:7px}.upload-file-list{display:grid;gap:7px;margin-top:12px}.empty-upload{margin:5px 0 0;color:#505b72;font-size:8px;text-align:center}.upload-file{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:#0c101e}.upload-file>span{width:29px;height:29px;display:grid;place-items:center;border-radius:7px;background:rgba(139,108,255,.1);color:var(--purple-light);font:700 7px Manrope}.upload-file div{display:flex;min-width:0;flex-direction:column}.upload-file b{overflow:hidden;color:#c5cbda;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.upload-file small{color:#5e6980;font-size:7px}.upload-file em{color:var(--green);font-size:7px;font-style:normal}.youtube-label{padding:4px 8px;border-radius:6px;background:#ff0033;color:#fff;font:700 7px Manrope}.youtube-panel .form-field>span{margin-bottom:7px;color:#69748b;font-size:8px}.youtube-input-row{display:grid;grid-template-columns:1fr auto;gap:7px}.youtube-input-row .admin-search{width:100%}.youtube-error{min-height:16px;margin:5px 0;color:#f37c96;font-size:8px}.youtube-preview{aspect-ratio:16/9;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#090d19}.youtube-preview iframe{width:100%;height:100%;border:0}.youtube-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.youtube-placeholder>span{width:46px;height:34px;display:grid;place-items:center;padding-left:2px;border-radius:10px;background:#ef234e;color:#fff;font-size:11px}.youtube-placeholder b{margin-top:10px;color:#aeb6c8;font-size:10px}.youtube-placeholder small{margin-top:3px;color:#505b72;font-size:7px}.processing-panel{margin-top:13px}.processing-list{display:grid}.processing-item{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.processing-item:last-child{border:0}.file-type{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:rgba(139,108,255,.1);color:var(--purple-light);font:700 7px Manrope}.file-type.done{background:rgba(60,230,160,.08);color:var(--green)}.processing-info{display:flex;min-width:0;flex-direction:column}.processing-info b{overflow:hidden;color:#c6ccda;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.processing-info small{margin-top:2px;color:#626d84;font-size:7px}.processing-bar{width:min(100%,380px);height:3px;margin-top:7px;border-radius:3px;background:#2a3044}.processing-bar i{display:block;height:100%;border-radius:inherit;background:var(--gradient)}.processing-item>button{border:0;background:transparent;color:#727d94;font-size:8px;cursor:pointer}.video-library-head{display:flex;align-items:end;justify-content:space-between;margin:28px 0 12px}.video-library-head h2{margin:0;font-size:15px}.video-library-head p{margin:2px 0 0;color:#606b82;font-size:8px}.video-library{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.video-item{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#111626}.video-thumb{aspect-ratio:16/9;display:grid;place-items:center;position:relative;background:linear-gradient(145deg,#392665,#9d5f8f)}.video-thumb.cyan{background:linear-gradient(145deg,#173c4b,#4c9a9a)}.video-thumb.pink{background:linear-gradient(145deg,#47203c,#a9546c)}.video-thumb>span{position:absolute;left:10px;top:9px;padding:4px 6px;border-radius:5px;background:rgba(0,0,0,.35);color:#fff;font:700 6px Manrope}.video-thumb button{width:42px;height:42px;display:grid;place-items:center;padding-left:3px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(8,11,22,.55);color:#fff;cursor:pointer;backdrop-filter:blur(8px);transition:.2s}.video-thumb button:hover{transform:scale(1.08);background:rgba(124,92,255,.75)}.video-meta{padding:14px}.video-meta h3{margin:9px 0 2px;font-size:11px}.video-meta p{margin:0;color:#5f6a81;font-size:7px}.media-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:.25s}.media-modal.open{opacity:1;visibility:visible}.media-modal-backdrop{position:absolute;inset:0;background:rgba(3,5,10,.82);backdrop-filter:blur(8px)}.media-modal-card{width:min(880px,100%);position:relative;z-index:2}.media-modal-close{width:38px;height:38px;position:absolute;right:0;top:-48px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:rgba(255,255,255,.06);color:#fff;font-size:20px;cursor:pointer}.media-modal-player{aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:#090d19;box-shadow:0 35px 90px rgba(0,0,0,.5)}.media-modal-player video,.media-modal-player iframe{width:100%;height:100%;border:0;background:#000}.media-modal-player video{object-fit:contain}
.toast-message{position:fixed;right:24px;bottom:24px;z-index:100;min-width:260px;padding:14px 17px;border:1px solid rgba(60,230,160,.2);border-radius:11px;background:#12182a;color:#bfead7;font-size:10px;box-shadow:0 20px 50px rgba(0,0,0,.35);opacity:0;visibility:hidden;transform:translateY(15px);transition:.25s}.toast-message.show{opacity:1;visibility:visible;transform:none}

/* Portal light theme */
[data-theme="light"] body.portal-body { background: radial-gradient(circle at 15% 15%,rgba(124,92,255,.1),transparent 33%),radial-gradient(circle at 88% 85%,rgba(49,215,232,.07),transparent 28%),#f5f7fc; }
[data-theme="light"] .portal-header-links a { color:#5f687c; }
[data-theme="light"] .auth-card { background:rgba(255,255,255,.91); box-shadow:0 30px 70px rgba(52,59,91,.13); }
[data-theme="light"] .auth-card-head p, [data-theme="light"] .auth-story>p { color:#667085; }
[data-theme="light"] .auth-benefit { color:#4f596f; }
[data-theme="light"] .form-field label { color:#3f475b; }
[data-theme="light"] .input-wrap input, [data-theme="light"] .input-wrap select, [data-theme="light"] .terms-box { border-color:rgba(31,38,67,.12); background:#f7f8fc; color:#202538; }
[data-theme="light"] .check-label { color:#626c81; }
[data-theme="light"] .demo-admin { background:rgba(49,215,232,.08); color:#167f8a; }
[data-theme="light"] .auth-switch { color:#687287; }
[data-theme="light"] body.admin-body { background:#f3f5fa; }
[data-theme="light"] .admin-sidebar { background:#fff; box-shadow:8px 0 30px rgba(44,51,79,.04); }
[data-theme="light"] .admin-nav button { color:#626c82; }
[data-theme="light"] .admin-nav button:hover, [data-theme="light"] .admin-nav button.active { color:#292e44; background:rgba(124,92,255,.09); }
[data-theme="light"] .admin-user b { color:#252a3d; }
[data-theme="light"] .admin-topbar { background:rgba(255,255,255,.87); }
[data-theme="light"] .admin-icon-button, [data-theme="light"] .admin-mobile-toggle, [data-theme="light"] .admin-date { background:#fff; color:#565f74; }
[data-theme="light"] .admin-stat, [data-theme="light"] .admin-panel, [data-theme="light"] .data-panel, [data-theme="light"] .agent-admin-card { background:#fff; box-shadow:0 10px 30px rgba(44,51,79,.045); }
[data-theme="light"] .admin-stat strong, [data-theme="light"] .panel-head h2, [data-theme="light"] .agent-card-top b, [data-theme="light"] .activity-item b, [data-theme="light"] .support-ticket b { color:#202538; }
[data-theme="light"] .admin-search, [data-theme="light"] .filter-select { background:#fff; color:#333a50; }
[data-theme="light"] .data-table th { background:#f5f7fb; }
[data-theme="light"] .data-table td { color:#525c72; }
[data-theme="light"] .member-cell b { color:#252a3d; }
[data-theme="light"] .agent-metrics span, [data-theme="light"] .audio-wave { background:#f3f5fa; }
[data-theme="light"] .agent-metrics b { color:#30364a; }
[data-theme="light"] .toast-message { background:#fff; color:#287257; box-shadow:0 20px 50px rgba(43,50,80,.16); }
[data-theme="light"] .video-dropzone { background:rgba(124,92,255,.04); }
[data-theme="light"] .upload-file, [data-theme="light"] .video-item { background:#f7f8fc; }
[data-theme="light"] .upload-file b, [data-theme="light"] .processing-info b, [data-theme="light"] .video-meta h3 { color:#2c3247; }
[data-theme="light"] .youtube-preview { background:#eef1f7; }
[data-theme="light"] .youtube-placeholder b { color:#59647a; }

@media(max-width:1000px){.auth-layout{grid-template-columns:1fr;gap:25px}.auth-story{text-align:center;padding-bottom:5px}.auth-story>p{margin:auto}.auth-benefits{max-width:500px;margin:30px auto 0;text-align:left}.auth-card{justify-self:center}.demo-notice{margin-inline:auto}.stat-grid{grid-template-columns:repeat(2,1fr)}.admin-grid,.media-tool-grid{grid-template-columns:1fr}.agent-admin-grid{grid-template-columns:1fr}.data-panel{overflow-x:auto}.data-table{min-width:760px}.video-library{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.portal-header{width:calc(100% - 28px);height:66px}.portal-header-links>a:first-of-type{display:none}.auth-layout{padding:25px 0 60px}.auth-story h1{font-size:40px}.auth-card{padding:29px 21px;border-radius:21px}.form-row{grid-template-columns:1fr}.admin-shell{display:block}.admin-sidebar{transform:translateX(-100%);transition:transform .25s;box-shadow:20px 0 50px rgba(0,0,0,.4)}.admin-sidebar.open{transform:none}.admin-main{grid-column:auto}.admin-topbar{height:66px;padding:0 15px}.admin-mobile-toggle{display:block}.admin-date{display:none}.admin-content{padding:21px 15px}.view-head{align-items:flex-start;flex-direction:column}.stat-grid{grid-template-columns:1fr 1fr;gap:9px}.admin-stat{min-height:120px;padding:16px}.admin-stat strong{font-size:23px}.chart-wrap{height:210px}.agent-admin-grid{grid-template-columns:1fr}.table-tools{align-items:stretch;flex-direction:column}.admin-search{width:100%}.filter-select{width:100%}.video-library{grid-template-columns:1fr}.processing-item{grid-template-columns:auto 1fr auto}.processing-item>.status-badge{display:none}.youtube-input-row{grid-template-columns:1fr}.media-upload-panel,.youtube-panel{min-height:auto}}
@media(max-width:420px){.portal-header-links .button{display:none}.auth-story h1{font-size:35px}.auth-benefit{font-size:11px}.stat-grid{grid-template-columns:1fr}.admin-stat{min-height:105px}.view-actions{width:100%}.view-actions .admin-button{flex:1}.agent-metrics{grid-template-columns:1fr 1fr}.footer-links{gap:12px}}

/* Learning management */
.course-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}.course-summary-grid article{padding:18px;border:1px solid var(--line);border-radius:15px;background:#111626}.course-summary-grid span{display:block;color:#6f7a91;font-size:8px}.course-summary-grid strong{display:block;margin:7px 0 2px;font:800 23px Manrope}.course-summary-grid small{color:#58637a;font-size:7px}.course-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}.course-tabs{display:flex;gap:4px;padding:3px;border:1px solid var(--line);border-radius:9px}.course-tabs button{height:32px;padding:0 12px;border:0;border-radius:6px;background:transparent;color:#6d7890;font-size:8px;font-weight:800;cursor:pointer}.course-tabs button.active{background:rgba(139,108,255,.13);color:var(--purple-light)}.course-admin-list{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.course-admin-card{overflow:hidden;border:1px solid var(--line);border-radius:17px;background:#111626}.course-cover{aspect-ratio:16/7;padding:17px;display:flex;align-items:flex-start;justify-content:space-between;position:relative;background:linear-gradient(135deg,#2d2062,#8a4ea7)}.course-cover.short{background:linear-gradient(135deg,#153d4c,#287884)}.course-cover.master{background:linear-gradient(135deg,#402334,#9a4a62)}.course-cover>span{padding:5px 8px;border:1px solid rgba(255,255,255,.16);border-radius:20px;background:rgba(8,11,22,.3);color:#fff;font:800 7px Manrope}.course-cover>b{align-self:center;color:#fff;font-size:15px;line-height:1.35;letter-spacing:-.5px}.course-cover>em{align-self:flex-end;color:rgba(255,255,255,.65);font:800 6px Manrope;font-style:normal}.course-admin-info{padding:20px}.course-admin-info h2{margin:11px 0 5px;font-size:13px}.course-admin-info>p{min-height:34px;margin:0;color:#68738a;font-size:8px}.course-state-row{display:flex;align-items:center;justify-content:space-between;color:#616c84;font-size:7px}.course-data-row{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:15px 0}.course-data-row span{padding:8px;border-radius:8px;background:#0b0f1d;color:#616c84;font-size:7px}.course-data-row b{color:#b9c1d2}.course-admin-actions{display:flex;align-items:center;gap:7px}.course-admin-actions .admin-button{flex:1}.course-admin-actions .switch{flex:0 0 auto}.resource-admin-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:13px;margin-bottom:20px}.resource-upload-card,.resource-stats-card{min-height:310px}.resource-dropzone{min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;border:1px dashed rgba(139,108,255,.4);border-radius:13px;background:rgba(124,92,255,.045);text-align:center;cursor:pointer;transition:.2s}.resource-dropzone:hover,.resource-dropzone.dragging{border-color:var(--purple-light);background:rgba(124,92,255,.1)}.resource-dropzone>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:rgba(139,108,255,.13);color:var(--purple-light);font-size:18px}.resource-dropzone h3{margin:9px 0 2px;font-size:10px}.resource-dropzone p{margin:0;color:#5f6a81;font-size:7px}.resource-form{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.resource-form label,.course-editor-settings>label,.lesson-detail-form label,.lesson-source-panel>label{display:grid;gap:6px;color:#737e95;font-size:8px}.resource-form select,.course-editor-settings input,.course-editor-settings select,.course-editor-settings textarea,.lesson-detail-form input,.lesson-detail-form select,.lesson-detail-form textarea,.lesson-source-panel input{width:100%;min-height:39px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;outline:0;background:#0b0f1d;color:#d3d8e4;font:inherit;resize:vertical}.resource-form select:focus,.course-editor-settings input:focus,.course-editor-settings textarea:focus,.lesson-detail-form input:focus,.lesson-detail-form textarea:focus,.lesson-source-panel input:focus{border-color:rgba(139,108,255,.65)}.resource-check{display:flex!important;align-items:center!important;grid-column:1/-1;gap:7px!important}.resource-check input{accent-color:var(--purple)}.resource-big-stat{display:flex;align-items:baseline;gap:8px;padding:17px 0}.resource-big-stat strong{font:800 40px Manrope}.resource-big-stat span{color:#6e7990;font-size:9px}.resource-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.resource-mini-stats span{padding:12px 8px;border-radius:10px;background:#0b0f1d;color:#5f6a81;font-size:7px}.resource-mini-stats b{display:block;margin-bottom:3px;color:#b9c1d2;font:700 10px Manrope}.storage-meter{margin-top:25px}.storage-meter>div{display:flex;justify-content:space-between;color:#69748b;font-size:7px}.storage-meter em{font-style:normal}.storage-meter>i{height:5px;display:block;margin-top:8px;border-radius:5px;background:#272e42}.storage-meter b{height:100%;display:block;border-radius:inherit;background:var(--gradient)}.resource-tools{margin-top:8px}.resource-file-cell{display:flex;align-items:center;gap:9px}.resource-file-cell>span{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:rgba(240,89,114,.1);color:#ed7891;font:800 7px Manrope}.resource-file-cell>span.xlsx{background:rgba(60,230,160,.08);color:var(--green)}.resource-file-cell>span.zip{background:rgba(139,108,255,.1);color:var(--purple-light)}.resource-file-cell div{display:flex;flex-direction:column}.resource-file-cell b{color:#c7cddd;font-size:8px}.resource-file-cell small{color:#58637a;font-size:7px}

.course-editor-modal,.lesson-editor-drawer{position:fixed;inset:0;z-index:180;opacity:0;visibility:hidden;transition:.25s}.course-editor-modal.open,.lesson-editor-drawer.open{opacity:1;visibility:visible}.course-editor-backdrop,.drawer-backdrop{position:absolute;inset:0;background:rgba(3,5,11,.82);backdrop-filter:blur(7px)}.course-editor-shell{width:min(1180px,calc(100% - 36px));height:min(860px,calc(100vh - 36px));position:relative;z-index:2;margin:18px auto;overflow:hidden;border:1px solid var(--line);border-radius:19px;background:#0d111f;box-shadow:0 30px 100px rgba(0,0,0,.55)}.course-editor-head{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 24px;border-bottom:1px solid var(--line)}.course-editor-head small,.lesson-editor-drawer header small{color:var(--purple-light);font:800 7px Manrope;letter-spacing:1.3px}.course-editor-head h2,.lesson-editor-drawer header h2{margin:3px 0 0;font-size:16px}.course-editor-head>div:last-child{display:flex;gap:8px}.course-editor-body{height:calc(100% - 76px);display:grid;grid-template-columns:330px 1fr;overflow:hidden}.course-editor-settings{display:grid;align-content:start;gap:15px;padding:22px;overflow:auto;border-right:1px solid var(--line);background:#101525}.course-editor-settings label{font-weight:700}.editor-form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.editor-cover-upload{min-height:105px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px dashed var(--line);border-radius:10px;background:#0b0f1d;color:#727d94;text-align:center;cursor:pointer}.editor-cover-upload>span{font-size:18px}.editor-cover-upload p{margin:0;font-size:8px}.editor-cover-upload small{color:#515c73;font-size:7px}.editor-option{display:flex;align-items:center;justify-content:space-between;padding:12px;border:1px solid var(--line);border-radius:10px}.editor-option>span{display:flex;flex-direction:column}.editor-option b{font-size:8px}.editor-option small{color:#566178;font-size:7px}.curriculum-builder{padding:23px;overflow:auto}.curriculum-builder-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.curriculum-builder-head h3{margin:0;font-size:13px}.curriculum-builder-head p{margin:3px 0 0;color:#5e6980;font-size:7px}.curriculum-chapter{overflow:hidden;margin-bottom:12px;border:1px solid var(--line);border-radius:13px;background:#111626}.curriculum-chapter>header{min-height:62px;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:11px;padding:10px 14px;border-bottom:1px solid var(--line)}.drag-handle{color:#48536a;font-size:10px;cursor:grab}.curriculum-chapter header div{display:flex;flex-direction:column}.curriculum-chapter header small{color:var(--purple-light);font:800 6px Manrope;letter-spacing:.7px}.curriculum-chapter header b{font-size:9px}.curriculum-chapter header em{color:#657087;font-size:7px;font-style:normal}.curriculum-chapter header button,.curriculum-lesson>button{border:0;background:transparent;color:#657087;font-size:8px;cursor:pointer}.curriculum-lessons{padding:4px 14px}.curriculum-lesson{min-height:52px;display:grid;grid-template-columns:auto auto 1fr auto auto;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.05)}.curriculum-lesson:last-child{border:0}.lesson-type{width:28px;height:28px;display:grid;place-items:center;border-radius:7px;background:rgba(139,108,255,.1);color:var(--purple-light);font:800 6px Manrope;font-style:normal}.lesson-type.youtube{background:rgba(240,56,83,.1);color:#f1687d}.lesson-type.document{background:rgba(49,215,232,.08);color:var(--cyan)}.curriculum-lesson>div{display:flex;min-width:0;flex-direction:column}.curriculum-lesson b{overflow:hidden;color:#bfc6d5;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.curriculum-lesson small{color:#566178;font-size:7px}.lesson-resource{padding:4px 6px;border-radius:5px;background:#0b0f1d;color:#5e6980;font-size:6px}.add-lesson-button{width:100%;height:36px;border:0;border-top:1px dashed var(--line);background:transparent;color:#7967c6;font-size:8px;font-weight:800;cursor:pointer}.lesson-editor-drawer>aside{width:min(460px,94vw);height:100%;position:absolute;z-index:2;right:0;top:0;display:flex;flex-direction:column;overflow:auto;border-left:1px solid var(--line);background:#101525;box-shadow:-30px 0 80px rgba(0,0,0,.4);transform:translateX(30px);transition:.25s}.lesson-editor-drawer.open>aside{transform:none}.lesson-editor-drawer header{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--line)}.lesson-editor-drawer header>button{width:34px;height:34px;border:0;border-radius:8px;background:#1b2135;color:#98a2b8;font-size:18px;cursor:pointer}.lesson-source-tabs{display:grid;grid-template-columns:repeat(3,1fr);margin:18px 20px 0;border:1px solid var(--line);border-radius:9px;padding:3px}.lesson-source-tabs button{height:34px;border:0;border-radius:6px;background:transparent;color:#68738a;font-size:8px;font-weight:800;cursor:pointer}.lesson-source-tabs button.active{background:rgba(139,108,255,.13);color:var(--purple-light)}.lesson-source-panel{display:none;padding:13px 20px}.lesson-source-panel.active{display:block}.resource-dropzone.compact{min-height:115px}.lesson-detail-form{display:grid;gap:13px;padding:5px 20px 20px}.drawer-attach{height:39px;border:1px dashed var(--line);border-radius:8px;background:#0b0f1d;color:#7b869d;font-size:8px;cursor:pointer}.lesson-editor-drawer footer{display:flex;justify-content:flex-end;gap:8px;margin-top:auto;padding:15px 20px;border-top:1px solid var(--line)}

/* Student classroom */
body.classroom-body{min-height:100vh;background:#090c16}.classroom-shell{min-height:100vh}.classroom-header{height:72px;display:flex;align-items:center;gap:28px;padding:0 max(24px,calc((100% - 1180px)/2));border-bottom:1px solid var(--line);background:rgba(9,12,22,.88);position:sticky;top:0;z-index:40;backdrop-filter:blur(16px)}.classroom-nav{display:flex;align-items:center;gap:5px}.classroom-nav a{padding:9px 12px;border-radius:8px;color:#7f8aa1;font-size:9px;font-weight:800;text-decoration:none}.classroom-nav a.active,.classroom-nav a:hover{background:rgba(139,108,255,.1);color:#fff}.classroom-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.student-avatar{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:var(--gradient);font-size:10px;font-weight:800}.classroom-main{width:min(calc(100% - 38px),1180px);margin:auto;padding:42px 0 80px}.classroom-hero{min-height:245px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:35px;padding:34px 40px;border:1px solid var(--line);border-radius:23px;background:radial-gradient(circle at 80% 20%,rgba(139,108,255,.18),transparent 40%),#111626;overflow:hidden}.classroom-hero small{color:var(--purple-light);font:800 8px Manrope;letter-spacing:1.3px}.classroom-hero h1{margin:8px 0 10px;font-size:clamp(27px,4vw,43px);letter-spacing:-2px}.classroom-hero p{max-width:570px;margin:0;color:#828ca2;font-size:11px}.continue-card{padding:18px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(8,11,22,.55)}.continue-card-head{display:flex;justify-content:space-between;color:#7c879e;font-size:8px}.continue-card h3{margin:10px 0 4px;font-size:13px}.continue-card p{font-size:8px}.progress-line{height:5px;margin:17px 0 10px;border-radius:5px;background:#293047}.progress-line i{display:block;width:var(--progress);height:100%;border-radius:inherit;background:var(--gradient)}.continue-actions{display:flex;align-items:center;justify-content:space-between}.continue-actions span{color:#717c93;font-size:7px}.classroom-section{margin-top:42px}.classroom-section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:15px}.classroom-section-head h2{margin:0;font-size:18px}.classroom-section-head p{margin:3px 0 0;color:#647087;font-size:8px}.classroom-section-head a{color:var(--purple-light);font-size:8px;text-decoration:none}.student-course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.student-course{overflow:hidden;border:1px solid var(--line);border-radius:17px;background:#111626}.student-course-cover{aspect-ratio:16/8;display:flex;align-items:flex-end;padding:16px;background:linear-gradient(135deg,#39236f,#9d4fad);position:relative}.student-course-cover.short{background:linear-gradient(135deg,#16414e,#27818b)}.student-course-cover.master{background:linear-gradient(135deg,#482238,#a34b65)}.student-course-cover span{padding:5px 7px;border-radius:6px;background:rgba(8,11,22,.5);color:#fff;font:800 6px Manrope}.student-course-body{padding:17px}.student-course-body h3{margin:0 0 4px;font-size:11px}.student-course-body p{min-height:30px;margin:0;color:#68738a;font-size:7px}.student-course-meta{display:flex;justify-content:space-between;margin:14px 0 7px;color:#68738a;font-size:7px}.student-course-body .progress-line{margin:0 0 14px}.student-course-body .admin-button{width:100%;text-decoration:none}.classroom-lower-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:13px}.notice-list,.quick-resource-list{display:grid}.notice-row,.quick-resource{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid var(--line);text-decoration:none}.notice-row:last-child,.quick-resource:last-child{border:0}.notice-row>span,.quick-resource>span{width:31px;height:31px;display:grid;place-items:center;border-radius:8px;background:rgba(139,108,255,.1);color:var(--purple-light);font-size:8px}.notice-row div,.quick-resource div{display:flex;min-width:0;flex-direction:column}.notice-row b,.quick-resource b{color:#bec5d4;font-size:8px}.notice-row small,.quick-resource small{color:#58637a;font-size:7px}.notice-row time{margin-left:auto;color:#525d74;font-size:7px}.classroom-resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.classroom-resource{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:13px;background:#111626;text-decoration:none}.classroom-resource>span{width:39px;height:39px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;background:rgba(139,108,255,.1);color:var(--purple-light);font:800 7px Manrope}.classroom-resource div{display:flex;min-width:0;flex-direction:column}.classroom-resource b{overflow:hidden;color:#c4cad9;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.classroom-resource small{color:#5d6880;font-size:7px}.classroom-resource em{margin-left:auto;color:#657087;font-size:14px;font-style:normal}

body.lesson-body{height:100vh;overflow:hidden;background:#080b14}.lesson-shell{height:100vh;display:grid;grid-template-columns:330px 1fr;grid-template-rows:66px 1fr}.lesson-header{grid-column:1/-1;display:flex;align-items:center;gap:18px;padding:0 20px;border-bottom:1px solid var(--line);background:#0c101e}.lesson-back{color:#7e899f;font-size:9px;text-decoration:none}.lesson-header-title{display:flex;flex-direction:column}.lesson-header-title b{font-size:10px}.lesson-header-title small{color:#58637a;font-size:7px}.lesson-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.lesson-sidebar{overflow:auto;border-right:1px solid var(--line);background:#0d111f}.lesson-progress-card{padding:20px;border-bottom:1px solid var(--line)}.lesson-progress-card small{color:#667189;font-size:7px}.lesson-progress-card strong{display:block;margin-top:4px;font-size:13px}.lesson-progress-card .progress-line{margin:12px 0 5px}.lesson-progress-card span{color:#5d6880;font-size:7px}.lesson-chapter{border-bottom:1px solid var(--line)}.lesson-chapter>header{padding:15px 17px;background:#101525}.lesson-chapter header small{color:var(--purple-light);font:800 6px Manrope}.lesson-chapter header b{display:block;margin-top:3px;font-size:9px}.lesson-link{width:100%;min-height:54px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:9px 15px;border:0;border-top:1px solid rgba(255,255,255,.035);background:transparent;color:#7f8aa1;text-align:left;cursor:pointer}.lesson-link.active{background:rgba(139,108,255,.1);color:#fff}.lesson-link.completed>span:first-child{background:rgba(60,230,160,.1);color:var(--green)}.lesson-link>span:first-child{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:#181e31;font-size:7px}.lesson-link div{display:flex;min-width:0;flex-direction:column}.lesson-link b{overflow:hidden;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.lesson-link small{color:#566178;font-size:6px}.lesson-link>em{color:#4f5a71;font-size:6px;font-style:normal}.lesson-content{overflow:auto;background:#090c16}.lesson-stage{max-width:1050px;margin:auto;padding:28px 34px 70px}.lesson-player{aspect-ratio:16/9;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:radial-gradient(circle at 50% 50%,rgba(139,108,255,.13),transparent 45%),#05070d}.lesson-player iframe,.lesson-player video{width:100%;height:100%;border:0}.lesson-placeholder{text-align:center}.lesson-placeholder>span{width:62px;height:62px;display:grid;place-items:center;margin:auto;padding-left:4px;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:rgba(139,108,255,.15);color:#fff;font-size:18px}.lesson-placeholder b{display:block;margin-top:14px;font-size:12px}.lesson-placeholder small{display:block;margin-top:4px;color:#606b82;font-size:7px}.lesson-info{padding:25px 3px 18px;border-bottom:1px solid var(--line)}.lesson-info small{color:var(--purple-light);font:800 7px Manrope}.lesson-info h1{margin:6px 0 7px;font-size:23px}.lesson-info p{max-width:760px;margin:0;color:#778198;font-size:10px}.lesson-toolbar{display:flex;align-items:center;gap:8px;margin-top:17px}.lesson-toolbar .complete-button{margin-left:auto}.complete-button.done{border-color:rgba(60,230,160,.3);background:rgba(60,230,160,.08);color:var(--green)}.lesson-detail-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:13px;margin-top:18px}.lesson-box{padding:19px;border:1px solid var(--line);border-radius:14px;background:#111626}.lesson-box h2{margin:0 0 13px;font-size:11px}.lesson-box p,.lesson-box li{color:#747f96;font-size:8px}.lesson-box ul{display:grid;gap:7px;margin:0;padding-left:16px}.lesson-download{display:flex;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid var(--line);text-decoration:none}.lesson-download:last-child{border:0}.lesson-download>span{width:31px;height:31px;display:grid;place-items:center;border-radius:8px;background:rgba(139,108,255,.1);color:var(--purple-light);font:800 6px Manrope}.lesson-download div{display:flex;flex-direction:column}.lesson-download b{color:#bdc4d4;font-size:8px}.lesson-download small{color:#566178;font-size:6px}.lesson-notes{width:100%;min-height:105px;padding:11px;border:1px solid var(--line);border-radius:9px;outline:0;background:#0b0f1d;color:#c6ccda;font-size:9px;resize:vertical}.lesson-notes:focus{border-color:rgba(139,108,255,.55)}

[data-theme="light"] .course-summary-grid article,[data-theme="light"] .course-admin-card,[data-theme="light"] .resource-stats-card,[data-theme="light"] .curriculum-chapter,[data-theme="light"] .student-course,[data-theme="light"] .classroom-resource,[data-theme="light"] .lesson-box{background:#fff;box-shadow:0 10px 30px rgba(44,51,79,.045)}[data-theme="light"] .course-cover>i{border-color:#fff}[data-theme="light"] .course-admin-body h3,[data-theme="light"] .course-summary-grid strong,[data-theme="light"] .resource-big-stat strong,[data-theme="light"] .resource-file-cell b{color:#252a3d}[data-theme="light"] .resource-form select,[data-theme="light"] .course-editor-settings input,[data-theme="light"] .course-editor-settings select,[data-theme="light"] .course-editor-settings textarea,[data-theme="light"] .lesson-detail-form input,[data-theme="light"] .lesson-detail-form select,[data-theme="light"] .lesson-detail-form textarea,[data-theme="light"] .lesson-source-panel input,[data-theme="light"] .drawer-attach,[data-theme="light"] .lesson-notes{background:#f7f8fc;color:#30364a}[data-theme="light"] .resource-mini-stats span,[data-theme="light"] .lesson-resource{background:#f2f4f9}[data-theme="light"] .course-editor-shell,[data-theme="light"] .course-editor-settings,[data-theme="light"] .lesson-editor-drawer>aside{background:#fff}[data-theme="light"] .editor-cover-upload{background:#f6f7fb}[data-theme="light"] .curriculum-lesson b,[data-theme="light"] .resource-mini-stats b{color:#343a4e}[data-theme="light"] body.classroom-body,[data-theme="light"] .lesson-content{background:#f3f5fa}[data-theme="light"] .classroom-header,[data-theme="light"] .lesson-header{background:rgba(255,255,255,.9)}[data-theme="light"] .classroom-nav a.active,[data-theme="light"] .classroom-nav a:hover{color:#292e44}[data-theme="light"] .classroom-hero{background:radial-gradient(circle at 80% 20%,rgba(139,108,255,.12),transparent 40%),#fff}[data-theme="light"] .continue-card{background:#f6f7fb}[data-theme="light"] .student-course-body h3,[data-theme="light"] .classroom-section-head h2,[data-theme="light"] .notice-row b,[data-theme="light"] .quick-resource b,[data-theme="light"] .classroom-resource b{color:#252a3d}[data-theme="light"] body.lesson-body{background:#f3f5fa}[data-theme="light"] .lesson-sidebar{background:#fff}[data-theme="light"] .lesson-chapter>header{background:#f7f8fc}[data-theme="light"] .lesson-link.active{background:rgba(139,108,255,.09);color:#282e42}[data-theme="light"] .lesson-player{background:radial-gradient(circle at 50% 50%,rgba(139,108,255,.1),transparent 45%),#e9edf5}

@media(max-width:1100px){.course-admin-list,.student-course-grid{grid-template-columns:repeat(2,1fr)}.course-editor-body{grid-template-columns:280px 1fr}.classroom-hero{grid-template-columns:1fr}.classroom-lower-grid{grid-template-columns:1fr}.lesson-shell{grid-template-columns:285px 1fr}}
@media(max-width:760px){.course-summary-grid{grid-template-columns:1fr 1fr}.course-admin-list,.resource-admin-grid,.student-course-grid,.classroom-resource-grid{grid-template-columns:1fr}.course-toolbar{align-items:stretch;flex-direction:column}.course-toolbar .admin-search{max-width:none}.course-editor-shell{width:100%;height:100vh;margin:0;border:0;border-radius:0}.course-editor-head{height:auto;align-items:flex-start;flex-direction:column;padding:15px}.course-editor-body{height:calc(100% - 109px);grid-template-columns:1fr}.course-editor-settings{display:none}.curriculum-builder{padding:15px}.curriculum-lesson{grid-template-columns:auto auto 1fr auto}.curriculum-lesson>.lesson-resource{display:none}.classroom-header{height:64px;padding:0 14px}.classroom-nav{display:none}.classroom-main{width:calc(100% - 28px);padding:24px 0 60px}.classroom-hero{padding:25px 21px}.classroom-section{margin-top:30px}.lesson-shell{display:block;height:100vh}.lesson-header{height:62px}.lesson-header-title{max-width:45vw}.lesson-header-title b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-sidebar{width:min(330px,86vw);position:fixed;inset:62px auto 0 0;z-index:50;transform:translateX(-100%);transition:.25s;box-shadow:25px 0 60px rgba(0,0,0,.3)}.lesson-sidebar.open{transform:none}.lesson-content{height:calc(100vh - 62px)}.lesson-stage{padding:15px 14px 50px}.lesson-player{border-radius:12px}.lesson-info h1{font-size:19px}.lesson-detail-grid{grid-template-columns:1fr}.lesson-mobile-menu{display:grid!important}.lesson-toolbar{flex-wrap:wrap}.lesson-toolbar .complete-button{margin-left:0}}
@media(max-width:420px){.course-summary-grid{grid-template-columns:1fr}.resource-form,.editor-form-row{grid-template-columns:1fr}.resource-check{grid-column:auto}.curriculum-chapter>header{grid-template-columns:auto 1fr auto}.curriculum-chapter header em{display:none}.classroom-hero h1{font-size:29px}.classroom-actions .student-name{display:none}.lesson-toolbar .admin-button{flex:1}}

/* ── Google 로그인 버튼 ───────────────────────────── */
.google-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #fff;
    color: #1f2937;
    border: 1px solid rgba(15, 23, 42, 0.16);
    font-weight: 700;
    margin-bottom: 14px;
}
.google-btn svg { width: 18px; height: 18px; flex: none; }
.google-btn:hover { background: #f4f6ff; box-shadow: 0 6px 18px rgba(15, 23, 42, 0.12); }
.google-btn:disabled { opacity: 0.6; cursor: wait; }

/* ── 가독성 확대 오버라이드 (2026-07-17) — 강의실·자료실·관리자 전반 글씨 키움 ── */
.admin-nav button{font-size:13px}
.admin-nav-label{font-size:10px}
.admin-user b{font-size:13px}
.admin-user small{font-size:11px}
.admin-button{font-size:13px}
.view-head p{font-size:13px}
.admin-stat small{font-size:12px}
.admin-stat em{font-size:11px}
.panel-head a,.panel-head button{font-size:12px}
.activity-item b{font-size:12px}
.activity-item small,.activity-item time{font-size:11px}
.data-table th{font-size:12px}
.data-table td{font-size:13px}
.member-cell b{font-size:13px}
.member-cell small{font-size:11px}
.status-badge{font-size:10px}
.admin-search{font-size:13px}
.filter-select{font-size:12px}
.agent-card-top small{font-size:11px}
.agent-metrics span{font-size:10px}
.course-summary-grid span{font-size:12px}
.course-summary-grid small{font-size:10px}
.course-tabs button{font-size:12px}
.course-admin-info h2{font-size:15px}
.course-admin-info p{font-size:12px}
.course-state-row{font-size:10px}
.course-data-row span{font-size:11px}
.resource-file-cell b{font-size:12px}
.resource-file-cell small{font-size:10px}
.resource-form label{font-size:12px}
.resource-mini-stats span{font-size:10px}
.curriculum-chapter header b{font-size:13px}
.curriculum-chapter header small{font-size:10px}
.curriculum-chapter header em{font-size:10px}
.curriculum-lesson b{font-size:13px}
.curriculum-lesson small{font-size:11px}
.lesson-resource{font-size:10px}
.add-lesson-button{font-size:12px}
.lesson-source-tabs button{font-size:12px}
.classroom-nav a{font-size:13px}
.classroom-hero p{font-size:14px}
.classroom-hero small{font-size:11px}
.continue-card p{font-size:12px}
.classroom-section-head p{font-size:12px}
.student-course-body h3{font-size:14px}
.student-course-body p{font-size:11px}
.student-course-meta{font-size:11px}
.notice-row b{font-size:12px}
.notice-row small{font-size:11px}
.quick-resource b{font-size:12px}
.quick-resource small{font-size:11px}
.classroom-resource b{font-size:13px}
.classroom-resource small{font-size:11px}
.lesson-back{font-size:12px}
.lesson-header-title b{font-size:13px}
.lesson-header-title small{font-size:10px}
.lesson-progress-card small,.lesson-progress-card span{font-size:11px}
.lesson-chapter header small{font-size:10px}
.lesson-chapter header b{font-size:13px}
.lesson-link b{font-size:13px}
.lesson-link small{font-size:10px}
.lesson-link em{font-size:10px}
.lesson-info p{font-size:13px}
.lesson-box p,.lesson-box li{font-size:12px}
.lesson-download b{font-size:12px}
.lesson-download small{font-size:10px}
.lesson-notes{font-size:13px}
.lesson-placeholder small{font-size:11px}

/* ── 라이브클래스풍 관리자 개편 (2026-07-18) ── */
.admin-sidebar{background:#17181d !important;border-right:1px solid #26272c !important}
.admin-sidebar .brand span{color:#fff}
.admin-sitelink{display:flex;align-items:center;gap:8px;color:#d3d6dd;text-decoration:none;font-size:13px;font-weight:600;padding:10px 12px;border-radius:8px;margin:6px 0 2px}
.admin-sitelink:hover{background:#24252b;color:#fff}
.admin-sitelink span{opacity:.7}
.admin-nav button{color:#c8cbd2 !important}
.admin-nav button:hover{background:#24252b !important;color:#fff !important}
.admin-nav button.active{background:#2e2f36 !important;color:#fff !important}
.admin-nav-label{color:#7d818c !important;letter-spacing:.06em;margin-top:12px}
.admin-user b{color:#fff !important}
.admin-user small{color:#9aa0ab !important}
.logout-btn{color:#c8cbd2}
.muted-inline{opacity:.65;font-size:12px}
.lk-onboard{padding:18px 20px}
.lk-onboard-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.lk-onboard-head b{font-size:16px}
.lk-onboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.lk-card{border:1px solid var(--border,#e5e7eb);border-radius:12px;padding:14px 16px;background:var(--bg-card,#fff)}
.lk-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.lk-card-head h2{font-size:15px;margin:0}
.lk-card-head span{font-size:12px;opacity:.6}
.lk-bar{height:6px;border-radius:4px;background:rgba(120,120,140,.18);overflow:hidden;margin-bottom:10px}
.lk-bar i{display:block;height:100%;background:linear-gradient(90deg,#6366f1,#a855f7)}
.lk-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.lk-checklist button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:none;cursor:pointer;font-size:13px;padding:7px 6px;border-radius:8px;color:inherit}
.lk-checklist button:hover{background:rgba(120,120,160,.08)}
.lk-checklist li::marker{content:""}
.lk-checklist li button::before{content:"○";opacity:.4}
.lk-checklist li.done button{opacity:.6;text-decoration:line-through}
.lk-checklist li.done button::before{content:"✅";opacity:1}
.lk-section-title{font-size:15px;font-weight:800;margin:22px 2px 10px}
.lk-period{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 16px}
.lk-period-label{font-size:13px;font-weight:700;margin-right:4px}
.lk-period>button:not(.admin-button){font-size:13px;padding:7px 12px;border-radius:8px;border:1px solid var(--border,#e5e7eb);background:transparent;cursor:pointer;color:inherit}
.lk-period>button.on{background:#17181d;border-color:#17181d;color:#fff}
.lk-period input[type="date"]{font-size:13px;padding:6px 8px;border:1px solid var(--border,#e5e7eb);border-radius:8px;background:transparent;color:inherit}
.lk-sum-label{font-size:13px;font-weight:700;margin:14px 2px 8px;opacity:.8}
.lk-sums{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.lk-sums .admin-stat strong{font-size:26px}
.lk-legend{display:flex;align-items:center;gap:6px;font-size:11px;flex-wrap:wrap}
.lk-legend i{display:inline-block;width:10px;height:10px;border-radius:2px}
.lk-line{width:100%;height:200px;display:block}

/* ── 가독성 확대 2차 (2026-07-18) — 수강생 페이지 글씨 더 키우고 대비·여백 개선 ── */
.classroom-nav a{font-size:14px;padding:8px 12px}
.classroom-hero p{font-size:15px}
.classroom-hero small{font-size:12px}
.continue-card p{font-size:13px}
.classroom-section-head p{font-size:13px}
.student-course-body h3{font-size:16px}
.student-course-body p{font-size:13px;line-height:1.6}
.student-course-meta{font-size:12px}
.notice-row b{font-size:14px}
.notice-row small{font-size:12px}
.quick-resource b{font-size:13px}
.quick-resource small{font-size:12px}
.classroom-resource{padding:14px 16px}
.classroom-resource b{font-size:14px}
.classroom-resource small{font-size:12px}
.lesson-back{font-size:13px}
.lesson-header-title b{font-size:14px}
.lesson-header-title small{font-size:11px}
.lesson-progress-card small,.lesson-progress-card span{font-size:12px}
.lesson-chapter header b{font-size:14px}
.lesson-chapter header small{font-size:11px}
.lesson-link{padding:10px 12px;gap:10px}
.lesson-link b{font-size:14px;line-height:1.45}
.lesson-link small{font-size:11px}
.lesson-link em{font-size:11px}
.lesson-info p{font-size:15px;line-height:1.7}
.lesson-box h2,.lesson-box h3{font-size:15px}
.lesson-box p,.lesson-box li{font-size:14px;line-height:1.7}
.lesson-notes{font-size:14px}
.lesson-download{opacity:1}
.lesson-download b{font-size:14px;color:inherit}
.lesson-download small{font-size:12px;opacity:.75}
.lesson-download span{font-size:11px}
.lesson-placeholder small{font-size:12px}
.demo-notice{font-size:12px}
.auth-switch{font-size:14px}
