.portal-page{color:#111;background:#f6f7fb;min-height:100vh}.portal-header{background:#fff;border-bottom:1px solid #e5dccb;justify-content:space-between;align-items:center;height:76px;padding:0 max(24px,5vw);display:flex}.portal-header a{align-items:center;gap:10px;font-size:17px;display:flex}.portal-header img{object-fit:cover;border-radius:11px;width:44px;height:44px}.portal-header span{color:#b87400;text-transform:uppercase;letter-spacing:1px;font-size:11px;font-weight:800}.portal-login{grid-template-columns:1fr 480px;align-items:center;gap:8vw;min-height:calc(100vh - 76px);padding:60px 7vw;display:grid}.portal-intro p,.portal-welcome small{color:#b87400;letter-spacing:1.5px;font-size:11px;font-weight:900}.portal-intro h1,.portal-welcome h1{margin:15px 0;font-size:clamp(42px,5vw,68px);line-height:1.04}.portal-intro span,.portal-welcome p{color:#666;font-size:16px;line-height:1.65}.portal-login form,.portal-online,.portal-requests{background:#fff;border:1px solid #e5dccb;border-radius:22px;padding:32px;box-shadow:0 22px 60px #00000012}.portal-role{background:#f4efe5;border-radius:12px;grid-template-columns:1fr 1fr;gap:8px;padding:5px;display:grid}.portal-role button{cursor:pointer;background:0 0;border:0;border-radius:9px;padding:12px;font-weight:800}.portal-role button.active{color:#fff;background:#111}.portal-login h2{margin:28px 0 22px;font-size:28px}.portal-login label{gap:8px;margin-top:16px;font-size:12px;font-weight:800;display:grid}.portal-login input{background:#fff;border:1px solid #d7d0c4;border-radius:10px;padding:14px}.portal-primary,.portal-online button{color:#fff;cursor:pointer;background:#b87400;border:0;border-radius:11px;width:100%;margin-top:22px;padding:15px;font-weight:900}.portal-primary:disabled{opacity:.6}.portal-create{text-align:center;color:#8f5900;margin-top:20px;font-size:12px;font-weight:800;display:block}.portal-error{color:#a92525;background:#fff0f0;border:1px solid #efc8c8;border-radius:10px;padding:12px;font-size:12px}.portal-dashboard{max-width:1180px;margin:auto;padding:55px 7vw}.portal-welcome{justify-content:space-between;align-items:start;margin-bottom:28px;display:flex}.portal-welcome h1{font-size:46px}.portal-welcome button,.portal-requests>div button{cursor:pointer;background:#fff;border:1px solid #d7d0c4;border-radius:9px;padding:10px 15px;font-weight:800}.portal-online{justify-content:space-between;align-items:center;display:flex}.portal-online h2,.portal-online p{margin:0}.portal-online p{color:#666;margin-top:7px}.portal-online button{width:auto;margin:0;padding:13px 25px}.portal-requests{margin-top:18px}.portal-requests>div{justify-content:space-between;align-items:center;display:flex}.portal-requests section{border-top:1px solid #eee;gap:5px;padding:18px 0;display:grid}.portal-requests section span,.portal-requests section small,.portal-requests>p{color:#666}.portal-actions{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.portal-actions a{background:#fff;border:1px solid #e5dccb;border-radius:18px;justify-content:space-between;padding:26px;font-size:17px;font-weight:900;display:flex}.portal-actions span{color:#b87400}@media (width<=800px){.portal-login{grid-template-columns:1fr;padding:40px 20px}.portal-intro{text-align:center}.portal-dashboard{padding:40px 20px}.portal-actions{grid-template-columns:1fr}.portal-welcome{display:block}.portal-welcome button{margin-top:15px}.portal-online{align-items:flex-start;gap:20px}.portal-online button{white-space:nowrap}}.portal-online-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.portal-online .portal-sound-button{background:#071d3b}.portal-sound-button:before{content:"🔊";margin-right:7px}@media (width<=800px){.portal-online-actions{justify-content:stretch;width:100%}.portal-online-actions button{flex:1}}.portal-name-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.portal-guidance{color:#6f4a00;background:#fff7e7;border-radius:10px;margin:16px 0 2px;padding:12px;font-size:11px;line-height:1.55}.portal-create-button{cursor:pointer;background:0 0;border:0;width:100%}.portal-create-button:hover{text-decoration:underline}@media (width<=520px){.portal-name-fields{grid-template-columns:1fr;gap:0}}.portal-shell{grid-template-columns:250px 1fr;min-height:calc(100vh - 76px);display:grid}.portal-sidebar{color:#fff;background:#071d3b;flex-direction:column;gap:8px;height:calc(100vh - 76px);padding:34px 22px;display:flex;position:sticky;top:0}.portal-sidebar>div{gap:5px;margin-bottom:22px;padding:0 10px;display:grid}.portal-sidebar small{color:#d9b765}.portal-sidebar button,.portal-mobile-tabs button{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:13px 14px;font-weight:800}.portal-sidebar button.active{color:#fff;background:#c88700}.portal-sidebar .portal-signout{color:#efc7c7;margin-top:auto}.portal-dashboard{width:100%;max-width:1250px}.portal-mobile-tabs{display:none}.portal-notice,.portal-match-message{color:#14784b;background:#e8f8ef;border-radius:11px;padding:13px 15px;font-weight:700}.portal-match{background:#fff;border:1px solid #e5dccb;border-radius:22px;padding:30px;box-shadow:0 22px 60px #0000000f}.portal-match>p{color:#666}.portal-form-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.portal-form-grid label{gap:7px;font-size:12px;font-weight:800;display:grid}.portal-form-grid input,.portal-form-grid select{color:#111;background:#fff;border:1px solid #d7d0c4;border-radius:10px;width:100%;padding:14px}.portal-tutor{grid-template-columns:auto 1fr auto;align-items:center;gap:14px;display:grid!important}.portal-tutor img,.portal-avatar{object-fit:cover;border-radius:14px;width:52px;height:52px}.portal-avatar{color:#e8ad28;background:#071d3b;place-items:center;font-weight:900;display:grid!important}.portal-tutor div{gap:5px;display:grid}.portal-tutor em{color:#148151;font-style:normal;font-weight:900}.portal-task{gap:14px}.portal-task>div:first-child{gap:6px;display:grid}.portal-progress{grid-template-columns:minmax(120px,1fr) auto;align-items:center;gap:10px;display:grid}.portal-progress:before{content:"";z-index:0;background:#eee;border-radius:99px;grid-area:1/1;height:9px}.portal-progress>span{z-index:1;background:#c88700;border-radius:99px;grid-area:1/1;height:9px}.portal-upload{color:#8f5900;cursor:pointer;align-items:center;gap:12px;font-size:12px;font-weight:900;display:inline-flex}.portal-upload input{max-width:260px}.portal-accept{color:#fff;cursor:pointer;background:#0a7b4b;border:0;border-radius:9px;width:max-content;padding:10px 14px;font-weight:900}.portal-profile{background:#fff;border:1px solid #e5dccb;border-radius:22px;grid-template-columns:repeat(3,1fr);gap:20px;padding:30px;display:grid}.portal-profile div{gap:7px;display:grid}.portal-profile small{color:#9a6900;font-weight:900}.portal-profile p{color:#666;grid-column:1/-1}.portal-requests h2{margin-top:0}@media (width<=900px){.portal-shell{grid-template-columns:1fr}.portal-sidebar{display:none}.portal-mobile-tabs{gap:7px;margin:-18px 0 24px;padding-bottom:8px;display:flex;overflow-x:auto}.portal-mobile-tabs button{white-space:nowrap;color:#333;background:#fff;border:1px solid #e5dccb}.portal-mobile-tabs button.active{color:#fff;background:#071d3b}.portal-dashboard{padding:40px 20px}.portal-form-grid,.portal-profile{grid-template-columns:1fr}.portal-profile p{grid-column:auto}}.portal-alert-backdrop{z-index:1000;background:#030c1dd6;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.portal-alert{text-align:center;background:#fff;border:3px solid #e49a0a;border-radius:28px;width:min(460px,100%);padding:38px;box-shadow:0 30px 90px #0000004d}.portal-alert strong{color:#a66b00;letter-spacing:1.5px}.portal-alert h2{color:#071d3b;margin:18px 0 8px;font-size:34px}.portal-alert p{color:#59677c}.portal-alert button{color:#071d3b;cursor:pointer;background:#e49a0a;border:0;border-radius:12px;width:100%;margin-top:18px;padding:15px;font-weight:900}.portal-alert .portal-alert-dismiss{color:#6b7280;background:0 0;margin-top:8px}.portal-navigation{gap:9px;margin-bottom:20px;display:flex}.portal-navigation button{cursor:pointer;background:#fff;border:1px solid #d7d0c4;border-radius:9px;padding:10px 15px;font-weight:900}.portal-navigation button:disabled{opacity:.4}.portal-match>label,.portal-lesson-picker{gap:8px;margin:14px 0;font-size:12px;font-weight:900;display:grid}.portal-match textarea,.portal-match>label select,.portal-lesson-picker select{color:#111;font:inherit;background:#fff;border:1px solid #d7d0c4;border-radius:10px;padding:14px}.portal-match textarea{resize:vertical;min-height:100px}.portal-lesson-picker{background:#fff;border:1px solid #e5dccb;border-radius:16px;padding:18px}.portal-session{color:#fff;background:#071d3b;border-radius:22px;grid-template-columns:1.2fr .8fr;gap:22px;margin-top:18px;padding:30px;display:grid}.portal-session h2{margin:7px 0;font-size:30px}.portal-session p{color:#d8e1ef}.portal-meter{color:#071d3b;background:#fff;border-radius:16px;align-content:center;gap:6px;padding:20px;display:grid}.portal-meter b{font-size:34px}.portal-meter span{color:#a66b00;font-size:24px;font-weight:900}.portal-meter small{line-height:1.5}.portal-session-actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:10px;display:flex}.portal-session-actions button,.portal-session-actions a{color:#071d3b;cursor:pointer;background:#e49a0a;border:0;border-radius:10px;padding:13px 18px;font-weight:900}.portal-session-actions .danger{color:#fff;background:#bd3434}.portal-session-actions strong{color:#9ef0c4}.portal-test-note{grid-column:1/-1;font-size:12px;margin:0!important}.portal-requests section.current{background:#fff8e8;border:1px solid #e4bd6c;border-radius:12px;margin:0 -14px;padding:18px 14px}.portal-requests section b em{color:#138050;text-transform:uppercase;margin-left:8px;font-size:10px}.portal-chat{background:#fff;border:1px solid #e5dccb;border-radius:22px;padding:24px}.portal-chat-list{gap:12px;max-height:420px;padding:8px;display:grid;overflow-y:auto}.portal-chat-list>div{background:#f1f3f7;border-radius:14px;justify-self:start;max-width:72%;padding:13px}.portal-chat-list>div.mine{background:#fff2cf;justify-self:end}.portal-chat-list b,.portal-chat-list p,.portal-chat-list small{margin:0;display:block}.portal-chat-list p{white-space:pre-wrap;margin:6px 0}.portal-chat-list small{color:#6b7280}.portal-chat form{grid-template-columns:1fr auto;gap:10px;margin-top:18px;display:grid}.portal-chat textarea{resize:vertical;border:1px solid #d7d0c4;border-radius:12px;min-height:74px;padding:13px}.portal-chat button{color:#fff;background:#071d3b;border:0;border-radius:10px;padding:0 24px;font-weight:900}.portal-photo-editor{align-items:center;gap:18px;grid-column:1/-1!important;display:flex!important}.portal-photo-editor img{object-fit:cover;border-radius:18px;width:92px;height:92px}.portal-photo-editor label{gap:8px;font-weight:900;display:grid}.portal-photo-editor input{max-width:300px}.portal-files{flex-wrap:wrap;gap:8px;display:flex}.portal-files a{color:#8f5900;border:1px solid #d7d0c4;border-radius:8px;padding:8px 11px;font-size:12px;font-weight:900}@media (width<=700px){.portal-session{grid-template-columns:1fr}.portal-meter,.portal-session-actions,.portal-test-note{grid-column:1}.portal-chat-list>div{max-width:90%}.portal-chat form{grid-template-columns:1fr}.portal-chat button{padding:14px}.portal-navigation{z-index:20;position:sticky;top:6px}.portal-navigation button{box-shadow:0 5px 15px #00000014}}
