/* Shared account theme, using the public website's palette and typography. */
body.portal-page{
    --pusula-blue:#18355d;
    --pusula-orange:#d67a31;
    --portal-ink:#162234;
    --portal-muted:#607089;
    --portal-line:#d8e2ee;
    --portal-canvas:#f4f7fb;
    color:var(--portal-ink);
    font-family:'Manrope','Open Sans',sans-serif;
    background:radial-gradient(ellipse at 95% 0,rgba(214,122,49,.13),transparent 45%),radial-gradient(ellipse at 25% 0,rgba(24,53,93,.07),transparent 45%),var(--portal-canvas);
}
.portal-page :is(h1,h2,h3,h4,h5,h6,.ct,.portal-sidebar .brand){font-family:'Sora','Montserrat',sans-serif!important;letter-spacing:-.03em;}
.portal-page .portal-content{background:transparent;}
.portal-page .portal-sidebar{display:flex;flex-direction:column;height:100vh;height:100dvh;min-height:0;background:linear-gradient(180deg,#fff 0%,#f5f8fc 100%);border-right:1px solid var(--portal-line);box-shadow:8px 0 32px rgba(16,38,64,.025);}
.portal-page .portal-sidebar .brand{padding:25px 20px;gap:11px;border-bottom:1px solid var(--portal-line);min-height:92px;}
.portal-page .portal-sidebar .sidebar-logo{width:38px!important;height:38px!important;border-radius:13px!important;}
.portal-brand-text{font-size:1.05rem;letter-spacing:-.035em;}
.portal-brand-text small{display:block;margin-top:5px;font-family:'Manrope',sans-serif;font-size:.55rem;font-weight:700;letter-spacing:.12em;color:var(--portal-muted);}
.portal-page .portal-nav-links{padding:14px 12px;}
.portal-page .portal-sidebar .nav-link{min-height:43px;margin:4px 0;padding:10px 12px;border:1px solid transparent;border-radius:11px;gap:11px;color:#4f6179;font-size:.8rem;font-weight:600;transition:background .18s ease,border-color .18s ease,color .18s ease;}
.portal-page .portal-sidebar .nav-link i{color:#6e84a0;}
.portal-page .portal-sidebar .nav-link:hover{background:#eaf0f8;color:var(--pusula-blue);}
.portal-page .portal-sidebar .nav-link.active{color:var(--pusula-blue);background:#e8eef7;border-color:#cbd8e9;box-shadow:inset 3px 0 var(--pusula-orange);}
.portal-page .portal-sidebar .nav-link.active i{color:var(--pusula-blue);}
.portal-page .portal-sidebar #portalLogoutBtn:hover{background:#fff0ec;border-color:#f3d5cd;}
.portal-sidebar-note{margin:auto 18px 22px;padding:18px 14px;background:linear-gradient(135deg,#f8ede3,#fcf7f2);border:1px solid #efddcd;border-radius:14px;color:#795334;font-size:.72rem;line-height:1.8;}
.portal-sidebar-note i{display:block;font-size:1.05rem;color:#b7601d;margin-bottom:9px;}
.portal-sidebar-note strong{display:block;color:var(--pusula-blue);font-size:.76rem;margin-bottom:3px;}
.portal-page .portal-topbar{min-width:0;gap:18px;}
.portal-page:not(.guide-page) .portal-topbar{min-height:112px;margin:24px 28px 0;padding:24px 28px;border:1px solid #244a76;border-radius:20px;background:radial-gradient(ellipse at 95% 0,rgba(214,122,49,.22),transparent 55%),linear-gradient(115deg,#102640,#18355d 65%,#2f5f92);box-shadow:0 14px 34px rgba(16,38,64,.08);color:#fff;}
.portal-page:not(.guide-page) .portal-topbar h5{font-size:1.15rem;line-height:1.5;color:white!important;}
.portal-page:not(.guide-page) .portal-topbar .text-muted{color:#c5d6e9!important;}
.portal-page:not(.guide-page) .portal-topbar :is(.av,#userAv){background:#ffffff1a!important;border:1px solid #ffffff45;}
.portal-page-eyebrow{display:block;color:#edc39f;font-size:.58rem;letter-spacing:.12em;font-weight:800;margin-bottom:6px;}
.portal-page:not(.guide-page) .portal-topbar .btn{flex-shrink:0;white-space:normal;font-size:.75rem;}
.portal-page:not(.guide-page) .portal-topbar .btn-primary{color:#fff;background:#ad581c;border-color:#d18b53;}
.portal-page:not(.guide-page) .portal-topbar .btn-primary:hover{background:#934716;border-color:#dba276;}
.portal-page:not(.guide-page) .portal-topbar .btn-outline-secondary{color:#fff;border-color:#ffffff50;background:#ffffff0a;}
.portal-page:not(.guide-page) .portal-topbar .btn-outline-secondary:hover{color:#fff;background:#ffffff20;}
.portal-page .portal-body{padding:26px 28px 32px;}
.portal-page :is(.info-card,.form-card,.mentor-card,.search-bar,.portal-panel){border:1px solid var(--portal-line);border-radius:18px;background:#ffffffed;box-shadow:0 10px 28px rgba(16,38,64,.045);}
.portal-page .portal-panel{padding:20px;margin-bottom:20px;}
.portal-page :is(.info-card h6,.form-card .ct){border-bottom-color:var(--portal-line);font-size:.85rem;line-height:1.6;padding-bottom:13px;}
.portal-page :is(.info-card h6,.form-card .ct)>i{color:#b7601d;}
.portal-page .mentor-card:hover{box-shadow:0 16px 36px rgba(16,38,64,.09);border-color:#b6c8df;}
.portal-page .form-control,.portal-page .form-select{border:1px solid #cbd7e6;border-radius:11px;background-color:#fbfcfe;}
.portal-page :is(.form-control,.form-select):focus{border-color:#2f5f92;background-color:#fff;box-shadow:0 0 0 3px rgba(47,95,146,.10);}
.portal-page .btn{border-radius:10px;}
.portal-page .btn-warning{background:#b7601d;border-color:#b7601d;color:#fff;}
.portal-page .btn-warning:hover{background:#9c4e17;border-color:#9c4e17;}
.portal-page .tag{background:#eaf0f8;color:var(--pusula-blue);}
.portal-page .meet-date,.portal-page .meet-badge{background:#f8ede3;border:1px solid #f0ddcb;border-radius:11px;}
.portal-page .notif-dot{background:#b7601d;}
.portal-page .cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));}
.portal-page .cal-day{min-width:0;background:#f6f9fd;border-radius:10px;}
.portal-page .cal-day.other-month{background:#fafbfd;color:#96a3b6;}
.portal-page .cal-day.today{background:#fff4e9;border-color:#d67a31;}
.portal-page .cal-day.today .num{color:#a65419;}
.portal-page .msg-layout{height:calc(100vh - 180px);height:calc(100dvh - 180px);min-height:440px;margin:22px 28px 28px;border:1px solid var(--portal-line);border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(16,38,64,.045);}
.portal-page .conv-list{border-right-color:var(--portal-line);}
.portal-page .conv-item.active{background:#eaf0f8;box-shadow:inset 3px 0 var(--pusula-orange);}
.portal-page .chat-area{min-width:0;background:radial-gradient(ellipse at 100% 0,#f7e4d355,transparent 70%),#edf3fa;}
.portal-page .chat-header{border-bottom-color:var(--portal-line);}
.portal-page .chat-input{border-top-color:var(--portal-line);}
.portal-page .chat-input textarea{min-width:0;font-family:inherit;border-color:#cbd7e6;}
.portal-page .msg.mine{background:linear-gradient(120deg,#18355d,#2f5f92);}
.portal-page .msg.theirs{border:1px solid #d8e2ee;box-shadow:none;}
.portal-page .no-conv{padding:24px;text-align:center;color:#607089;}
.portal-page .no-conv>i{color:#b5c5da;background:#e3ecf6;padding:20px;border-radius:24px;}
.portal-page .portal-menu-toggle{font-family:'Manrope',sans-serif;}
.portal-page.guide-page .guide-topbar{background:#ffffffb8;border-bottom-color:var(--portal-line);}
.portal-page.guide-page .guide-body{padding-top:28px;}
@media(max-width:1100px){.portal-page .conv-list{width:240px;}}
@media(max-width:768px){
    .portal-page .portal-sidebar{display:none;}
    .portal-page .portal-sidebar.is-open{display:flex!important;}
    .portal-page .portal-content{margin-left:0;}
    .portal-page:not(.guide-page) .portal-topbar{margin:16px 16px 0;padding:22px 20px;min-height:104px;border-radius:18px;gap:12px;}
    .portal-page:not(.guide-page) .portal-topbar h5{font-size:1.05rem;}
    .portal-page .portal-body{padding:20px 16px 88px;}
    .portal-page .portal-sidebar .brand{min-height:80px;padding:20px;}
    .portal-sidebar-note{margin-bottom:18px;}
    .portal-page .msg-layout{flex-direction:column;height:calc(100dvh - 222px);min-height:480px;margin:18px 16px 88px;}
    .portal-page .conv-list{display:block;width:100%;max-height:154px;border-right:0;border-bottom:1px solid var(--portal-line);}
    .portal-page .chat-area{min-height:300px;}
    .portal-page .msg{max-width:85%;}
    .portal-page .cal-day{min-height:62px;padding:5px 3px;}
    .portal-page .event-dot{padding:2px;font-size:.58rem;}
    .portal-page .guide-body{padding-bottom:88px;}
}
@media(max-width:600px){
    .portal-page #upcomingMeets .meet-item>.flex-grow-1{flex-direction:column;align-items:flex-start!important;gap:8px;min-width:0;}
    .portal-page #upcomingMeets .meet-item>.flex-grow-1>:last-child{margin-left:0!important;}
}
@media(prefers-reduced-motion:reduce){.portal-page .portal-sidebar .nav-link{transition:none;}.portal-page .mentor-card{transition:none;}.portal-page .mentor-card:hover{transform:none;}}
