/* Shared UPMHub surfaces. Specificity keeps legacy per-page styles compatible. */
:root{
  --card:var(--bg-2);--primary:var(--accent);--text-sec:var(--text-3);
  --text-muted:var(--text-3);--border2:var(--border-2);--hover-bg:var(--bg-1);
  --ui-line:rgba(29,29,31,.085);--ui-shadow:0 2px 5px rgba(29,29,31,.025),0 14px 40px rgba(29,29,31,.035);
}
body.ui{background:#fafafb;color:var(--text);font-size:15px;letter-spacing:-.01em}
body.ui main{background:linear-gradient(180deg,#fff 0,#f7f8fa 300px,#fafafb 100%);min-width:0}
body.ui .container{padding-top:40px;padding-bottom:64px}
body.ui .navbar{background:rgba(255,255,255,.9);border-color:var(--ui-line)}
body.ui .nav-inner{gap:12px}
body.ui .logo-icon{background:var(--accent);border-radius:11px;box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}
body.ui .nav-link{font-size:13px;gap:7px;padding:8px 11px;border-radius:10px}
body.ui .nav-link-featured{background:transparent;color:var(--text-3)!important;font-weight:500}
body.ui .nav-link-featured:hover{background:var(--bg-1);color:var(--accent)!important}
.ui-nav-icon{width:17px;height:17px;display:inline-flex;align-items:center;flex-shrink:0}
.ui-nav-icon svg{width:100%;height:100%;display:block}
body.ui .nav-dropdown-menu,body.ui .user-menu{padding:8px;border:1px solid var(--ui-line);border-radius:16px;box-shadow:0 15px 50px rgba(29,29,31,.12)}
body.ui .nav-dropdown-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:9px;font-size:13px}
body.ui .nav-dropdown-item .ui-nav-icon{color:var(--accent)}
body.ui .nav-fx{background:var(--bg-1);border:1px solid var(--ui-line);border-radius:9px}
body.ui .lang-toggle{min-height:32px;min-width:34px;border:1px solid var(--border-2);border-radius:9px;color:var(--text-2);letter-spacing:0}
body.ui .mobile-nav{background:#fff;box-shadow:0 20px 30px rgba(29,29,31,.08);padding:16px 20px 24px}
body.ui .mobile-nav-link{display:flex;align-items:center;gap:12px;border-radius:10px;min-height:44px}
body.ui .mobile-nav-section-label{display:flex;align-items:center;gap:9px;color:var(--text-3);font-size:11px;letter-spacing:.05em;padding-top:14px}
body.ui .mobile-lang-btn{border-radius:9px;min-height:36px}
body.ui .btn{border-radius:11px;min-height:42px;padding:10px 18px;font-weight:600;font-size:13px;transition:background .18s,box-shadow .18s,transform .18s}
body.ui .btn-sm{min-height:34px;padding:7px 12px;font-size:12px}
body.ui .btn-primary{box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 3px 8px rgba(0,113,227,.12)}
body.ui .btn-outline{background:white;border-color:var(--border-2)}
body.ui .btn:disabled{box-shadow:none;transform:none;cursor:not-allowed}
body.ui .page-banner{padding:48px 24px 26px;background:transparent;text-align:left;border:0}
body.ui .page-banner::after{display:none}
body.ui .page-banner-inner{max-width:1152px;margin:auto}
body.ui .page-banner h1,body.ui .page-header h1{font-size:36px;font-weight:650;line-height:1.25;letter-spacing:-1.2px;margin-bottom:12px}
body.ui .page-banner p{font-size:13px;line-height:1.8;max-width:680px;color:var(--text-3)}
body.ui:has(.gpa-page,.elec-page,.split-page) .page-banner-inner{max-width:892px}
body.ui:has(.fx-calc-page) .page-banner-inner{max-width:568px}
body.ui:has(.ac-page) .page-banner-inner{max-width:748px}
body.ui:has(.payment-page) .page-banner-inner{max-width:748px}
body.ui .page-header{margin-bottom:30px}
body.ui .filter-bar,body.ui .section-switcher{background:rgba(250,251,252,.95);border-color:var(--ui-line);box-shadow:none}
body.ui .filter-inner{padding-top:12px;padding-bottom:12px;gap:12px}
body.ui .tab-btn,body.ui .type-btn,body.ui .filter-select{min-height:36px;border-radius:9px}
body.ui .tab-btn.active,body.ui .type-btn.active{background:#fff;border-color:rgba(0,113,227,.22);box-shadow:0 2px 6px rgba(29,29,31,.035)}
body.ui .inline-search{background:#fff;border-radius:11px;border-color:var(--border-2);min-height:40px}
body.ui .inline-search input{min-width:0}
body.ui .section-btn{padding:14px 18px;font-size:13px}
body.ui .rental-pathways{background:transparent;border:0}
body.ui .rental-pathways-inner{padding-top:8px;padding-bottom:24px;gap:16px}
body.ui .rental-pathway{background:rgba(255,255,255,.8);border-color:var(--ui-line);border-radius:16px;padding:20px;box-shadow:none}
body.ui .pathway-kicker{color:var(--accent)}
body.ui .posts-grid{gap:22px}
body.ui .post-card,body.ui .help-card,body.ui .detail-card,body.ui .comments-card,
body.ui .auth-card,body.ui .profile-header,body.ui .modal-card,body.ui .notif-card,
body.ui .stat-card,body.ui .admin-table-wrap,body.ui .card{
 background:#fff;border:1px solid var(--ui-line);border-radius:22px;box-shadow:var(--ui-shadow)
}
body.ui .post-card{transition:border-color .2s,box-shadow .2s,transform .2s}
body.ui .card-body{padding:22px}
body.ui .card-title{font-weight:650;letter-spacing:-.35px;line-height:1.5}
body.ui .card-img-placeholder{background:linear-gradient(140deg,#f2f5f9,#e9eef5);color:var(--text-3)}
body.ui .card-footer{border-color:var(--ui-line)}
body.ui .help-card{padding:24px;gap:18px}
body.ui .badge{border-radius:6px;font-size:11px;font-weight:500}
body.ui .posts-empty,body.ui .error-box{border:1px solid var(--ui-line);border-radius:22px;background:rgba(255,255,255,.65);padding:64px 24px}
body.ui .detail-body{padding:34px}
body.ui .detail-title{font-size:30px;line-height:1.4;letter-spacing:-.8px}
body.ui .detail-desc{line-height:1.95;overflow-wrap:anywhere}
body.ui .detail-meta{gap:20px}
body.ui .contact-box{border-radius:14px;background:var(--accent-dim);border:1px solid rgba(0,113,227,.1)}
body.ui .comments-card{padding:28px}
body.ui .comment-body,body.ui .comment-input-inner,body.ui .help-card-body,body.ui .profile-info{min-width:0;overflow-wrap:anywhere}
body.ui .form-section{background:white;border:1px solid var(--ui-line);border-radius:20px;padding:26px;margin-bottom:18px}
body.ui .form-section>.form-group:last-child{margin-bottom:0}
body.ui .form-group input,body.ui .form-group select,body.ui .form-group textarea,
body.ui .pay-input,body.ui .ride-shell input,body.ui .ride-shell select,
body.ui .ride-dialog input,body.ui .ride-dialog select,body.ui .ride-dialog textarea{
 border-color:var(--border-2);border-radius:11px;background-color:#fcfcfd;color:var(--text);min-height:44px
}
body.ui textarea{resize:vertical}
body.ui input,body.ui select,body.ui textarea{min-width:0;max-width:100%}
body.ui :is(input,select,textarea):focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}
body.ui input[type=checkbox],body.ui input[type=radio]{accent-color:var(--accent)}
body.ui .type-opt-card,body.ui .cond-opt-card,body.ui .upload-area{border-radius:13px;background:#fcfcfd}
body.ui .form-actions{gap:12px}
body.ui .auth-wrap{padding:64px 20px 80px;background:transparent;min-height:0}
body.ui .auth-wrap::before{display:none}
body.ui .auth-card{padding:40px;max-width:440px}
body.ui .auth-header h1{font-size:28px;font-weight:650;letter-spacing:-.8px}
body.ui .auth-header p{font-size:13px}
body.ui .auth-logo{margin-bottom:30px}
body.ui .auth-footer{margin-top:26px;padding-top:24px;border-top:1px solid var(--ui-line)}
body.ui .profile-cover{height:120px;background:linear-gradient(120deg,#0071e3,#4799e9)}
body.ui .profile-cover::after{opacity:.15}
body.ui .profile-header-body{padding:0 30px 28px}
body.ui .profile-tabs{gap:6px;flex-wrap:wrap}
body.ui .profile-tab{border-radius:10px;font-size:13px}
body.ui .modal-card,body.ui .notif-card{max-width:calc(100vw - 32px)}
body.ui .notif-overlay,body.ui .modal-overlay{backdrop-filter:blur(6px);background:rgba(20,30,45,.32)}
body.ui .fab{width:50px;height:50px;border-radius:17px;box-shadow:0 8px 26px rgba(0,113,227,.2)}
body.ui .fab:hover{transform:translateY(-2px)}
body.ui .footer{background:#fff;border-top:1px solid var(--ui-line);padding:32px 20px;font-size:12px}
body.ui .footer-logo{width:28px;height:28px;border-radius:9px;background:var(--bg-1);font:700 16px/28px Arial,sans-serif;color:var(--text-3);margin:0 auto 12px}
body.ui .footer-link-card{border:0;background:transparent;border-radius:8px;padding:6px 10px;box-shadow:none}
body.ui .flc-icon{display:none}
body.ui .footer-sub{font-size:11px}
/* Tool workspaces share surfaces while preserving their input structures. */
body.ui .tools-hub-page{max-width:1200px;margin:8px auto 64px;padding:0 24px}
body.ui .tools-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
body.ui .tools-card{display:flex;align-items:flex-start;position:relative;flex-direction:column;gap:22px;min-height:192px;padding:26px;background:#fff;border:1px solid var(--ui-line);border-radius:22px;box-shadow:var(--ui-shadow)}
body.ui .tools-card-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(145deg,#fff,#f1f4f8);border:1px solid var(--ui-line);color:var(--accent)}
body.ui .tools-card-icon svg{width:25px;height:25px}
body.ui .tools-card-name{font-size:16px;font-weight:650;letter-spacing:-.3px}
body.ui .tools-card-arrow{position:absolute;right:24px;top:28px;font-size:18px;color:var(--text-3)}
body.ui .gpa-page,body.ui .elec-page,body.ui .split-page{max-width:940px;padding:0 24px;margin:8px auto 64px;gap:20px}
body.ui .ac-page,body.ui .payment-page{max-width:796px;padding:0 24px;margin:8px auto 64px}
body.ui .fx-calc-page{max-width:616px;padding:0 24px;margin:8px auto 64px}
body.ui .gpa-summary-card,body.ui .gpa-sem-card,body.ui .gpa-planner-card,body.ui .gpa-scale-card,
body.ui .elec-summary-card,body.ui .elec-rate-card,body.ui .elec-list-card,
body.ui .split-card,body.ui .fx-calc-card,body.ui .payment-card,body.ui .payment-type-card,
body.ui .ac-status-card,body.ui .ac-cal-wrap,body.ui .ac-events-wrap,body.ui .ac-detail,
body.ui .ride-search-panel,body.ui .ride-card,body.ui .ride-dialog{
 background:#fff;border:1px solid var(--ui-line);border-radius:22px;box-shadow:var(--ui-shadow)
}
body.ui .gpa-summary-card,body.ui .elec-summary-card{padding:30px 22px;background:linear-gradient(120deg,#f0f6fe,#fff);border-color:rgba(0,113,227,.12)}
body.ui .gpa-summary-label,body.ui .elec-summary-label{color:var(--text-3);font-size:12px;margin-bottom:10px}
body.ui .gpa-summary-value,body.ui .elec-summary-value{font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-1px}
body.ui .gpa-sem-card,body.ui .gpa-planner-card,body.ui .gpa-scale-card,
body.ui .elec-rate-card,body.ui .elec-list-card,body.ui .split-card{padding:26px}
body.ui .gpa-row input,body.ui .gpa-row select,body.ui .elec-row input,
body.ui .split-exp-main input,body.ui .split-exp-main select,body.ui .split-member-add input{border-radius:9px;min-height:40px;background:#fcfcfd;border-color:var(--border-2)}
body.ui .gpa-scale-table th,body.ui .admin-table th{background:var(--bg-1);font-weight:600;color:var(--text-3)}
body.ui .fx-calc-card{padding:32px}
body.ui .fx-calc-row{background:#f7f9fc;border-color:var(--ui-line);border-radius:16px;padding:22px}
body.ui .fx-calc-input{background:transparent;box-shadow:none!important;font-weight:600;font-variant-numeric:tabular-nums}
body.ui .fx-calc-swap-btn{background:#fff;border:1px solid var(--border-2);box-shadow:0 3px 10px rgba(29,29,31,.04);border-radius:12px}
body.ui .ac-next-holiday{background:var(--accent-dim);border-color:rgba(0,113,227,.12);border-radius:13px}
body.ui .ac-next-label,body.ui .ac-next-days,body.ui .ac-next-name{color:var(--accent)}
body.ui .ac-next-date{color:var(--text-3)}
body.ui .ac-cal-wrap{overflow:hidden}
body.ui .ac-detail{margin-top:14px;overflow:hidden}
body.ui .ac-nav-row{margin:22px 0 14px}
body.ui .ac-nav-btn{border-radius:10px}
body.ui .payment-type-card{padding:32px 24px;transition:border-color .18s,box-shadow .18s}
body.ui .payment-rate-bar{border-radius:13px;background:var(--accent-dim);border:1px solid rgba(0,113,227,.1)}
body.ui .payment-card{padding:28px}
body.ui .ride-shell{max-width:1200px;padding:44px 24px 64px}
body.ui .ride-heading h1{font-size:36px;font-weight:650;letter-spacing:-1.2px}
body.ui .ride-layout{gap:26px}
body.ui .ride-primary{border-radius:11px;box-shadow:0 3px 8px rgba(0,113,227,.12)}
body.ui .ride-tabs{gap:24px;border-color:var(--ui-line)}
body.ui .ride-tabs button{font-size:14px;border-bottom-width:2px}
body.ui .ride-empty{background:rgba(255,255,255,.7);border:1px solid var(--ui-line);border-radius:22px}
body.ui .ride-dialog{margin:auto;padding:28px}
body.ui .admin-nav-tabs{gap:6px;padding:6px;background:var(--bg-3);border-radius:14px;flex-wrap:wrap}
body.ui .admin-nav-tab{border-radius:9px;min-height:38px}
body.ui .admin-table-wrap{overflow-x:auto}
body.ui .admin-table{font-size:13px}
body.ui .admin-table td{padding:14px 16px}
body.ui .admin-filter{flex-wrap:wrap}
body.ui .stat-card{padding:24px}
body.ui .stat-card-value{font-variant-numeric:tabular-nums;font-weight:650}
@media(hover:hover){
 body.ui .post-card:hover,body.ui .tools-card:hover,body.ui .help-card:hover{transform:translateY(-3px);border-color:rgba(0,113,227,.18);box-shadow:0 8px 28px rgba(29,29,31,.075)}
 body.ui .payment-type-card:hover{border-color:rgba(0,113,227,.35);box-shadow:var(--ui-shadow)}
}
@media(max-width:1024px){body.ui .nav-inner{gap:10px}body.ui .tools-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){
 body.ui .container{padding:26px 16px 46px}
 body.ui .page-banner{padding:32px 16px 22px}
 body.ui .page-banner h1,body.ui .page-header h1,body.ui .ride-heading h1{font-size:28px;letter-spacing:-.8px}
 body.ui .page-banner p{font-size:12px}
 body.ui .filter-bar{position:static}
 body.ui .filter-inner{padding:12px 16px;gap:10px}
 body.ui .type-filter{border:0;padding-left:0}
 body.ui .inline-search{width:100%;margin-left:0}
 body.ui .inline-search input{width:100%;flex:1}
 body.ui .filter-select{max-width:100%}
 body.ui .rental-pathways-inner{grid-template-columns:1fr;padding:0 16px 22px;gap:10px}
 body.ui .rental-pathway{min-height:0;padding:16px}
 body.ui .posts-grid{gap:16px}
 body.ui .card-body{padding:18px}
 body.ui .help-card,body.ui .comments-card,body.ui .detail-body{padding:20px}
 body.ui .detail-title{font-size:24px}
 body.ui .detail-meta{gap:12px}
 body.ui .form-section{padding:20px;border-radius:18px}
 body.ui .form-row{flex-wrap:wrap}
 body.ui .auth-wrap{padding:30px 16px 48px}
 body.ui .auth-card{padding:28px 22px}
 body.ui .profile-header-body{padding:0 20px 24px;flex-wrap:wrap}
 body.ui .profile-name{overflow-wrap:anywhere}
 body.ui .tools-hub-page,body.ui .gpa-page,body.ui .elec-page,body.ui .split-page,
 body.ui .ac-page,body.ui .payment-page,body.ui .fx-calc-page{padding:0 16px;margin:4px auto 48px}
 body.ui .tools-card-grid{gap:12px}
 body.ui .tools-card{padding:20px 16px;min-height:163px;border-radius:18px;gap:20px}
 body.ui .tools-card-name{font-size:13px}
 body.ui .tools-card-icon{width:40px;height:40px;border-radius:12px}
 body.ui .tools-card-icon svg{width:22px;height:22px}
 body.ui .tools-card-arrow{right:15px;top:20px;font-size:15px}
 body.ui .gpa-sem-card,body.ui .gpa-planner-card,body.ui .gpa-scale-card,
 body.ui .elec-rate-card,body.ui .elec-list-card,body.ui .split-card,
 body.ui .payment-card,body.ui .fx-calc-card{padding:20px 16px;border-radius:18px}
 body.ui .gpa-summary-card,body.ui .elec-summary-card{padding:22px 14px;gap:8px;border-radius:18px;flex-wrap:wrap}
 body.ui .gpa-summary-value{font-size:28px}
 body.ui .gpa-summary-sm,body.ui .elec-summary-sm{font-size:19px}
 body.ui .gpa-scale-table{font-size:11px}
 body.ui .gpa-scale-table td,body.ui .gpa-scale-table th{padding:9px 4px}
 body.ui .fx-calc-row{padding:18px}
 body.ui .ride-shell{padding:28px 16px 48px}
 body.ui .ride-dialog{padding:22px}
 body.ui .ride-search-panel{border-radius:18px}
 body.ui .ride-heading{gap:12px}
 body.ui .payment-type-grid{gap:12px}
 body.ui .payment-type-card{padding:24px 16px;border-radius:18px}
 body.ui .admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 body.ui .stat-card{padding:18px}
 body.ui .admin-filter input{width:100%}
 body.ui .footer{padding:28px 16px}
 body.ui .fab{bottom:20px;right:18px}
}
@media(prefers-reduced-motion:reduce){body.ui *,body.ui *::before,body.ui *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}body.ui .post-card:hover,body.ui .tools-card:hover,body.ui .help-card:hover,body.ui .fab:hover{transform:none}}
body.ui{--text-4:#76767d}
body.ui .page-banner::before{display:none}
body.ui .gpa-planner-row{display:grid;grid-template-columns:auto minmax(80px,1fr) auto minmax(80px,1fr);gap:12px;align-items:center}
body.ui .gpa-planner-row input{width:100%}
@media(max-width:650px){body.ui .gpa-planner-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body.ui .gpa-planner-row label{margin:0}}
body.ui .elec-field{display:block;min-width:0}
body.ui .elec-field>span,body.ui .elec-month-label{display:none}
body.ui .elec-month-wrap{text-align:right}
body.ui .gpa-course-row input,body.ui .gpa-course-row select{border-radius:9px;min-height:40px;background:#fcfcfd;border-color:var(--border-2)}
@media(max-width:650px){
 body.ui .elec-row-head{display:none}
 body.ui #elec-rows>.elec-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px 0;border-bottom:1px solid var(--ui-line)}
 body.ui .elec-field-name{grid-column:1/3;grid-row:1}
 body.ui .elec-del{grid-column:3;grid-row:1;justify-self:end;min-height:36px;min-width:36px}
 body.ui .elec-field>span,body.ui .elec-month-label{display:block;font-size:11px;color:var(--text-3);margin-bottom:6px}
 body.ui .elec-field-name>span{display:none}
 body.ui .elec-month-wrap{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}
 body.ui .elec-month-label{margin:0}
 body.ui .elec-row input{padding:9px}
}
body.ui .form-row{grid-template-columns:repeat(2,minmax(0,1fr))}
body.ui .form-group,body.ui .price-input-wrap{min-width:0}
body.ui .price-input-wrap select{border-radius:11px 0 0 11px}
body.ui .price-input-wrap input{border-radius:0 11px 11px 0}
body.ui .type-opt-icon svg,body.ui .cond-opt-icon svg,body.ui .upload-icon svg{width:26px;height:26px;display:block;margin:auto;color:var(--accent)}
body.ui .type-opt-card{padding:22px 18px}
@media(max-width:650px){body.ui .form-row{grid-template-columns:minmax(0,1fr)}body.ui .type-opt-card{padding:18px;display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:14px;text-align:left;align-items:center}body.ui .type-opt-icon{grid-row:1/3;margin:0}body.ui .type-opt-desc{grid-column:2}}
body.ui .empty-icon,body.ui .empty-illustration{display:none}
body.ui .profile-cover::before{display:none}
body.ui .profile-header-body{align-items:center;padding-top:24px}
body.ui .profile-avatar{margin-top:0}
body.ui .profile-info .btn{margin-top:12px}
/* 2026-09-15: extend the homepage's larger visual hierarchy to workspaces. */
body.ui main{background:linear-gradient(180deg,#fff 0,#f5f5f7 420px,#f5f5f7 100%)}
body.ui .page-banner{padding-top:62px;padding-bottom:36px}
body.ui .page-banner h1,body.ui .page-header h1{font-size:46px;letter-spacing:-1.8px;line-height:1.2;font-weight:650}
body.ui .page-banner p{font-size:15px;max-width:760px}
body.ui .page-header{padding-top:12px;margin-bottom:36px}
body.ui .tools-hub-page{margin-top:0}
body.ui:has(.tools-hub-page) .page-banner{text-align:center;padding:66px 24px 44px}
body.ui:has(.tools-hub-page) .page-banner h1{font-size:64px;letter-spacing:-3px;margin:0}
body.ui .tools-card-grid{gap:22px}
body.ui .tools-card{min-height:238px;padding:32px;border-radius:26px;gap:42px}
body.ui .tools-card-icon{width:66px;height:66px;border-radius:19px;box-shadow:inset 0 2px 0 white,0 10px 18px rgba(20,55,100,.06)}
body.ui .tools-card-icon svg{width:34px;height:34px}
body.ui .tools-card-name{font-size:20px;line-height:1.4;letter-spacing:-.6px}
body.ui .tools-card-arrow{right:28px;top:30px}
body.ui .tools-card:first-child{background:linear-gradient(130deg,#0071e3,#00468f);color:#fff}
body.ui .tools-card:first-child .tools-card-name,body.ui .tools-card:first-child .tools-card-arrow{color:#fff}
body.ui .tools-card:first-child .tools-card-icon{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.25);box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}
body.ui .gpa-summary-card,body.ui .elec-summary-card{padding:38px 26px;border-radius:26px;background:linear-gradient(125deg,#0071e3,#00468f);border:0;box-shadow:0 15px 32px rgba(0,80,165,.13)}
body.ui .gpa-summary-value,body.ui .elec-summary-value{color:#fff;font-size:40px;line-height:1.2}
body.ui .gpa-summary-sm,body.ui .elec-summary-sm{font-size:24px}
body.ui .gpa-summary-label,body.ui .elec-summary-label,body.ui .elec-summary-value small{color:rgba(255,255,255,.85)}
body.ui .gpa-sem-card,body.ui .gpa-planner-card,body.ui .gpa-scale-card,body.ui .elec-list-card,body.ui .elec-rate-card,body.ui .split-card{border-radius:24px;padding:30px}
body.ui .fx-calc-card{padding:36px;border-radius:28px}
body.ui .fx-calc-rate-display{padding-bottom:30px}
body.ui .fx-calc-rate-line strong{font-size:28px;letter-spacing:-.8px}
body.ui .fx-calc-input{font-size:40px;letter-spacing:-1px}
body.ui .ride-heading h1{font-size:46px;letter-spacing:-1.8px}
body.ui .ride-search-panel{padding:28px;border-radius:24px}
body.ui .ride-card{border-radius:22px}
body.ui .detail-title{font-size:36px;letter-spacing:-1px;line-height:1.35}
body.ui .detail-body{padding:40px}
body.ui .auth-wrap{padding-top:72px;padding-bottom:92px}
body.ui .auth-card{border-radius:28px;padding:44px 40px}
body.ui .auth-header h1{font-size:34px;letter-spacing:-1px}
body.ui .profile-cover{height:150px;background:linear-gradient(125deg,#0071e3,#00468f)}
body.ui .post-card,body.ui .help-card{border-radius:24px}
body.ui .card-title{font-size:19px}
@media(max-width:1000px){body.ui .tools-card{min-height:215px;padding:28px}body.ui .tools-card-name{font-size:18px}}
@media(max-width:650px){
 body.ui .page-banner{padding:38px 16px 26px}
 body.ui .page-banner h1,body.ui .page-header h1,body.ui .ride-heading h1{font-size:32px;letter-spacing:-1px}
 body.ui .page-banner p{font-size:13px}
 body.ui:has(.tools-hub-page) .page-banner{padding:44px 16px 32px}
 body.ui:has(.tools-hub-page) .page-banner h1{font-size:45px;letter-spacing:-1.8px}
 body.ui .tools-card-grid{gap:12px}
 body.ui .tools-card{min-height:187px;padding:22px 18px;gap:32px;border-radius:21px}
 body.ui .tools-card-icon{width:48px;height:48px;border-radius:14px}
 body.ui .tools-card-icon svg{width:27px;height:27px}
 body.ui .tools-card-name{font-size:15px;letter-spacing:-.3px}
 body.ui .tools-card-arrow{right:15px;top:20px}
 body.ui .gpa-summary-card,body.ui .elec-summary-card{padding:28px 16px;gap:18px 12px;border-radius:22px}
 body.ui .gpa-summary-value,body.ui .elec-summary-value{font-size:29px}
 body.ui .gpa-summary-sm,body.ui .elec-summary-sm{font-size:19px}
 body.ui .gpa-sem-card,body.ui .gpa-planner-card,body.ui .gpa-scale-card,body.ui .elec-list-card,body.ui .elec-rate-card,body.ui .split-card{padding:22px 16px;border-radius:21px}
 body.ui .fx-calc-card{padding:24px 18px;border-radius:24px}
 body.ui .fx-calc-rate-line strong{font-size:23px}
 body.ui .fx-calc-input{font-size:32px}
 body.ui .ride-search-panel{padding:22px}
 body.ui .detail-body{padding:24px 20px}
 body.ui .detail-title{font-size:27px}
 body.ui .auth-wrap{padding:38px 16px 54px}
 body.ui .auth-card{padding:32px 24px;border-radius:24px}
 body.ui .auth-header h1{font-size:29px}
 body.ui .profile-cover{height:110px}
 body.ui .card-title{font-size:17px}
}

body.ui .page-banner h1,body.ui .page-header h1,body.ui .detail-title{text-wrap:balance}
