/* TutorMost Platform v3 — native extension of the original visual design */
.portal-hero{padding:74px 0 50px;background:radial-gradient(circle at 75% 12%,#dceaff 0,transparent 42%),linear-gradient(180deg,#f6f9ff,#fff)}
.portal-hero h1{max-width:850px;font-size:clamp(38px,5vw,67px);line-height:1.08;letter-spacing:-.04em;margin:15px 0 20px;color:#12294c}
.portal-hero p{font-size:18px;color:#60738c;max-width:780px;line-height:1.7}
.portal-main{padding:32px 0 96px}
.portal-cols{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:24px}
.portal-panel{background:white;border:1px solid #e1e8f4;border-radius:24px;padding:30px;box-shadow:0 16px 50px rgba(22,52,100,.05)}
.portal-panel h2{margin:0 0 20px;font-size:25px;letter-spacing:-.02em;color:#183357}
.portal-panel h3{margin:6px 0 14px;font-size:19px;color:#173456}
.portal-panel p{color:#657590;line-height:1.65}
.portal-form{display:grid;gap:17px}
.portal-form label{display:grid;gap:7px;font-size:14px;font-weight:650;color:#284162}
.portal-form input,.portal-form select,.portal-form textarea,.portal-filters input,.portal-filters select{border:1px solid #d9e3f0;border-radius:12px;padding:13px 14px;width:100%;background:#fff;font:inherit;color:#182a46;min-width:0}
.portal-form textarea{min-height:120px;resize:vertical}
.portal-form input:focus,.portal-form select:focus,.portal-form textarea:focus,.portal-filters input:focus{outline:3px solid #d5e6ff;border-color:#4584e8}
.portal-form button,.portal-action{background:#285fd9;color:white;border:0;border-radius:12px;padding:13px 23px;cursor:pointer;font-size:15px;font-weight:700}
.portal-form button:disabled{opacity:.6;cursor:wait}
.portal-note{background:#f1f6ff;border:1px solid #dae6fa;border-radius:14px;padding:15px;color:#365779;font-size:14px;line-height:1.6}
.portal-warning{background:#fff8eb;border:1px solid #f3ddae;color:#805c1b}
.portal-status{min-height:22px;font-weight:600;color:#27659f;font-size:14px}
.portal-status.error{color:#bb3342}
.portal-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.portal-tabs{display:flex;gap:6px;background:#f1f5fb;border-radius:14px;padding:5px;margin-bottom:22px;width:max-content;max-width:100%}
.portal-tabs button{border:0;padding:11px 18px;border-radius:10px;background:transparent;color:#516888;font:inherit;cursor:pointer;font-weight:700}
.portal-tabs button.active{background:#fff;color:#174bab;box-shadow:0 2px 8px #cad7eb80}
.portal-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}
.portal-stat{background:#f4f8ff;border:1px solid #e1eaf9;border-radius:16px;padding:18px}
.portal-stat strong{display:block;color:#1d4a95;font-size:28px;margin:4px 0}
.portal-stat span{font-size:13px;color:#677c9a}
.portal-list{display:grid;gap:12px}
.portal-item{border:1px solid #e2eaf5;border-radius:16px;padding:18px;background:#fff;display:flex;justify-content:space-between;gap:15px;align-items:center}
.portal-item strong{font-size:16px;color:#183353;display:block;margin-bottom:6px}
.portal-item p{font-size:14px;margin:4px 0}
.portal-badge{font-size:12px;font-weight:750;background:#eaf2ff;color:#2b65b9;border-radius:99px;padding:6px 12px;display:inline-block}
.portal-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.portal-filters{display:grid;grid-template-columns:1.5fr 1fr;gap:12px;min-width:min(100%,530px)}
.tutor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tutor-card{background:#fff;border:1px solid #e0e9f5;border-radius:23px;padding:24px;display:flex;flex-direction:column;gap:12px;box-shadow:0 9px 25px #14386a08}
.tutor-avatar{width:62px;height:62px;border-radius:17px;background:linear-gradient(135deg,#dfeafe,#a6cbfa);display:grid;place-items:center;color:#205eab;font-weight:800;font-size:23px}
.tutor-card h3{font-size:19px;color:#163452;margin:3px 0}
.tutor-card p{color:#647993;margin:0;line-height:1.6}
.tutor-card .portal-action{margin-top:auto;text-align:center;text-decoration:none}
.portal-empty{padding:44px 25px;text-align:center;background:#f4f8ff;border:1px dashed #b8cdec;border-radius:24px;grid-column:1/-1}
.portal-empty h3{font-size:21px;margin:14px 0 8px}
.portal-empty p{max-width:550px;margin:0 auto 20px}
.portal-admin-nav{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 22px}
.portal-admin-nav button{border:1px solid #dce5f2;background:#fff;border-radius:11px;padding:10px 15px;cursor:pointer;font-weight:650;color:#38618e}
.portal-admin-nav button.active{color:#fff;border-color:#285fd9;background:#285fd9}
.portal-admin-edit{max-width:900px;margin-top:20px}
.portal-table{width:100%;border-collapse:collapse;font-size:14px}
.portal-table td,.portal-table th{padding:12px 8px;text-align:left;border-bottom:1px solid #e5ebf5;vertical-align:middle}
.portal-table th{color:#5f7390;font-weight:700}
.portal-table select{max-width:190px;padding:8px;border-radius:9px;border:1px solid #dfe5ef;background:#fff}
.portal-table-wrap{overflow:auto}
.portal-link{background:none;border:0;color:#1a63c7;cursor:pointer;padding:0;font:inherit;text-decoration:underline}
.portal-small{font-size:13px;color:#6a7e96}
.portal-disclaimer{margin:24px 0;border-left:3px solid #4b83dc;padding:12px 16px;color:#506786;background:#f2f6ff;border-radius:0 12px 12px 0;font-size:13px}
@media(max-width:900px){.portal-cols{grid-template-columns:1fr}.tutor-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.portal-hero{padding:49px 0 30px}.portal-hero h1{font-size:38px}.portal-main{padding:26px 0 70px}.portal-panel{padding:20px;border-radius:18px}.portal-field-row,.portal-filters{grid-template-columns:1fr}.portal-cards{grid-template-columns:1fr 1fr}.tutor-grid{grid-template-columns:1fr}.portal-item{align-items:flex-start;flex-direction:column}}
