@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#102b4b;--navy2:#173d63;--blue:#17679a;--red:#d84d59;--redDark:#bd3543;--ink:#203247;--muted:#748399;--line:#e5ebf2;--bg:#f4f7fb;--green:#16856c;--amber:#b7791f;--shadow:0 8px 28px rgba(18,45,75,.055);--radius:16px}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg);scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 "DM Sans",Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}
.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:258px;background:linear-gradient(180deg,#102b4b,#0d2440);color:#e9f1f9;padding:24px 16px 18px;display:flex;flex-direction:column;z-index:30}
.brand{display:flex;align-items:center;gap:11px;padding:0 10px 30px;color:#fff}.brand-mark{width:40px;height:40px;border-radius:12px;background:linear-gradient(145deg,#ef8584,#d84d59);display:grid;place-items:center;color:white;font:800 14px Manrope;box-shadow:0 7px 16px #0002;flex:none}.brand-copy{display:grid;gap:2px;letter-spacing:.08em}.brand-copy strong{font:800 13px Manrope;letter-spacing:.12em}.brand-copy small{color:#a9bdd1;font-size:9px;letter-spacing:.18em}
.side-label{font-size:9px;letter-spacing:.16em;font-weight:700;color:#7992ab;padding:0 13px 10px}.side-nav{display:grid;gap:5px}.side-nav a{min-height:46px;display:flex;align-items:center;gap:12px;border-radius:11px;padding:0 13px;color:#bac9d8;font-weight:600;font-size:13px;transition:.18s}.side-nav a:hover{background:#ffffff0d;color:#fff}.side-nav a.active{color:#fff;background:linear-gradient(90deg,#ffffff1c,#ffffff0b);box-shadow:inset 3px 0 #e46d72}.nav-icon{width:20px;height:20px;display:grid;place-items:center}.nav-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sidebar-bottom{margin-top:auto}.sidebar-help{display:flex;gap:10px;align-items:center;padding:13px 10px;border:1px solid #ffffff18;border-radius:12px;background:#ffffff08}.sidebar-help b,.sidebar-help small{display:block}.sidebar-help b{font-size:11px;color:#e8f0f8}.sidebar-help small{font-size:9px;color:#9bb0c5;margin-top:3px}.help-dot{width:8px;height:8px;background:#47c2a2;border-radius:50%;box-shadow:0 0 0 4px #47c2a220}.side-logout{display:flex;justify-content:space-between;padding:16px 12px 0;color:#b1c2d2;font-size:12px;font-weight:600}
.main-area{margin-left:258px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:15}.topbar-title{font:700 14px Manrope;color:#223b56}.topbar-title span{font-weight:500;color:#98a5b5}.topbar-right{display:flex;align-items:center;gap:16px}.top-user{display:flex;gap:10px;align-items:center}.avatar,.mini-avatar,.profile-avatar{display:grid;place-items:center;border-radius:50%;background:#eaf1f8;color:#1b5e8b;font-weight:800;flex:none}.avatar{width:36px;height:36px;font-size:11px}.user-meta b,.user-meta small{display:block}.user-meta b{font-size:11px;color:#233c56}.user-meta small{font-size:10px;color:#8290a2;margin-top:1px}.menu-toggle{display:none;border:0;background:#f2f5f9;color:#183d60;border-radius:9px;width:38px;height:38px;font-size:18px}
.content{width:100%;max-width:1580px;margin:0 auto;padding:30px 34px 24px;flex:1}.footer{display:flex;justify-content:space-between;padding:16px 34px 22px;color:#9aa6b5;font-size:10px;border-top:1px solid #e9eef3;background:#fff}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:0 0 25px}.page-heading h1{font:800 27px/1.2 Manrope,sans-serif;color:var(--navy);letter-spacing:-.04em;margin:5px 0 7px}.page-heading p{margin:0;color:var(--muted);font-size:13px}.eyebrow{font-size:9px;font-weight:800;letter-spacing:.16em;color:var(--red);text-transform:uppercase}
.btn{min-height:40px;padding:10px 16px;border:1px solid transparent;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:12px;font-weight:700;transition:.18s;white-space:nowrap}.btn-primary{background:var(--red);color:white;box-shadow:0 5px 13px #d84d5922}.btn-primary:hover{background:var(--redDark);transform:translateY(-1px)}.btn-light{background:#fff;color:#37516d;border-color:#dce5ef}.btn-light:hover{background:#f7f9fc;border-color:#c7d4e2}.btn-ghost{background:transparent;color:#687b90}.btn-sm{min-height:32px;padding:7px 12px;font-size:11px}
.alert{padding:12px 15px;border-radius:10px;margin:0 0 18px;font-size:12px;font-weight:600}.alert-success{background:#e9f7f1;border:1px solid #cbeadf;color:#17664f}.alert-danger{background:#fff0f0;border:1px solid #f1d1d3;color:#a62f3b}.alert-warning{background:#fff8e9;border:1px solid #f0dfb6;color:#8d6419}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 19px;box-shadow:var(--shadow);min-width:0}.stat-top{display:flex;align-items:center;justify-content:space-between;color:#78879a;font-size:11px;font-weight:600}.stat-card>strong{display:block;font:800 29px Manrope;color:var(--navy);letter-spacing:-.04em;margin:9px 0 3px}.stat-card>small{font-size:10px;color:#9aa6b5}.stat-icon{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;font-size:16px;font-weight:800}.stat-icon.blue{background:#eaf3fb;color:#17679a}.stat-icon.red{background:#fff0ef;color:#d84d59}.stat-icon.amber{background:#fff6e8;color:#b7791f}.stat-icon.green{background:#e8f7f1;color:#16856c}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:18px;margin-bottom:20px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 21px 14px}.panel-head h2{font:800 15px Manrope;color:var(--navy);margin:0}.panel-head p{font-size:10px;color:#8b98a9;margin:4px 0 0}.text-link{color:#17679a;font-weight:700;font-size:11px;white-space:nowrap}
.pipeline-list{padding:5px 21px 20px}.pipeline-row{margin:12px 0}.pipeline-label{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:10px;color:#6c7d90}.pipeline-label b{color:#354a62;font-size:11px}.pipeline-label>span:last-child{margin-left:auto;font-weight:800;color:#425a74}.stage-dot{width:7px;height:7px;border-radius:50%;background:#95a5b6}.stage-dot.new{background:#4b8fc5}.stage-dot.contacted{background:#7b8ba1}.stage-dot.interested{background:#d4a144}.stage-dot.counselled{background:#7d74bd}.stage-dot.applied{background:#378db1}.stage-dot.admitted{background:#269a7b}.stage-dot.enrolled{background:#16856c}.stage-dot.lost{background:#d65b61}.pipeline-track{width:100%;height:7px;background:#edf1f5;border-radius:20px;overflow:hidden}.pipeline-track i{display:block;height:100%;background:#6c9fc5;border-radius:20px}.pipeline-track i.new{background:#4b8fc5}.pipeline-track i.contacted{background:#7b8ba1}.pipeline-track i.interested{background:#d4a144}.pipeline-track i.counselled{background:#7d74bd}.pipeline-track i.applied{background:#378db1}.pipeline-track i.admitted{background:#269a7b}.pipeline-track i.enrolled{background:#16856c}.pipeline-track i.lost{background:#d65b61}
.follow-panel{padding-bottom:7px}.follow-item{display:flex;align-items:center;gap:11px;padding:11px 20px;border-top:1px solid #f0f3f6}.follow-item:hover{background:#fafbfd}.follow-date{width:39px;height:43px;display:grid;align-content:center;text-align:center;border-radius:9px;background:#fff1f0;color:#c54350;flex:none}.follow-date b{font:800 16px Manrope;line-height:1.1}.follow-date small{font-size:9px;font-weight:700}.follow-copy{min-width:0;flex:1}.follow-copy b,.follow-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.follow-copy b{font-size:11px;color:#344b63}.follow-copy small{font-size:9px;color:#8b98a9;margin-top:3px}.follow-arrow{color:#9aabba}
.table-panel{overflow:hidden}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{width:100%;border-collapse:collapse;min-width:790px}.data-table th{background:#f8fafc;color:#8190a2;text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:800;text-align:left;padding:12px 17px;border-top:1px solid #edf1f5;border-bottom:1px solid #edf1f5;white-space:nowrap}.data-table td{padding:13px 17px;border-bottom:1px solid #f0f3f6;font-size:11px;color:#586b80;white-space:nowrap}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fbfcfe}.student-link{display:flex;align-items:center;gap:9px;min-width:175px}.mini-avatar{width:32px;height:32px;font-size:10px}.student-link b,.student-link small{display:block}.student-link b{font-size:11px;color:#2c4560}.student-link small{font-size:9px;color:#91a0b0;margin-top:2px}.cell-main{display:block;color:#405771;font-size:10px}.cell-sub{display:block;color:#9aa6b5;font-size:9px;margin-top:3px}.stage-badge,.role-pill,.muted-chip{display:inline-flex;align-items:center;border-radius:20px;padding:5px 9px;font-size:9px;font-weight:800;background:#f0f3f7;color:#66788d;white-space:nowrap}.stage-badge.new{background:#eaf3fb;color:#286a9c}.stage-badge.contacted{background:#eff2f6;color:#64758b}.stage-badge.interested{background:#fff5df;color:#9b6b12}.stage-badge.counselled{background:#f1effb;color:#675ca6}.stage-badge.applied{background:#e9f5fa;color:#2c7696}.stage-badge.admitted{background:#e7f6f0;color:#18745c}.stage-badge.enrolled{background:#e3f5ee;color:#137355}.stage-badge.lost{background:#fff0f0;color:#b33a47}.priority{font-size:9px;font-weight:800;color:#728196}.priority.high{color:#bd6c1a}.priority.urgent{color:#c43e4b}.priority.low{color:#8795a5}.icon-link{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#f2f6fa;color:#42617e}
.empty-state{display:grid;justify-items:center;text-align:center;gap:7px;padding:34px 16px;color:#687b90}.empty-state>span{font-size:22px;color:#17866d}.empty-state b{color:#314a63;font-size:13px}.empty-state small{font-size:10px;color:#91a0b1}.empty-state.compact{padding:28px 15px}.filter-bar{display:flex;align-items:center;gap:9px;margin-bottom:16px;flex-wrap:wrap}.search-box{height:40px;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #dfe7ef;border-radius:10px;padding:0 12px;flex:1;min-width:220px}.search-box span{font-size:18px;color:#91a0b1}.search-box input{border:0;outline:0;background:transparent;width:100%;min-width:0;font-size:11px}.filter-bar select{width:auto;min-width:135px;height:40px}
select,input,textarea{width:100%;border:1px solid #dbe4ed;border-radius:9px;background:#fff;color:#324a63;padding:10px 11px;outline:none;font-size:12px;transition:.15s}select:focus,input:focus,textarea:focus{border-color:#7aa8c9;box-shadow:0 0 0 3px #2c83b51a}textarea{resize:vertical;min-height:80px}input::placeholder,textarea::placeholder{color:#a9b4c1}
.form-panel{padding:24px 26px}.form-section-title{display:flex;align-items:center;gap:12px;margin:5px 0 17px;padding-bottom:12px;border-bottom:1px solid #edf1f5}.form-section-title:not(:first-child){margin-top:27px}.form-section-title>span{width:31px;height:31px;border-radius:9px;background:#fff0ef;color:#c84652;display:grid;place-items:center;font:800 11px Manrope}.form-section-title b,.form-section-title small{display:block}.form-section-title b{font:800 13px Manrope;color:#1b3a5a}.form-section-title small{font-size:10px;color:#93a0af;margin-top:2px}.form-grid{display:grid;grid-template-columns:1fr;gap:13px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:grid;gap:6px;min-width:0}.field>span{font-size:10px;color:#5e7187;font-weight:700}.field.full,.btn.full{grid-column:1/-1}.field textarea{width:100%}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:23px;padding-top:17px;border-top:1px solid #edf1f5}
.profile-heading{display:flex;align-items:center;gap:13px}.profile-avatar{width:49px;height:49px;font-size:15px}.detail-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,.75fr);gap:18px;align-items:start}.detail-main,.detail-side{display:grid;gap:17px;min-width:0}.detail-panel,.info-panel{padding:0 20px 20px}.detail-panel>.panel-head,.info-panel>.panel-head{padding-left:0;padding-right:0}.stage-form{display:flex;align-items:flex-end;gap:10px;max-width:550px}.stage-form .field{flex:1}.info-panel h2{font:800 14px Manrope;color:var(--navy);margin:20px 0 12px}.info-list{display:grid;grid-template-columns:1fr 1.25fr;gap:9px 10px;margin:0}.info-list dt{font-size:10px;color:#8b99a9}.info-list dd{font-size:10px;font-weight:700;color:#405872;margin:0;overflow-wrap:anywhere}.notes-box{margin-top:17px;background:#f7f9fc;border-radius:9px;padding:11px 12px}.notes-box b{font-size:10px;color:#51677f}.notes-box p{font-size:10px;color:#65778d;margin:5px 0 0}
.timeline{padding:2px 0 0 4px}.timeline-item{display:flex;gap:11px;position:relative;padding:0 0 18px}.timeline-item:not(:last-child):before{content:"";position:absolute;top:27px;bottom:-1px;left:12px;width:1px;background:#e4ebf2}.timeline-marker{width:25px;height:25px;border-radius:50%;background:#edf4fa;color:#236b9a;display:grid;place-items:center;font-size:10px;font-weight:800;z-index:1;flex:none}.timeline-body{min-width:0;flex:1}.timeline-title{display:flex;justify-content:space-between;gap:12px}.timeline-title b{font-size:11px;color:#344c65}.timeline-title small{font-size:9px;color:#9aa7b6}.timeline-body p{font-size:10px;color:#64778d;margin:5px 0;overflow-wrap:anywhere}.timeline-user{display:block;color:#98a5b4;font-size:9px;margin-top:5px}.task-row{display:flex;gap:10px;align-items:flex-start;padding:12px 0;border-top:1px solid #f0f3f6}.task-check button,.task-check>span{width:24px;height:24px;border:1px solid #c8d9d3;border-radius:50%;background:#eff8f4;color:#16856c;display:grid;place-items:center;font-weight:800;font-size:12px}.task-copy{min-width:0;flex:1}.task-copy b,.task-copy small{display:block}.task-copy b{font-size:11px;color:#36506a}.task-copy small{font-size:9px;color:#8b99a9;margin-top:4px}.task-copy small.overdue{color:#c3404b;font-weight:800}.tabs{display:flex;gap:5px;border-bottom:1px solid #eaf0f5;margin:0 0 7px}.tabs a{font-size:10px;font-weight:700;color:#8796a7;padding:8px 12px;border-bottom:2px solid transparent}.tabs a.active{color:#1a5d89;border-color:#d84d59}.mini-task{padding:9px 0;border-bottom:1px solid #f0f3f6}.mini-task b,.mini-task small{display:block}.mini-task b{font-size:10px;color:#405872}.mini-task small{font-size:9px;color:#93a0af;margin-top:4px}
.tasks-layout{grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr)}.team-list{padding:0 20px 15px}.team-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #f0f3f6}.team-copy{flex:1;min-width:0}.team-copy b,.team-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-copy b{font-size:11px;color:#36506a}.team-copy small{font-size:9px;color:#8e9cad;margin-top:3px}.role-pill{background:#edf4fa;color:#446d8f}.user-status{font-size:9px;font-weight:700}.user-status.on{color:#16856c}.user-status.off{color:#c3404b}.master-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.master-grid .detail-panel{padding:0 17px 18px}.master-items{border-top:1px solid #edf1f5;margin-top:17px;padding-top:8px;max-height:260px;overflow:auto}.master-items>div{padding:8px 0;border-bottom:1px solid #f3f5f7}.master-items b,.master-items small{display:block}.master-items b{font-size:10px;color:#425a73}.master-items small{font-size:9px;color:#96a3b1;margin-top:2px}.report-bar{margin:13px 0}.report-bar>div:first-child{display:flex;justify-content:space-between;margin-bottom:6px;font-size:10px}.report-bar b{color:#40556e}.report-bar span{color:#8a98a9;font-weight:700}.count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:20px;background:#edf3f8;color:#416787;font-size:10px;margin-left:5px}.muted{color:#8896a6;font-size:11px}
.auth-body{min-height:100vh;background:radial-gradient(circle at 14% 12%,#e6eef7 0,transparent 29%),linear-gradient(135deg,#f5f8fb,#edf2f8);display:grid;place-items:center;padding:24px}.auth-wrap{width:100%;max-width:420px}.auth-brand{display:flex;align-items:center;gap:11px;justify-content:center;margin-bottom:22px;color:var(--navy)}.auth-brand>div{display:grid;gap:2px}.auth-brand b{font:800 14px Manrope;letter-spacing:.12em}.auth-brand small{font-size:9px;letter-spacing:.17em;color:#8395a9}.auth-card{background:white;border:1px solid #e2e9f0;border-radius:20px;padding:30px;box-shadow:0 18px 55px #17395a12}.auth-card h1{font:800 23px/1.25 Manrope;color:var(--navy);letter-spacing:-.04em;margin:7px 0}.auth-card>p{font-size:11px;color:#8291a2;margin:0 0 21px}.auth-card .form-grid{gap:14px}.auth-card .btn{margin-top:4px}.auth-bottom,.auth-foot{text-align:center;color:#91a0b0;font-size:10px;margin-top:17px}.auth-foot{line-height:1.6}.sidebar-backdrop{display:none}
@media(max-width:1180px){.sidebar{width:225px}.main-area{margin-left:225px}.content{padding-left:25px;padding-right:25px}.topbar{padding:0 25px}.stats-grid{gap:11px}.stat-card{padding:16px}.stat-card>strong{font-size:26px}}
@media(max-width:900px){.sidebar{width:260px;transform:translateX(-102%);transition:transform .24s ease;box-shadow:15px 0 45px #061a3026}.sidebar.open{transform:translateX(0)}.main-area{margin-left:0}.menu-toggle{display:grid;place-items:center;margin-right:12px}.topbar{justify-content:flex-start;padding:0 20px}.topbar-title{flex:1}.sidebar-backdrop.show{display:block;position:fixed;inset:0;background:#081b2e75;z-index:25}.content{padding:24px 20px}.footer{padding:15px 20px}.master-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.topbar{height:60px;padding:0 13px}.topbar-title{font-size:12px}.top-user .user-meta{display:none}.avatar{width:33px;height:33px}.content{padding:20px 13px 22px}.footer{padding:13px;gap:8px;font-size:9px}.page-heading{align-items:flex-start;flex-direction:column;gap:13px;margin-bottom:18px}.page-heading h1{font-size:24px}.page-heading p{font-size:12px}.page-heading>.btn{width:100%}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{padding:14px;border-radius:13px}.stat-card>strong{font-size:24px}.stat-top{font-size:10px}.stat-card>small{font-size:9px}.dashboard-grid,.detail-grid,.tasks-layout{grid-template-columns:1fr;gap:13px}.panel-head{padding:16px 15px 12px}.pipeline-list{padding:3px 15px 15px}.follow-item{padding:10px 14px}.filter-bar{display:grid;grid-template-columns:1fr 1fr;gap:8px}.search-box{grid-column:1/-1;width:100%;min-width:0}.filter-bar select{width:100%;min-width:0}.filter-bar .btn{width:100%}.form-panel{padding:18px 15px}.form-grid.two{grid-template-columns:1fr}.form-section-title:not(:first-child){margin-top:22px}.form-actions{display:grid;grid-template-columns:1fr 1fr}.detail-panel,.info-panel{padding:0 14px 16px}.profile-heading{align-items:flex-start}.profile-avatar{width:42px;height:42px}.stage-form{display:grid;grid-template-columns:1fr}.stage-form .btn{width:100%}.info-list{grid-template-columns:1fr 1.2fr;gap:8px}.master-grid{grid-template-columns:1fr}.master-grid .detail-panel{padding:0 15px 16px}.auth-card{padding:24px 19px}.auth-card h1{font-size:21px}}
@media(max-width:390px){.stats-grid{gap:8px}.stat-card{padding:12px}.stat-card>strong{font-size:22px}.footer span:last-child{display:none}.form-actions{grid-template-columns:1fr}}
