:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#182235;background:#f3f6fa;line-height:1.5;--ink:#172033;--muted:#68768a;--brand:#173a63;--brand2:#235d94;--line:#dfe6ee;--surface:#fff;--soft:#eef4fa;--shadow:0 10px 30px rgba(27,52,78,.08)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#f8fafc 0,#f3f6fa 220px)}a{color:#1f568a}button,input,select,textarea{font:inherit}.topbar{background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:10px 3%;display:flex;gap:18px;align-items:center;position:sticky;top:0;z-index:10;box-shadow:0 2px 14px rgba(22,42,62,.04)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);min-width:max-content}.brand>span:last-child{display:grid;line-height:1.15}.brand small{font-size:11px;color:var(--muted);font-weight:500;margin-top:3px}.brand-mark{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,var(--brand),var(--brand2));color:#fff;font-weight:800;letter-spacing:-1px;box-shadow:0 8px 20px rgba(23,58,99,.22)}.brand-mark.small{width:38px;height:38px;border-radius:12px;font-size:14px}.nav{display:flex;gap:5px;align-items:center;flex:1;flex-wrap:wrap}.nav a,.userbox a,.primary,button{padding:9px 12px;border:1px solid transparent;border-radius:10px;text-decoration:none;cursor:pointer;transition:.18s ease}.nav a{color:#3e5065;font-size:14px}.nav a:hover{background:#f1f5f9;color:var(--brand)}.primary,.big{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff!important;border-color:transparent;box-shadow:0 6px 14px rgba(23,58,99,.15)}.primary:hover,.big:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(23,58,99,.22)}button{background:#fff;border-color:#cad5e1;color:#26415f}.userbox{display:flex;align-items:center;gap:9px;white-space:nowrap;font-size:13px;color:var(--muted)}.userbox a{padding:7px 9px;background:#f5f7fa;color:#4c5b6d}main{max-width:1160px;margin:30px auto;padding:0 20px;min-height:calc(100vh - 150px)}.site-footer{max-width:1160px;margin:20px auto;padding:20px;color:#8895a6;font-size:12px;border-top:1px solid var(--line)}h1{font-size:32px;letter-spacing:-.7px;margin:4px 0 8px;color:#14263b}h2{letter-spacing:-.3px}.muted{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:800;color:#44729e}.hero{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:12px 0 24px}.hero p{color:var(--muted);margin:0}.hero.compact{padding-bottom:18px}.big{font-size:16px;padding:13px 18px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.cards>div,.panel{background:var(--surface);border:1px solid var(--line);border-radius:17px;padding:19px;box-shadow:var(--shadow)}.dashboard-cards>div{position:relative;overflow:hidden;min-height:126px}.dashboard-cards>div:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;background:#f3f7fb;right:-25px;bottom:-35px}.cards strong{display:block;font-size:31px;color:#153b63;line-height:1.1}.cards span{color:var(--muted)}.card-icon{display:block!important;font-size:18px;margin-bottom:15px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:30px 0 12px}.section-head h2{margin:0}.section-head p{margin:4px 0 0}.list{display:grid;gap:9px}.modern-list a{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);padding:13px 15px;border-radius:13px;text-decoration:none;color:var(--ink);box-shadow:0 3px 12px rgba(27,52,78,.035)}.modern-list a:hover{border-color:#b9ccde;box-shadow:0 8px 20px rgba(27,52,78,.07);transform:translateY(-1px)}.modern-list a>span:nth-child(2){display:grid;flex:1}.modern-list small{color:var(--muted);margin-top:2px}.list-badge{background:#eef4f9;color:#416786!important;padding:6px 9px;border-radius:8px;font-size:12px}.arrow{font-size:25px;color:#8ba1b7!important}.empty{background:#fff;border:1px dashed #cbd6e2;border-radius:13px;padding:24px;color:var(--muted);text-align:center}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.stack{display:grid;gap:14px}label{display:grid;gap:6px;font-weight:650;font-size:14px}input,select,textarea{width:100%;min-height:44px;border:1px solid #cbd5e1;border-radius:10px;padding:10px 11px;background:#fff;color:#172033;outline:none}input:focus,select:focus,textarea:focus{border-color:#6d97bd;box-shadow:0 0 0 3px rgba(51,105,153,.1)}textarea{resize:vertical}.table{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;margin-top:16px;box-shadow:var(--shadow)}table{border-collapse:collapse;width:100%}th,td{padding:12px;border-bottom:1px solid #edf1f5;text-align:left}th{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#697a8d;background:#f8fafc}.chips{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.chips a{background:#fff;border:1px solid var(--line);padding:7px 10px;border-radius:8px;text-decoration:none}.pill{display:flex;align-items:center;gap:8px;background:#eef3f8;border-radius:10px;padding:9px 10px;margin-top:8px}.pill button{margin-left:auto;padding:3px 8px}.actions{display:flex;gap:10px;justify-content:flex-end;margin-bottom:14px}.searchbar{display:flex;gap:9px;background:#fff;border:1px solid var(--line);padding:10px;border-radius:15px;box-shadow:var(--shadow)}.searchbar input{border:0;box-shadow:none!important;font-size:16px}.searchbar button{min-width:90px}.avatar{width:40px;height:40px;border-radius:12px;background:#e8f0f8;display:grid!important;place-items:center;color:#275986!important;font-weight:800;flex:0 0 auto}.count-badge,.status-chip,.role-chip,.active-chip,.inactive-chip{font-size:12px;border-radius:999px;padding:5px 9px;white-space:nowrap}.count-badge,.status-chip{background:#edf4fb;color:#315f89!important}.role-chip{background:#eef2f6;color:#486175}.active-chip{background:#e9f7ef;color:#247048}.inactive-chip{background:#f3f4f6;color:#75808d}.student-heading{margin-bottom:18px}.student-heading h1{margin-top:10px}.back{text-decoration:none;font-size:13px}.mini-cards{grid-template-columns:repeat(4,1fr)}.mini-cards>div{box-shadow:none}.mini-cards strong{font-size:25px}.timeline{display:grid;gap:0;margin-left:10px}.timeline-item{position:relative;display:block;text-decoration:none;color:var(--ink);padding:0 0 18px 28px;border-left:2px solid #dce5ee}.timeline-item>div{background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px;box-shadow:0 3px 12px rgba(27,52,78,.035)}.timeline-dot{position:absolute;left:-7px;top:18px;width:12px;height:12px;border-radius:50%;background:#3d77a9;border:3px solid #e7f0f8}.timeline-item p{color:var(--muted);margin:7px 0 3px}.timeline-item small{color:#7c8998}.create-user summary{cursor:pointer}.form-grid{margin-top:18px}.form-grid>div{align-self:end}.user-grid{display:grid;gap:16px;margin-top:18px}.user-card{background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow);overflow:hidden}.user-card>header{display:flex;align-items:center;gap:12px;padding:17px 18px;background:#fbfcfe;border-bottom:1px solid #edf1f5}.user-card header>div:nth-child(2){flex:1}.user-card h3{margin:0;font-size:17px}.user-card header p{margin:2px 0 0;color:var(--muted);font-size:12px}.permissions{padding:17px 18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 20px}.permission-title{grid-column:1/-1;display:flex;justify-content:space-between}.permission-title small{color:var(--muted)}.permissions h4{grid-column:1/-1;margin:12px 0 2px;border-bottom:1px solid #edf1f5;padding-bottom:5px;color:#4b647c}.check{display:flex;grid-template-columns:none;flex-direction:row;align-items:center;gap:8px;font-weight:500}.check input{width:17px;min-height:17px;height:17px}.permissions>button{grid-column:1/-1;justify-self:start;margin-top:8px}.user-actions{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:14px 18px;border-top:1px solid #edf1f5;background:#fbfcfd;flex-wrap:wrap}.inline-form{display:flex;gap:7px;flex:1;max-width:480px}.danger-btn{border-color:#edc5c5;color:#9b3434;background:#fff8f8}.alert{padding:11px 13px;border-radius:10px;margin:12px 18px;font-size:13px}.alert.danger{background:#fff0f0;color:#8f2f2f;border:1px solid #f3caca}.alert.warning{background:#fff8e8;color:#77551c;border:1px solid #f1dfb8}.alert.info{background:#eef6ff;color:#315f89;border:1px solid #cfe0f1}.login-body{background:radial-gradient(circle at 15% 20%,#2f628f 0,#173a63 35%,#102944 100%);display:grid;place-items:center;padding:30px;min-height:100vh}.login-shell{width:min(930px,100%);display:grid;grid-template-columns:1.15fr .85fr;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 30px 80px rgba(5,19,34,.3)}.login-brand{padding:58px;background:linear-gradient(145deg,#f1f6fb,#e6eff8);display:flex;flex-direction:column;justify-content:center}.login-brand h1{font-size:34px;max-width:520px;margin-top:24px}.login-brand p{color:#5d7083;max-width:500px;font-size:16px}.login-card{padding:48px 40px;display:flex;flex-direction:column;justify-content:center}.login-card h2{margin:5px 0 4px}.login-card .alert{margin:14px 0}.login-card form{margin:19px 0}.paper{background:#fff;max-width:794px;margin:auto;padding:55px;min-height:1040px;border:1px solid var(--line);box-shadow:var(--shadow)}.paper h1{text-align:center;font-size:20px}.pre{white-space:pre-wrap;line-height:1.6}.signs{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;text-align:center;margin-top:35px}.paper footer{text-align:right;margin-top:80px;font-size:11px}.panel h2{margin-top:0}.panel input[type=file]{padding:8px}.stage{margin:16px 0}.doc-card{display:flex;justify-content:space-between;gap:14px;align-items:center;border-top:1px solid #e5e7eb;padding:13px 0}.doc-card:first-of-type{border-top:0}.doc-card>div:first-child{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.doc-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.doc-actions a,.doc-actions button{padding:7px 10px;border:1px solid #ccd3dd;border-radius:8px;text-decoration:none;font-size:14px}.doc-actions form{margin:0}.done{font-size:12px;background:#e8f5e9;padding:4px 7px;border-radius:999px}.pending{font-size:12px;background:#fff4e5;padding:4px 7px;border-radius:999px}.evidence-form{margin-top:14px}.case-list a{display:flex;justify-content:space-between;gap:10px;align-items:center}.case-list small{color:#64748b}@media(max-width:900px){.topbar{align-items:flex-start;flex-wrap:wrap}.nav{order:3;width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.nav a{white-space:nowrap}.login-shell{grid-template-columns:1fr}.login-brand{display:none}}@media(max-width:700px){main{margin-top:20px;padding:0 13px}.topbar{padding:9px 12px}.userbox span{display:none}.hero{align-items:flex-start;flex-direction:column}.hero .big{width:100%;text-align:center}.cards,.grid2,.mini-cards{grid-template-columns:1fr 1fr}.dashboard-cards{grid-template-columns:1fr}.row>*{flex:1 1 100%}.paper{padding:22px;min-height:0}.signs{grid-template-columns:1fr}h1{font-size:26px}.permissions{grid-template-columns:1fr}.inline-form{max-width:none;width:100%;flex-direction:column}.searchbar{position:sticky;top:112px;z-index:5}.doc-card,.case-list a{align-items:flex-start;flex-direction:column}.doc-actions{width:100%}.login-body{padding:13px}.login-card{padding:34px 24px}}@media(max-width:430px){.mini-cards{grid-template-columns:1fr 1fr}.cards>div{padding:15px}.brand small{display:none}.brand-mark.small{width:34px;height:34px}.modern-list a{padding:11px}.list-badge{display:none}}@media print{.topbar,.actions,.site-footer{display:none}body{background:#fff}.paper{padding:0;max-width:none;min-height:0;border:0;box-shadow:none}main{margin:0;max-width:none;padding:0}}
.new-user-form{display:grid;gap:18px;margin-top:16px}.permission-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 20px;padding:16px;border:1px solid #e5ebf1;border-radius:13px;background:#fbfcfe}.permission-picker h4{grid-column:1/-1;margin:10px 0 2px;border-bottom:1px solid #e8edf2;padding-bottom:5px;color:#4b647c}.new-user-form>button{justify-self:start}@media(max-width:700px){.permission-picker{grid-template-columns:1fr}}
/* v0.4.1 — mobile drawer, safer destructive actions, reusable permission templates */
.menu-toggle{display:none;width:44px;height:44px;padding:10px;border-radius:12px;background:#fff;border:1px solid var(--line);align-items:center;justify-content:center;flex-direction:column;gap:5px}
.menu-toggle span{display:block;width:20px;height:2px;background:#244766;border-radius:2px}
.mobile-menu,.mobile-menu-backdrop{display:none}.field-help{font-weight:400;color:var(--muted);font-size:11px}.create-actions{display:flex;gap:9px;flex-wrap:wrap}.template-save-box{margin-top:16px;padding:16px;border:1px solid #cfdbe7;background:#f7fafd;border-radius:13px;display:grid;gap:12px}.template-save-box[hidden]{display:none}.saved-template-list{margin-top:17px;padding-top:14px;border-top:1px solid #e8edf2}.template-chip{display:inline-flex;align-items:center;gap:5px;background:#eef4f9;border:1px solid #dbe5ee;padding:6px 7px 6px 10px;border-radius:999px}.template-chip form{display:inline}.template-chip button{border:0;background:transparent;padding:0 4px;color:#8b3a3a;font-size:17px;line-height:1}.account-actions{display:flex;gap:8px;flex-wrap:wrap}.account-actions form,.table td form{margin:0}.danger-solid{background:#a33a3a;color:#fff;border-color:#a33a3a}.danger-solid:hover{background:#8f2f2f}.compact-btn{padding:6px 10px;min-height:auto;font-size:12px}
@media(max-width:900px){
  .topbar{align-items:center;flex-wrap:nowrap}.desktop-nav,.desktop-userbox{display:none!important}.menu-toggle{display:flex;margin-left:auto;flex:0 0 auto}.brand{min-width:0}.brand>span:last-child{min-width:0}.brand b{white-space:nowrap}
  .mobile-menu-backdrop{display:block;position:fixed;inset:0;background:rgba(9,24,39,.42);z-index:80;opacity:0;visibility:hidden;transition:.2s}.mobile-menu-backdrop.open{opacity:1;visibility:visible}
  .mobile-menu{display:flex;position:fixed;top:0;right:0;bottom:0;width:min(330px,88vw);z-index:90;background:#fff;box-shadow:-20px 0 50px rgba(13,37,60,.22);transform:translateX(105%);transition:transform .23s ease;flex-direction:column;padding:18px}.mobile-menu.open{transform:translateX(0)}body.menu-open{overflow:hidden}
  .mobile-menu-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:7px 2px 17px;border-bottom:1px solid #e8edf2}.mobile-menu-head>div{display:grid}.mobile-menu-head small{color:var(--muted);margin-top:2px}.mobile-menu-head button{font-size:28px;line-height:1;width:40px;height:40px;padding:0;background:#f4f7fa;border:0;border-radius:10px}.mobile-menu nav{display:grid;gap:5px;padding:15px 0;overflow:auto}.mobile-menu nav a{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:10px;color:var(--ink);text-decoration:none}.mobile-menu nav a:hover{background:#f2f6fa}.mobile-menu nav .mobile-primary{background:#1d5688;color:#fff;margin-top:6px}.mobile-logout{margin-top:auto;border-top:1px solid #e8edf2;padding:15px 10px 4px;color:#9b3434;text-decoration:none;font-weight:700}
}
@media(max-width:700px){.account-actions{width:100%}.account-actions form{flex:1}.account-actions button{width:100%}.table th:last-child,.table td:last-child{white-space:nowrap}.create-actions>button{width:100%}}

/* v0.4.3 — refined visual system and data center */
:root{--brand:#153a63;--brand2:#2d6fa6;--accent:#3d86be;--soft-blue:#edf5fb;--success:#207a52;--radius-xl:22px}
body{background:radial-gradient(circle at 12% -8%,rgba(45,111,166,.10),transparent 28%),linear-gradient(180deg,#f9fbfd 0,#f2f6fa 260px)}
.topbar{padding:11px 2.5%;box-shadow:0 5px 22px rgba(22,42,62,.055);border-bottom-color:#e7edf3}
.brand{gap:12px}.brand b{font-size:15px;letter-spacing:.25px}.brand small{font-size:10.5px;max-width:240px;line-height:1.25;color:#738399}.brand-mark.small{background:linear-gradient(145deg,#12375e,#2d6fa6);box-shadow:0 7px 18px rgba(21,58,99,.23)}
.nav{justify-content:center}.nav a{font-weight:600;padding:9px 11px;border-radius:11px}.nav a:hover{background:#eef5fb}.primary{background:linear-gradient(135deg,#153a63,#2f74ad)}
main{max-width:1200px}.panel{border-color:#e2e9f0;box-shadow:0 12px 36px rgba(24,54,82,.07)}
.hero.data-hero{padding:15px 0 20px}.data-hero h1{font-size:38px;margin-bottom:7px}.hero-badge{padding:11px 15px;border:1px solid #d7e5f0;border-radius:999px;background:rgba(255,255,255,.85);color:#315c83;font-size:13px;font-weight:700;box-shadow:0 8px 26px rgba(25,58,89,.06)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:8px 0 24px}.stat-tile{background:rgba(255,255,255,.92);border:1px solid #e1e9f1;border-radius:18px;padding:16px 18px;box-shadow:0 8px 26px rgba(23,55,84,.055);display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}.stat-tile>span{grid-row:1/3;width:40px;height:40px;border-radius:12px;background:#edf5fb;display:grid;place-items:center;font-size:18px}.stat-tile b{font-size:24px;color:#173e67;line-height:1}.stat-tile small{color:#738297}
.data-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.data-card{position:relative;overflow:hidden;padding:22px}.data-card:after{content:"";position:absolute;width:140px;height:140px;border-radius:50%;right:-60px;top:-70px;background:linear-gradient(145deg,rgba(45,111,166,.09),rgba(45,111,166,0))}.data-card h3,.account-generator h3,.export-card h3{margin:0 0 5px;font-size:19px}.data-card p{margin:0}.data-card-icon{width:44px;height:44px;border-radius:13px;background:linear-gradient(145deg,#edf5fb,#e3eff8);display:grid;place-items:center;font-size:20px;margin-bottom:12px;border:1px solid #d8e7f2}
.account-generator{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:24px}.account-generator-copy{display:flex;gap:16px;align-items:flex-start;max-width:760px}.account-generator-copy .data-card-icon{flex:0 0 auto;margin:0}.account-generator-copy p{margin:5px 0 10px;color:#5f7083}.security-note{display:inline-flex;align-items:center;gap:7px;background:#edf8f2;border:1px solid #d1ebdd;color:#346b50;padding:8px 10px;border-radius:10px;font-size:12px}.account-generator-actions{display:grid;gap:9px;min-width:220px}.account-generator-actions form{margin:0}.account-generator-actions button{width:100%}
.export-card{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px}.export-card>div{max-width:780px}.export-card .data-card-icon{margin-bottom:10px}.export-card p{color:#617185;margin-bottom:0}.buttonlike{display:inline-flex;align-items:center;justify-content:center;padding:11px 15px;border-radius:11px;text-decoration:none;font-weight:650;white-space:nowrap}
.section-head{margin-top:32px}.section-head h2{font-size:21px;color:#1d3147}.section-head p{font-size:13px}
@media(max-width:900px){.brand small{max-width:190px}.stats-grid{grid-template-columns:repeat(2,1fr)}.data-grid{grid-template-columns:1fr}.account-generator,.export-card{align-items:flex-start;flex-direction:column}.account-generator-actions{width:100%}.export-card .buttonlike{width:100%}.hero-badge{display:none}}
@media(max-width:520px){.brand small{display:block!important;max-width:205px;font-size:9px}.brand b{font-size:13px}.topbar{padding:9px 11px}.stats-grid{grid-template-columns:1fr 1fr;gap:9px}.stat-tile{padding:13px}.stat-tile>span{width:34px;height:34px}.stat-tile b{font-size:21px}.data-hero h1{font-size:31px}.account-generator-copy{flex-direction:column}.data-card,.account-generator,.export-card{padding:18px}}

/* v0.4.6 */
.form-stack{display:grid;gap:12px;margin:12px 0 18px}.form-stack label,.competition-grid label{display:grid;gap:6px;font-weight:700}.student-entry-grid{align-items:stretch}.student-entry-grid .panel{margin-top:0}.competition-grid{display:grid;grid-template-columns:1.35fr 1.7fr repeat(3,1fr);gap:12px;margin:14px 0 18px}.competition-grid input,.competition-grid select,.competition-filter input,.competition-filter select,.inline-edit input,.inline-edit select{width:100%}.trophy{font-size:34px}.competition-filter{display:grid;grid-template-columns:2fr 1fr auto auto;gap:10px;align-items:center}.record-count{font-size:.9rem;color:#64748b;font-weight:700}.table-sub{display:block;margin-top:3px;color:#64748b;white-space:nowrap}.level-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef2ff;font-weight:700;font-size:.86rem}.inline-edit summary{cursor:pointer;font-weight:700;margin-bottom:8px}.inline-edit form{display:grid;gap:7px;min-width:250px;padding:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.competition-table td:last-child{display:flex;gap:8px;align-items:flex-start}.button-link.secondary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:10px 14px;border:1px solid #cbd5e1;border-radius:9px}.empty-state{text-align:center;padding:34px 18px;color:#64748b}.empty-state>div{font-size:36px}@media(max-width:1050px){.competition-grid{grid-template-columns:1fr 1fr}.competition-filter{grid-template-columns:1fr 1fr auto auto}}@media(max-width:680px){.competition-grid,.competition-filter{grid-template-columns:1fr}.competition-table td:last-child{min-width:125px;display:table-cell}.inline-edit form{min-width:220px}.student-entry-grid{grid-template-columns:1fr!important}}
.student-picker-label{display:grid;gap:7px;margin:4px 0 16px}.student-multi{width:100%;min-height:180px;padding:8px;border:1px solid #cbd5e1;border-radius:10px;background:#fff}.student-multi option{padding:7px 9px;border-radius:6px}.picker-help{font-size:.88rem;font-weight:500}.team-grid{grid-template-columns:1fr 2fr 1fr 1fr}
@media(max-width:800px){.team-grid{grid-template-columns:1fr}.student-multi{min-height:220px}}

/* v0.4.8 - Yarışma öğrenci sınıf filtresi */
.student-filter-box{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin:14px 0 8px;padding:12px 14px;border:1px solid var(--line,#e5e7eb);border-radius:12px;background:var(--soft,#f8fafc)}
.student-filter-box label{min-width:220px;flex:0 1 320px;margin:0}
.student-filter-box select{width:100%;margin-top:6px}
.selection-summary{margin-top:6px;font-size:.92rem}
.inline-edit .competition-class-filter{margin-top:8px;margin-bottom:8px}

/* v0.4.9: document workspace */
.document-menu{position:relative;padding:9px 11px;font-size:14px}.document-menu summary{cursor:pointer;font-weight:600}.document-menu>div{position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);min-width:290px;max-height:65vh;overflow:auto;padding:8px;z-index:30}.document-menu a{display:block}.document-field{display:grid;gap:6px;align-content:start;font-size:14px;font-weight:650}.document-picker{display:grid;gap:8px}.student-options{max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:8px}.student-option{padding:7px}.student-option[hidden],.case-entry[hidden]{display:none!important}.evidence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:18px}.evidence-card{border:1px solid var(--line);padding:14px;border-radius:12px;overflow-wrap:anywhere}.evidence-card img{width:100%;height:180px;object-fit:contain;background:var(--soft);border-radius:8px}.evidence-card>b{display:block;margin-top:8px}.actions{flex-wrap:wrap}.pre{overflow-wrap:anywhere}
@media(max-width:700px){.document-menu>div{position:static;min-width:0;box-shadow:none}.grid2:has(.document-picker){grid-template-columns:1fr}}
@media print{.mobile-menu,.mobile-menu-backdrop{display:none!important}.paper h3{break-after:avoid}.paper p{orphans:3;widows:3}}

.student-signature{break-inside:avoid;padding:14px 0}

/* v0.4.9.1: scoped, vertical document menu; student dossiers */
.document-menu{position:relative;flex:0 0 auto}.document-menu>summary{list-style:none;display:flex;align-items:center;gap:6px;white-space:nowrap}.document-menu>summary::-webkit-details-marker{display:none}
.document-menu:not([open])>.document-menu-panel{display:none!important}
.document-menu[open]>.document-menu-panel{display:flex!important;flex-direction:column;gap:6px;width:330px;max-width:calc(100vw - 32px);min-width:0;max-height:65vh;overflow:auto;padding:12px;position:absolute;left:0;top:100%;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);z-index:40}
.document-menu-panel section{display:block;flex:none}.document-menu-panel h3{font-size:11px;color:var(--muted);margin:8px 9px 3px;text-transform:uppercase;letter-spacing:.5px}
.desktop-nav .document-menu-panel a,.mobile-menu .document-menu-panel a{display:block;white-space:normal;font-size:13px;line-height:1.35;padding:8px 9px;margin:0;text-decoration:none;border-radius:7px;color:var(--ink)}
.document-menu-panel a:hover{background:var(--soft)}.document-menu-panel .document-menu-home{border-bottom:1px solid var(--line);font-weight:700}
.dossier-filter{display:grid;grid-template-columns:2fr 1fr auto auto;gap:12px;align-items:end}.dossier-filter>a{padding:10px}.dossier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dossier-card{display:grid;gap:6px;text-decoration:none;color:var(--ink)}.dossier-card:hover{border-color:#8eabc7}.dossier-card span,.dossier-card small{color:var(--muted)}.dossier-card .dossier-open{color:var(--brand);font-size:13px;font-weight:700;margin-top:8px}.dossier-heading{margin-top:14px}.dossier-document-copy{display:grid!important;gap:5px!important}.dossier-document-copy small{color:var(--muted)}.document-delete-link{color:#a33a3a!important}.dossier-links{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.delete-confirmation{max-width:760px;margin:30px auto}.delete-confirmation h1{font-size:26px}.delete-confirmation .check{margin-top:22px}
@media(max-width:900px){.mobile-menu .document-menu[open]>.document-menu-panel{position:static;width:100%;max-width:100%;max-height:none;overflow:visible;box-shadow:none}.dossier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.dossier-grid,.dossier-filter{grid-template-columns:1fr}.dossier-document{align-items:stretch}.dossier-document .doc-actions a{flex:1 1 auto;text-align:center}}
@media print{.dossier-links,.document-menu{display:none!important}}
.archive-categories{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.archive-categories a{padding:12px;background:#fff;border:1px solid #cbd5e1;border-radius:10px}.archive-categories [aria-current]{background:#e0f2fe;border-color:#0284c7}.archive-record h2{font-size:1.15rem}.archive-subject{white-space:pre-wrap;overflow-wrap:anywhere}.dashboard-cards>a{display:flex;flex-direction:column;padding:24px;background:white;border-radius:16px}
