:root{--navy:#123f63;--navy2:#0a2d49;--blue:#1f638f;--bg:#f3f6f8;--card:#fff;--text:#152536;--muted:#708091;--line:#dfe6eb;--green:#13875f;--red:#bf3b46;--amber:#cf8123;--shadow:0 14px 35px rgba(17,48,72,.07)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:UniversityArabic,'Segoe UI',Tahoma,Arial,sans-serif;color:var(--text);background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:flex;min-height:100vh}.sidebar{width:255px;position:fixed;inset:0 0 0 auto;background:linear-gradient(180deg,var(--navy2),#123f63);color:#fff;padding:24px 16px;display:flex;flex-direction:column;z-index:10}.side-brand{display:flex;align-items:center;gap:12px;padding:0 8px 24px;border-bottom:1px solid #ffffff20}.side-brand img{width:48px;height:48px;object-fit:contain;background:#fff;border-radius:50%;padding:3px}.side-brand b,.side-brand small,.side-user b,.side-user small{display:block}.side-brand small,.side-user small{font-size:11px;color:#bdcfdd}.sidebar nav{display:flex;flex-direction:column;gap:5px;margin-top:26px}.sidebar nav a{padding:12px 14px;border-radius:10px;display:flex;gap:12px;align-items:center;color:#dbe7ee;font-size:14px}.sidebar nav a:hover,.sidebar nav .nav-new{background:#ffffff17;color:#fff}.sidebar nav .nav-new{border:1px solid #ffffff1f;margin-bottom:10px}.side-user{margin-top:auto;border-top:1px solid #ffffff20;padding:18px 4px 0;display:flex;align-items:center;gap:10px}.side-user .avatar{width:38px;height:38px;border-radius:50%;background:#f2c17b;color:var(--navy2);display:grid;place-items:center;font-weight:800}.side-user div:nth-child(2){min-width:0;flex:1}.side-user b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-user form button{border:0;background:transparent;color:#fff;font-size:20px}.main{width:calc(100% - 255px);margin-right:255px;min-height:100vh}.topbar{height:76px;padding:0 34px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;position:sticky;top:0;z-index:5}.topbar>div{flex:1}.topbar b,.topbar small{display:block}.topbar small{font-size:11px;color:var(--muted)}.menu-button{display:none;border:0;background:transparent;font-size:22px}.content{padding:30px 34px 60px;max-width:1500px;margin:auto}.btn{border:0;border-radius:9px;padding:10px 17px;font-weight:700;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{background:var(--navy);color:#fff;box-shadow:0 6px 15px #123f6325}.btn.primary:hover{background:var(--navy2)}.btn.secondary{background:#fff;border:1px solid var(--line);color:var(--navy)}.btn.light{background:#fff;color:var(--navy)}.btn.danger{background:var(--red);color:#fff}.btn.compact{padding:8px 13px}.btn.wide{width:100%}.hero{background:linear-gradient(130deg,var(--navy2),#185b82);color:#fff;padding:34px 38px;border-radius:17px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow);overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:260px;height:260px;border:45px solid #ffffff08;border-radius:50%;left:-70px;top:-90px}.hero h1{font-size:28px;margin:7px 0}.hero p{margin:0;color:#d7e5ed}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.8px;color:#82b8d5}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0}.stat{background:#fff;border:1px solid var(--line);border-radius:13px;padding:20px;display:flex;align-items:center;gap:15px;box-shadow:var(--shadow)}.stat-icon{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;font-weight:800}.stat-icon.navy{background:#e7f0f6;color:var(--navy)}.stat-icon.green{background:#e3f5ee;color:var(--green)}.stat-icon.amber{background:#fff0dd;color:var(--amber)}.stat-icon.red{background:#fde9eb;color:var(--red)}.stat small,.stat strong{display:block}.stat small{color:var(--muted);font-size:11px}.stat strong{font-size:25px}.two-col{display:grid;grid-template-columns:2fr 1fr;gap:20px}.card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:23px;box-shadow:var(--shadow)}.card-head,.page-head,.section-title{display:flex;align-items:center;justify-content:space-between;gap:15px}.card h2,.card-head h2{font-size:16px;margin:0}.card-head p,.page-head p,.section-title p{color:var(--muted);font-size:12px;margin:3px 0}.card-head>a{color:var(--blue);font-weight:700;font-size:12px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{color:#708091;font-weight:700;text-align:right;padding:12px 10px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:13px 10px;border-bottom:1px solid #edf1f4}td a b,td a small{display:block}td a small{color:var(--muted);font-size:10px}.badge{border-radius:20px;padding:4px 9px;font-size:10px;font-weight:800;display:inline-block}.badge.ok{background:#e2f5ed;color:var(--green)}.badge.off{background:#fbe7e9;color:var(--red)}.badge.large{font-size:12px;padding:7px 13px}.empty{text-align:center;padding:38px;color:var(--muted)}.empty span,.empty b{display:block}.empty span{font-size:30px}.empty.slim{padding:25px;background:#f8fafb;border:1px dashed #cbd6de;border-radius:10px}.empty-row{text-align:center;padding:35px;color:var(--muted)}.quick .archive-mark{height:82px;width:82px;margin:18px auto;border-radius:18px;background:#e7f0f6;color:var(--navy);display:grid;place-items:center;font-weight:800;font-size:18px}.quick>p{font-size:12px;color:var(--muted);text-align:center}.quick input{margin-bottom:10px}.page-head{margin-bottom:20px}.page-head h1{font-size:25px;margin:0}.steps{display:flex;gap:5px}.steps span{padding:6px 10px;border-radius:20px;background:#e8edf1;color:#7d8b98;font-size:10px}.steps .active{background:#e2eef6;color:var(--navy)}label{display:block;font-weight:700;font-size:12px;color:#33495b}input,select,textarea{width:100%;margin-top:7px;border:1px solid #cfdae2;border-radius:9px;background:#fff;padding:11px 12px;outline:0;color:var(--text)}input:focus,select:focus,textarea:focus{border-color:#4381a8;box-shadow:0 0 0 3px #4381a815}label small{display:block;font-size:9px;font-weight:400;color:var(--muted);margin-top:5px}.form-card{margin-bottom:18px}.section-title{justify-content:flex-start;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:18px}.section-title>span{height:34px;width:34px;border-radius:9px;background:#e7f0f6;color:var(--navy);display:grid;place-items:center;font-weight:800;font-size:11px}.section-title>div:nth-child(2){flex:1}.counter{background:#f3f6f8;padding:8px 12px;border-radius:8px;font-size:11px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.span-2{grid-column:span 2}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.course-card{display:flex;gap:11px;border:1px solid var(--line);border-radius:11px;padding:13px;transition:.15s;position:relative;cursor:pointer}.course-card:hover{border-color:#75a0bc}.course-card.selected{border-color:var(--navy);background:#f0f6fa}.course-card.disabled{cursor:not-allowed;opacity:.58;background:#f4f5f6}.course-card input{width:18px;height:18px;margin:2px 0}.course-card b,.course-card small{display:block}.course-card b{font-size:12px}.course-card small{font-size:9px;color:var(--muted);margin-top:4px}.course-code{font:700 10px Consolas,monospace;color:var(--blue)}.fee-bar{background:var(--navy2);color:#fff;border-radius:13px;padding:18px 24px;display:flex;align-items:center;justify-content:flex-end;gap:25px;margin:18px 0}.fee-bar div small,.fee-bar div b{display:block}.fee-bar small{font-size:9px;color:#bad0dd}.fee-bar b{font-size:14px}.fee-bar .total{padding-right:25px;border-right:1px solid #ffffff30}.fee-bar .total b{font-size:22px;color:#f3c983}.form-actions{display:flex;justify-content:flex-end;gap:10px}textarea{min-height:80px;resize:vertical}.search{display:flex;gap:10px;margin-bottom:12px}.search input{margin:0}.detail-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;margin-bottom:20px}.details{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin:0}.details div{padding:15px 5px;border-bottom:1px solid var(--line)}.details dt{font-size:10px;color:var(--muted)}.details dd{margin:4px 0;font-weight:700;font-size:13px}.details .price{color:var(--green);font-size:18px}.document-list a{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.document-list a div{flex:1;min-width:0}.document-list a b,.document-list a small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-list a b{font-size:10px}.document-list a small,.document-list a strong{font-size:9px;color:var(--muted)}.file-icon{height:40px;width:42px;border-radius:8px;display:grid;place-items:center;font-size:9px;font-weight:800}.file-icon.pdf{background:#fbe7e9;color:var(--red)}.file-icon.docx{background:#e5eefb;color:#2862a1}.danger-zone{margin-top:20px;background:#fff;border:1px solid #efc7ca;border-radius:10px;padding:14px;color:var(--red)}.danger-zone form{display:flex;gap:10px;align-items:end;margin-top:12px}.danger-zone label{flex:1}.back{color:var(--blue);font-size:11px}.users{grid-template-columns:1fr 2fr}.stack{display:flex;flex-direction:column;gap:15px;margin-top:15px}.alert{padding:12px 15px;border-radius:9px;margin-bottom:16px;font-size:12px;font-weight:600}.alert.success{background:#e3f5ee;color:#096747;border:1px solid #b7e4d3}.alert.danger{background:#fdecee;color:#9e2833;border:1px solid #f1c6ca}.muted{color:var(--muted)}code{direction:ltr;display:inline-block}.error-page{text-align:center;max-width:700px;margin:50px auto}.error-page>span{height:60px;width:60px;border-radius:50%;display:grid;place-items:center;background:#fdecee;color:var(--red);margin:auto;font-size:30px;font-weight:800}.error-page pre{text-align:left;direction:ltr;white-space:pre-wrap;background:#f5f7f8;padding:12px;border-radius:8px;font-size:11px}.login-page{background:#e9f0f4;display:grid;place-items:center;padding:30px}.login-shell{width:min(970px,100%);min-height:610px;background:#fff;display:grid;grid-template-columns:1.05fr .95fr;border-radius:22px;overflow:hidden;box-shadow:0 30px 70px #183a5025}.login-brand{background:linear-gradient(145deg,#092c48,#165b82);color:#fff;padding:75px 55px;position:relative;overflow:hidden}.login-brand:after{content:"";position:absolute;width:390px;height:390px;border:70px solid #ffffff08;border-radius:50%;bottom:-190px;left:-140px}.login-brand img{width:80px;height:80px;background:#fff;border-radius:50%;padding:5px;display:block;margin-bottom:35px}.login-brand h1{font-size:39px;line-height:1.4;margin:10px 0 17px}.login-brand p{color:#c9dce7;line-height:2;font-size:13px}.brand-pills{display:flex;gap:8px;margin-top:32px}.brand-pills span{font-size:9px;padding:7px 11px;border-radius:20px;border:1px solid #ffffff25;background:#ffffff10}.login-card{padding:90px 58px}.login-card h2{font-size:28px;margin:7px 0}.login-card>p{font-size:12px}.login-card form{display:flex;flex-direction:column;gap:18px;margin-top:28px}.login-card .login-foot{text-align:center;margin-top:25px}.mobile-logo{display:none}
@media(max-width:1000px){.stat-grid{grid-template-columns:repeat(2,1fr)}.course-grid{grid-template-columns:repeat(2,1fr)}.two-col,.detail-grid{grid-template-columns:1fr}.users{grid-template-columns:1fr}}
@media(max-width:760px){.sidebar{transform:translateX(100%);transition:.2s}.menu-open .sidebar{transform:none}.main{width:100%;margin:0}.topbar{padding:0 16px}.menu-button{display:block}.content{padding:20px 14px}.topbar .compact{display:none}.hero{padding:25px;display:block}.hero .btn{margin-top:20px}.stat-grid{grid-template-columns:1fr 1fr}.page-head{align-items:flex-start;flex-direction:column}.page-head>.btn{width:100%}.steps{display:none}.form-grid,.course-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.fee-bar{gap:10px;padding:15px;justify-content:space-around}.fee-bar>span{display:none}.details{grid-template-columns:1fr}.login-page{padding:14px}.login-shell{display:block;min-height:0}.login-brand{display:none}.login-card{padding:40px 26px}.mobile-logo{display:flex;align-items:center;gap:10px;margin-bottom:35px}.mobile-logo img{width:45px;height:45px}.danger-zone form{display:block}.danger-zone .btn{margin-top:10px;width:100%}}
@media(max-width:460px){.stat-grid{grid-template-columns:1fr}.fee-bar{align-items:flex-start;flex-direction:column}.fee-bar .total{padding:10px 0 0;border:0;border-top:1px solid #ffffff30;width:100%}}
.alert.warn{background:#fff6e4;color:#835313;border:1px solid #edd39c}.badge.warn{background:#fff1d7;color:#8a5c16;margin-inline-start:4px}.exception-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.switch-row{display:flex;gap:10px;border:1px solid var(--line);border-radius:11px;padding:13px;background:#f8fafb;cursor:pointer}.switch-row input{width:19px;height:19px;margin:2px 0;flex:0 0 auto}.switch-row span,.switch-row b,.switch-row small{display:block}.switch-row.danger-switch{border-color:#edd8aa;background:#fffaf0}.course-stage{margin-top:20px}.course-stage.hidden{display:none}.stage-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.stage-heading h3{font-size:14px;margin:0;color:var(--navy)}.stage-heading span{font-size:10px;color:var(--muted);background:#edf2f5;border-radius:20px;padding:4px 9px}.course-card.has-prerequisite .prerequisite{color:#9a6216;font-weight:700}.override-panel{display:none;margin-top:18px;padding:16px;border:1px solid #e6c57e;background:#fffaf0;border-radius:11px}.override-panel.visible{display:block}.override-panel textarea{background:#fff}.narrow-card{max-width:720px}.document-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}@media(max-width:1000px){.exception-controls{grid-template-columns:1fr}}
.renewal-department-panel{display:none;margin-top:16px;padding:16px;border:1px solid #d7e2e8;border-radius:11px;background:#f8fafb}.renewal-department-panel.visible{display:grid}.registry-actions,.record-actions,.head-actions,.trash-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.registry-actions form,.record-actions form{margin:0}.record-actions{margin-bottom:18px}.filter-summary{font-size:11px;color:var(--muted);margin:8px 0 12px}.note-list{margin-top:16px}.note-list article{border-top:1px solid var(--line);padding:12px 0}.note-list article b,.note-list article time{font-size:10px}.note-list article time{color:var(--muted);margin-inline-start:8px}.note-list article p{margin:7px 0 0;font-size:12px}.status-pending{background:#fff1d7;color:#8a5c16}.status-confirmed{background:#e2f5ed;color:var(--green)}.status-trash,.status-cancelled{background:#fbe7e9;color:var(--red)}.legacy-finance{margin-top:20px}.finance-summary{display:flex;gap:24px;flex-wrap:wrap;padding:12px 0 18px;color:var(--muted)}.finance-summary b{color:var(--navy)}.stat-grid.six{grid-template-columns:repeat(6,1fr)}@media(max-width:1250px){.stat-grid.six{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.stat-grid.six{grid-template-columns:1fr 1fr}}
.renewal-course-search{display:flex;gap:10px;align-items:center;margin-bottom:4px}.renewal-course-search input{margin:0;min-width:0}.renewal-course-search .btn{white-space:nowrap}@media(max-width:600px){.renewal-course-search{align-items:stretch;flex-direction:column}.renewal-course-search .btn{width:100%}}
