:root{--navy:#102951;--navy-dark:#0b203e;--gold:#d5a329;--ink:#212c43;--muted:#647087;--line:#e3e7f0;--bg:#f5f7fb;--white:#fff;--success:#14795c;--danger:#b33444;--radius:20px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Tahoma,"Segoe UI",Arial,sans-serif;line-height:1.75;font-size:15px}a{color:var(--navy);text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a:hover{text-decoration:underline}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(25px,3vw,36px);line-height:1.45;letter-spacing:-.5px;margin-bottom:12px}h2{font-size:21px;margin-bottom:18px}h3{font-size:17px}small,.muted{color:var(--muted)}.eyebrow{font-size:12px;letter-spacing:1.5px;color:var(--gold);font-weight:700;text-transform:uppercase}.skip{position:absolute;top:-100px;right:15px;background:white;padding:12px;z-index:20}.skip:focus{top:10px}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.topbar{background:var(--white);border-bottom:1px solid var(--line);padding:16px 4%;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:12px;color:var(--navy)}.brand-icon{display:grid;place-items:center;background:var(--navy);color:var(--gold);border-radius:12px;width:46px;height:46px;font-weight:700;font-size:17px;flex:none}.brand strong{display:block;font-size:17px}.brand small{display:block;font-size:11px}.top-user{display:flex;gap:12px;align-items:center;font-size:13px}.avatar{width:34px;height:34px;border-radius:50%;background:#efedf7;color:var(--navy);display:grid;place-items:center}.layout{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:calc(100vh - 85px)}.sidebar{padding:28px 20px;background:var(--navy);color:#ddddec;display:flex;flex-direction:column;gap:8px}.sidebar .eyebrow{margin:0 15px 16px;font-size:10px}.navlink{padding:13px 17px;border-radius:11px;color:#ddddec;display:flex;gap:12px;align-items:center;border:0;background:transparent;text-align:right;cursor:pointer;line-height:1.6}.navlink:hover,.navlink.active{background:#ffffff14;color:white;text-decoration:none}.navlink.active{box-shadow:inset -3px 0 var(--gold)}.nav-icon{font-size:18px;width:22px;text-align:center}.sidebar-note{margin-top:auto;padding:24px 14px 0;border-top:1px solid #ffffff21;font-size:12px;color:#c1bfd7}.main{min-width:0;width:100%;max-width:1320px;padding:34px 4.5% 24px;margin:auto}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:24px}.hero{background:var(--navy);color:white;border-radius:var(--radius);padding:30px 34px;margin-bottom:26px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:200px;height:200px;border:35px solid #ffffff05;border-radius:50%;left:-55px;top:-80px;pointer-events:none}.hero p{color:#dcdaeb;max-width:670px;margin-bottom:0}.hero .eyebrow{margin-bottom:10px;display:block}.hero-row,.section-row{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:28px}.stat,.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:25px}.stat{display:flex;gap:15px;align-items:center}.stat b{display:block;font-size:28px;line-height:1.4}.stat .symbol{display:grid;place-items:center;width:45px;height:45px;border-radius:13px;background:#efedf8;color:var(--navy);font-size:21px}.stat:nth-child(2) .symbol{background:#fff5e2;color:#a87514}.stat:nth-child(3) .symbol{background:#e7f5ee;color:var(--success)}.section-row{margin-bottom:15px}.section-row h2{margin:0}.request{background:white;border:1px solid var(--line);border-radius:16px;padding:24px;margin-bottom:16px}.request-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}.request h3{margin:0}.request-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:15px 0 22px}.request-meta dt{font-size:12px;color:var(--muted)}.request-meta dd{margin:4px 0 0;font-weight:600}.badge{border-radius:30px;padding:5px 12px;background:#f0eef8;color:var(--navy);font-size:12px;display:inline-block}.badge.good{background:#e8f5ee;color:var(--success)}.badge.bad{background:#fff0f1;color:var(--danger)}.badge.pending{background:#fff5e1;color:#855e13}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:45px;padding:10px 22px;border:1px solid transparent;border-radius:10px;background:var(--navy);color:white;font-weight:600;font-size:14px;cursor:pointer;line-height:1.5;text-align:center}.btn:hover{background:var(--navy-dark);color:white;text-decoration:none}.btn.gold{background:var(--gold);color:#211d42}.btn.gold:hover{background:#e9b546}.btn.secondary{background:white;border-color:var(--line);color:var(--navy)}.btn:disabled{opacity:.65;cursor:wait}.empty{text-align:center;padding:50px 20px}.empty .symbol{font-size:35px;color:var(--gold)}.empty p{max-width:400px;margin:12px auto 24px;color:var(--muted)}.steps{list-style:none;padding:0;margin:25px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.steps li{padding:15px;background:#ebeef5;border:1px solid var(--line);border-radius:13px;display:flex;gap:12px;align-items:center;font-size:13px}.steps b{border-radius:50%;width:30px;height:30px;display:grid;place-items:center;background:#fff;color:var(--muted);flex:none}.steps .current{background:#f0edf8;border-color:#bab2d9;color:var(--navy)}.steps .current b{background:var(--navy);color:white}.steps .done{color:var(--success);background:#edf6f2}.steps small{display:block;font-size:10px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 26px}.field{min-width:0}.field.full{grid-column:1/-1}.field label,.field .label{display:block;font-size:13px;font-weight:600;margin-bottom:7px}.field label small,.field .label small{font-size:11px;display:block;font-weight:400}.control{display:block;width:100%;border:1px solid #d5dbe6;background:white;border-radius:10px;padding:12px 14px;min-height:48px;color:var(--ink);transition:border-color .15s}.control:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px #10295115}.control[readonly],.readonly{background:#f5f6f9;color:#46536a;border-color:#e8ebf2}.readonly{min-height:48px;padding:11px 14px;display:block;border-radius:10px;border:1px solid var(--line);overflow-wrap:anywhere}.control[dir=ltr]{text-align:left}textarea.control{resize:vertical;min-height:90px}.card+.card{margin-top:22px}.card-intro{color:var(--muted);font-size:13px;margin-top:-8px;margin-bottom:24px}.section-num{font-size:12px;border-radius:8px;padding:5px 9px;background:#f0eef8;color:var(--navy);margin-left:8px}.form-footer{display:flex;gap:15px;justify-content:space-between;align-items:center;margin:24px 0;flex-wrap:wrap}.alert{display:block;border-radius:12px;border:1px solid #eed7ad;background:#fff8eb;color:#79591f;padding:14px 18px;margin-bottom:20px;font-size:14px;overflow-wrap:anywhere}.alert.error,.validation{color:#9e293a;background:#fff0f2;border:1px solid #efcbd3}.alert.success{color:#166b50;background:#edf8f1;border-color:#cbe8d7}.validation{display:block;border-radius:10px;padding:15px;margin-bottom:15px}.validation ul{margin:0}.field-error{display:block;font-size:12px;color:var(--danger);margin-top:4px}.terms{line-height:2.15}.terms li{margin:10px 0}.consent{padding:18px;background:#f5f4fa;border-radius:12px;margin-top:25px}.consent label{cursor:pointer;margin-right:10px}.consent input{width:18px;height:18px;accent-color:var(--navy);vertical-align:middle}.footer{font-size:11px;color:var(--muted);text-align:center;padding:25px 0 5px}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.login-story{background:var(--navy);color:white;padding:8vw 6vw;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-story:after{content:"";position:absolute;width:430px;height:430px;border:75px solid #ffffff05;border-radius:50%;left:-180px;bottom:-160px}.login-story h1{font-size:42px;margin-top:35px}.login-story p{color:#dedbeb;max-width:460px}.feature{padding:17px 0;border-top:1px solid #ffffff20;display:flex;gap:15px;font-size:14px}.feature b{color:var(--gold)}.login-content{display:flex;justify-content:center;align-items:center;padding:40px}.login-box{width:100%;max-width:420px}.login-box h2{font-size:28px;margin-bottom:8px}.login-box .field{margin-top:18px}.login-box .btn{width:100%;margin-top:24px}.password-wrap{position:relative}.password-wrap .control{padding-right:62px}.password-toggle{position:absolute;right:8px;top:8px;background:#f1f2f7;border:0;border-radius:7px;font-size:11px;padding:8px;cursor:pointer;color:var(--navy)}.radio-list td{padding:8px 0 8px 20px}.radio-list label{padding-right:6px}.login-note{font-size:12px;color:var(--muted);margin-top:20px}.table-wrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:13px}table.data th,table.data td{padding:13px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}table.data th{background:#f5f7fb;color:var(--muted);font-size:12px}.date-summary{margin-top:15px;font-size:13px;color:var(--navy)}.page-title{margin-bottom:8px}.page-subtitle{color:var(--muted);max-width:760px;font-size:14px;margin-bottom:20px}.definition{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0}.definition dt{color:var(--muted);font-size:12px}.definition dd{margin:4px 0 0;overflow-wrap:anywhere}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.admin-shell{max-width:1100px;margin:0 auto;padding:30px 25px}.policy-strip{font-size:13px;margin-bottom:20px}.policy-strip b{color:var(--navy)}
@media(max-width:1000px){.layout{grid-template-columns:195px minmax(0,1fr)}.sidebar{padding:24px 12px}.top-user .user-label{display:none}.main{padding:25px}.stats{gap:10px}.stat{padding:18px 14px}.stat .symbol{display:none}.login-story{padding:55px 40px}.login-story h1{font-size:34px}}
@media(max-width:720px){.topbar{padding:13px 18px}.brand strong{font-size:14px}.brand small{font-size:10px}.brand-icon{width:38px;height:38px}.layout{display:flex;flex-direction:column;min-height:calc(100vh - 75px)}.sidebar{padding:10px 16px;flex-direction:row;gap:8px;overflow:auto}.sidebar .eyebrow,.sidebar-note{display:none}.navlink{padding:10px 13px;font-size:12px;white-space:nowrap}.main{padding:22px 18px}.hero{padding:24px}.hero h1{font-size:26px}.hero .btn{margin-top:12px}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat{padding:15px 10px}.stat b{font-size:25px}.stat small{font-size:10px}.card,.request{padding:20px}.form-grid{grid-template-columns:1fr;gap:18px}.steps{gap:6px}.steps li{padding:10px 8px;font-size:11px;flex-direction:column;gap:5px;text-align:center}.steps small{display:none}.steps b{width:25px;height:25px}.request-meta{grid-template-columns:1fr 1fr;font-size:13px}.form-footer .btn{flex:1}.login-page{display:flex;flex-direction:column}.login-story{padding:30px 25px}.login-story h1{font-size:27px;margin-top:20px}.login-story .feature{display:none}.login-story p{font-size:13px;margin-bottom:0}.login-content{padding:35px 25px}.definition{grid-template-columns:1fr}.top-user{gap:5px}.admin-shell{padding:22px 16px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

@font-face{font-family:NeoSans;src:url("https://eservices.ammanu.edu.jo/Careers/Academic/assets/fonts/NEOSANSARABIC-Medium.ttf") format("truetype");font-weight:400 700;font-style:normal;font-display:swap}

/* AAU shared visual theme: retain existing controls and responsive behavior. */
:root{--navy:#102951;--navy-dark:#0b203e;--navy-2:#17376c;--blue:#244b91;--teal:#244b91;--teal-light:#edf3fd;--gold:#d5a329;--bg:#f5f7fb;--ink:#1e293b;--muted:#64748b;--line:#e3e9f1;--white:#fff;--radius:17px}
body{font-family:NeoSans,Tahoma,Arial,sans-serif;font-size:14px;line-height:1.85;text-align:start}
button,input,select,textarea{font-family:inherit}h1,h2,h3{font-weight:500;letter-spacing:0}h1{font-size:clamp(23px,2.5vw,30px)}h2{font-size:20px}
.ui-icon{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.aau-logo{display:flex;align-items:center;justify-content:center;width:60px;height:60px;flex:0 0 60px;padding:7px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:14px}
.aau-logo img{display:block;width:100%;height:100%;object-fit:contain}
.topbar{background:linear-gradient(110deg,#102951,#17376c 55%,#244b91);border-top:5px solid var(--gold);border-bottom:0;box-shadow:0 5px 20px #10295114;color:#fff}
.topbar .brand,.topbar .brand strong{color:#fff}.topbar .brand small,.topbar .topbar-label{color:#e2e9f5}
.topbar .avatar{background:#ffffff18;color:#fff}.topbar .btn.secondary,.topbar .text-button,.topbar .menu-toggle{color:#fff;background:#ffffff12;border:1px solid #ffffff40;border-radius:10px;min-height:42px;padding:8px 14px}
.topbar .btn.secondary:hover,.topbar .text-button:hover,.topbar .menu-toggle:hover{background:#ffffff26;color:#fff}
.topbar .top-user,.topbar .user{flex-wrap:wrap}.sidebar{background:linear-gradient(180deg,#102951,#17376c);border-top:4px solid var(--gold)}
.sidebar a{gap:10px}.sidebar .navlink,.sidebar .main-nav>a{color:#e5edf9}.sidebar a:hover,.sidebar a[aria-current=page],.sidebar .navlink.active{background:#ffffff14;color:#fff;text-decoration:none}
.sidebar .nav-caption,.sidebar .eyebrow{color:#e5cc8d}.sidebar-note,.sidebar-foot{color:#d1dced}
.card,.stat,.request,.stage-card,.account-card{border-color:var(--line);box-shadow:0 6px 18px #0f172a09;border-radius:17px}
.hero,.login-story{background:linear-gradient(125deg,#102951,#1c407b 65%,#315caa)}.hero p,.login-story p{color:#e0e8f5}
.btn{border-radius:10px;min-height:44px}.btn:not(.secondary):not(.danger):not(.gold){background:var(--blue);border-color:var(--blue);color:#fff}.btn:not(.secondary):not(.danger):not(.gold):hover{background:var(--navy-2);border-color:var(--navy-2)}
.btn.secondary:hover{background:#edf3fd;border-color:#bdcce2}.btn.gold{background:var(--gold);color:#102951}
.control{border-color:#d8e1ed;border-radius:10px;min-height:46px}.control:focus{border-color:var(--blue);box-shadow:0 0 0 3px #244b9118}
input[type=checkbox],input[type=radio]{accent-color:var(--blue)}.steps .current{background:#edf3fd;border-color:#bdcce2}.steps .current b{background:var(--blue)}
.section-num,.badge:not(.bad):not(.good):not(.pending),.stat .symbol{background:#edf3fd;color:var(--blue)}
.table-wrap{border:1px solid var(--line);border-radius:12px;overflow:auto}.data th,table.data th{background:#eef3fa;color:var(--navy-2);font-weight:500}.data td,table.data td{vertical-align:middle}.data tbody tr:hover td{background:#f8faff}
.request-nav{gap:9px}.request-nav a{border-radius:10px}.request-nav a[aria-current=page],.request-nav a.active{background:var(--blue);color:#fff;border-color:var(--blue)}
.footer,footer{color:#64748b}.footer{border-top:1px solid var(--line);margin-top:32px;padding:22px 0}
.brand-mark:not(.aau-logo){background:rgba(255,255,255,.1) url("https://www.ammanu.edu.jo/media/1bgdv5he/aau-logo.png") center/contain no-repeat;color:transparent;letter-spacing:0;font-size:0;border-color:#ffffff30}
.user,.top-user{overflow-wrap:anywhere}.main{align-self:start}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:760px){body{font-size:14px}.aau-logo{width:48px;height:48px;flex-basis:48px}.topbar{gap:10px}.topbar .user,.topbar .top-user{gap:8px}.card{padding:20px 16px}.ui-icon{width:18px;height:18px;flex-basis:18px}}
@media print{.ui-icon{display:none}.card,.stat{box-shadow:none}body{background:#fff;color:#000}}

/* Student portal: full width content with header navigation, no sidebar. */
.student-portal #form1{min-height:100vh;display:flex;flex-direction:column}
.student-portal .topbar{padding:16px max(24px,calc((100vw - 1332px)/2));min-height:100px;flex-wrap:wrap}
.student-portal .student-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-inline-start:auto}
.student-nav .student-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 15px;border:1px solid #ffffff35;color:#fff;border-radius:10px;background:#ffffff0a}
.student-nav .student-link:hover,.student-nav .student-link[aria-current=page]{background:#ffffff20;text-decoration:none;border-color:#d5a329}
.student-portal .top-user{padding:8px 12px;border:1px solid #ffffff30;border-radius:11px;background:#ffffff10}.student-portal .user-label{display:inline;font-size:12px}
.student-portal .student-layout{display:block;flex:1;min-height:0;width:100%}.student-portal .main{max-width:1380px;margin:0 auto;padding:30px 24px 45px}
.student-portal .student-footer{background:linear-gradient(110deg,#102951,#17376c);border-top:4px solid var(--gold);padding:20px 24px;color:#e2e9f5;text-align:center;font-size:12px}
.student-portal .hero{padding:28px 32px}.student-portal .hero h1{font-size:26px}.student-portal .stat{padding:22px}.student-portal .stat b{font-family:Tahoma,Arial,sans-serif}
@media(max-width:980px){.student-portal .student-nav{margin-inline-start:0}.student-portal .topbar{gap:16px}.student-portal .top-user{margin-inline-start:auto}}
@media(max-width:600px){.student-portal .topbar{padding:16px}.student-portal .brand{width:100%}.student-portal .student-nav{width:100%;display:grid;grid-template-columns:1fr 1fr}.student-link{justify-content:center}.student-portal .top-user{width:100%;justify-content:space-between}.student-portal .main{padding:24px 16px 34px}.student-portal .hero{padding:24px}.student-portal .hero h1{font-size:23px}}
@media print{.student-portal .topbar,.student-portal .student-footer,.student-portal .breadcrumb{display:none}.student-portal .main{padding:0;max-width:none}}

/* UniversityTraining responsive layer — 2026-11-01.
   Screen only: official print layouts retain their existing rules. */
@media screen {
    .layout, .shell, .workspace, .main, .ut-page, .admin-shell { min-width:0; }
    body .main, body .workspace > .main, body.student-portal .main { width:100%; max-width:none; box-sizing:border-box; }
    .main img, .admin-shell img { max-width:100%; height:auto; }
    .main .card, .main .request, .main .field, .main .stat, .main .account-card,
    .main .form-grid > *, .main .filter-grid > *, .main .details > *, .main .definition > * { min-width:0; }
    .main .control, .admin-shell .control { width:100%; min-width:0; max-width:100%; box-sizing:border-box; }
    .main textarea.control { resize:vertical; }
    .main select.control { text-overflow:ellipsis; }
    .main input[type="file"], .admin-shell input[type="file"] { max-width:100%; min-width:0; width:100%; }
    .main .inline-form > .field { min-width:0; flex:1 1 220px; }
    .main h1, .main h2, .main h3, .main dd, .main .alert, .main .readonly,
    .main .file-item, .main .account-email, .main .page-subtitle { overflow-wrap:anywhere; }
    .main .page-heading, .main .section-head, .main .pager, .main .file-item { flex-wrap:wrap; }
    .main .page-heading > *, .topbar .brand, .topbar .user, .topbar .top-user { min-width:0; max-width:100%; }
    .topbar .brand strong, .topbar .user, .topbar .top-user { overflow-wrap:anywhere; }
    .topbar .avatar, .topbar .aau-logo, .topbar .menu-toggle { flex-shrink:0; }
    .main .btn, .main .row-link, .main .danger-link { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
    .sidebar .main-nav { min-height:0; overscroll-behavior:contain; }
    .sidebar { min-width:0; }
    .main .table-wrap, .main .page-table-region, .main .ut-scroll, .admin-shell .table-wrap {
        min-width:0; width:100%; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch;
    }
    .main table.data, .main .page-table-region table.data, .main .ut-scroll > table,
    .ut-page .page-table-region table.data, .admin-shell table.data {
        width:100%; min-width:0; max-width:100%; table-layout:auto;
    }
    .main table.data th, .main table.data td, .admin-shell table.data th, .admin-shell table.data td,
    .ut-page .page-table-region table.data th, .ut-page .page-table-region table.data td {
        min-width:0; max-width:none; white-space:normal; overflow-wrap:anywhere;
        word-break:normal; vertical-align:top; line-height:1.8;
    }
    .main table.data td:has(.btn), .main table.data td .badge { white-space:normal; }
    .main table.data td .control { min-width:0; max-width:100%; }
    .main .request-nav, .ut-supervisor .request-nav, .ut-trainer .request-nav {
        display:flex; flex-wrap:wrap; overflow:visible; max-width:100%;
    }
    .main .request-nav a { min-width:0; white-space:normal; text-align:center; }
}
@media screen and (min-width:761px) {
    body .main, body .workspace > .main, body.student-portal .main { padding-inline:22px; }
}
@media screen and (max-width:1100px) and (min-width:641px) {
    .main .form-grid, .main .filter-grid, .ut-page .form-grid, .ut-page .filter-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media screen and (max-width:760px) {
    body .main, body .workspace > .main, body.student-portal .main { padding:22px 14px 32px; }
    .main .card, .main .request, .ut-page .card { padding:20px 14px; }
    .main .page-heading { align-items:flex-start; gap:12px; }
    .main .page-heading h1 { font-size:24px; line-height:1.6; }
    .main .control, .admin-shell .control, .login-box .control, .page-login-card .control {
        font-size:16px; min-height:46px;
    }
    .main .btn, .main .page-heading > .btn, .main .pager .btn,
    .main .file-item .btn, .main .data td .btn, .ut-page .page-table-region td .btn {
        font-size:14px; min-height:44px; padding:10px 14px; line-height:1.6;
    }
    .main .data td a, .main .row-link, .main .danger-link { font-size:14px; padding-block:9px; }
    .main .pager { gap:12px; font-size:13px; }
    .main .data td small { font-size:13px; }
    .topbar .top-user .user-label { display:inline; }
    .layout .sidebar .navlink { min-height:44px; font-size:14px; }
    .main .form-footer, .main .actions { gap:10px; flex-wrap:wrap; }
    .main .form-footer > .btn, .main .actions > .btn { flex:1 1 180px; min-width:0; }
    .main .stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .main .stat { padding:16px 12px; }
    .main .stat small, .main .stat > span { font-size:12px; }
    .main .request-nav, .ut-supervisor .request-nav, .ut-trainer .request-nav {
        flex-wrap:wrap; overflow:visible; gap:8px; padding:10px;
    }
    .main .request-nav a, .ut-supervisor .request-nav a, .ut-trainer .request-nav a {
        flex:1 1 calc(50% - 8px); min-width:0; min-height:44px; padding:10px 8px;
        font-size:13px; display:flex; align-items:center; justify-content:center;
    }
    .main .details, .main .definition { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
    .main .details dt, .main .definition dt { font-size:13px; }
    .main .details dd, .main .definition dd { font-size:15px; }
    .main .page-account-grid, .main .account-grid, .main .shortcut-grid,
    .ut-trainer .page-account-grid, .ut-supervisor .page-account-grid { grid-template-columns:minmax(0,1fr); }
    .main .attendance-days, .ut-trainer .attendance-days { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .main .criteria-list, .ut-trainer .criteria-list { grid-template-columns:minmax(0,1fr); }
    .main .survey-point .form-grid, .ut-trainer .survey-point .form-grid { grid-template-columns:minmax(0,1fr); }
    .main .criterion > .control { max-width:100%; }
    .shell .topbar, .ut-trainer-shell .topbar { height:auto; min-height:73px; padding:12px 14px; flex-wrap:wrap; }
    .shell .topbar .user { margin-inline-start:auto; flex-wrap:wrap; }
    .shell .sidebar, .ut-trainer-shell .sidebar {
        top:var(--ut-topbar-height,73px); width:min(280px,calc(100vw - 24px));
        height:calc(100vh - var(--ut-topbar-height,73px));
        height:calc(100dvh - var(--ut-topbar-height,73px)); overflow-y:auto;
    }
    .shell .sidebar .main-nav > a { min-height:44px; font-size:14px; }
    .login-page, .login-layout { display:block; min-width:0; }
    .login-content, .login-form, .ut-trainer-login .login-form { padding:26px 16px; min-width:0; }
    .login-box, .page-login-card { width:100%; max-width:100%; min-width:0; }
    .login-story { padding:26px 18px; }
    .login-box .radio-list, .login-box .radio-list tbody, .login-box .radio-list tr { display:block; width:100%; }
    .login-box .radio-list td { display:block; width:100%; padding:8px 0; }
    .main input[type="checkbox"], .main input[type="radio"] { width:20px; height:20px; vertical-align:middle; }

    /* Enabled only after JavaScript has verified and labelled a simple data table. */
    .main table.data[data-ut-mobile-cards], .ut-page table.data[data-ut-mobile-cards],
    .admin-shell table.data[data-ut-mobile-cards] {
        display:block; width:100%; min-width:0; border:0; background:transparent; border-collapse:separate;
    }
    table.data[data-ut-mobile-cards] > tbody, table.data[data-ut-mobile-cards] > tfoot { display:block; width:100%; }
    table.data[data-ut-mobile-cards] > thead,
    table.data[data-ut-mobile-cards] tr.ut-mobile-header {
        position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden;
        clip:rect(0,0,0,0); clip-path:inset(50%); border:0;
    }
    .main table.data[data-ut-mobile-cards] tr.ut-mobile-record,
    .ut-page table.data[data-ut-mobile-cards] tr.ut-mobile-record {
        display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0;
        width:100%; min-width:0; margin:0 0 14px; border:1px solid var(--line,#e3e9f1);
        border-radius:12px; background:#fff; overflow:visible;
    }
    .main table.data[data-ut-mobile-cards] tr.ut-mobile-record > td,
    .ut-page table.data[data-ut-mobile-cards] tr.ut-mobile-record > td {
        display:block; width:auto; min-width:0; max-width:none; padding:12px;
        border:0; border-bottom:1px solid var(--line,#e3e9f1); white-space:normal;
        overflow-wrap:anywhere; font-size:14px; line-height:1.8; text-align:start;
    }
    table.data[data-ut-mobile-cards] tr.ut-mobile-record > td::before {
        content:attr(data-ut-label); display:block; color:var(--navy,#102951);
        font-size:13px; font-weight:bold; line-height:1.6; margin-bottom:6px;
    }
    table.data[data-ut-mobile-cards] tr.ut-mobile-record > td[data-ut-label=""]::before { display:none; }
    table.data[data-ut-mobile-cards] tr.ut-mobile-message { display:block; width:100%; }
    .main table.data[data-ut-mobile-cards] tr.ut-mobile-message > td {
        display:block; width:100%; padding:14px; white-space:normal; overflow-wrap:anywhere;
    }
    table.data[data-ut-mobile-cards] tr.ut-mobile-message > td::before { display:none; }
    .main table.data[data-ut-mobile-cards] td a { max-width:100%; }
}
@media screen and (max-width:640px) {
    .main .form-grid, .main .filter-grid, .ut-page .form-grid, .ut-page .filter-grid,
    .main .assignment-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
    .main .form-footer, .main .actions { align-items:stretch; }
    .main .form-footer > .btn, .main .actions > .btn { flex-basis:100%; width:100%; }
    .main .file-item { align-items:flex-start; }
    .main .file-item > * { min-width:0; max-width:100%; }
    .layout .sidebar { flex-wrap:wrap; overflow:visible; }
    .layout .sidebar #adminLinks { display:flex; flex-wrap:wrap; min-width:0; }
    .layout .sidebar .navlink { white-space:normal; min-width:0; max-width:100%; }
}
@media screen and (max-width:480px) {
    .main .details, .main .definition, .main .request-meta { grid-template-columns:minmax(0,1fr); }
    .main .steps { gap:6px; }
    .main .steps li { min-width:0; padding:10px 5px; overflow-wrap:anywhere; }
    .main table.data[data-ut-mobile-cards] tr.ut-mobile-record,
    .ut-page table.data[data-ut-mobile-cards] tr.ut-mobile-record { grid-template-columns:minmax(0,1fr); }
    .main .page-heading > .btn { width:100%; }
}
@media screen and (max-width:360px) {
    .main .stats, .main .attendance-days, .ut-trainer .attendance-days { grid-template-columns:minmax(0,1fr); }
}
