:root{--navy:#0b1f3a;--navy-2:#12345b;--blue:#1769e0;--blue-soft:#eaf2ff;--gold:#dba62b;--ink:#132238;--muted:#64748b;--line:#dbe3ee;--surface:#fff;--bg:#f4f7fb;--danger:#c73535;--radius:16px;--shadow:0 12px 35px rgba(15,35,65,.09)}
*{box-sizing:border-box}
html{min-height:100%;background:var(--bg)}
body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--blue)}
.app-body{background:var(--bg);min-height:100vh}
.app-header{position:sticky;top:0;z-index:1040;display:flex;align-items:center;gap:1rem;min-height:74px;padding:.75rem clamp(1rem,3vw,2.5rem);background:linear-gradient(120deg,var(--navy),var(--navy-2));box-shadow:0 8px 28px rgba(4,20,40,.18)}
.app-brand{display:flex;align-items:center;gap:.7rem;min-width:max-content;color:#fff;text-decoration:none}
.app-brand-mark,.brand-emblem{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#f4c75c,var(--gold));color:#302408;font-weight:900;letter-spacing:-.04em;box-shadow:inset 0 1px rgba(255,255,255,.55)}
.app-brand span:last-child{display:flex;flex-direction:column;line-height:1.1}.app-brand small{margin-top:.2rem;color:#b9c7db;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}
.primary-nav{display:flex;align-items:center;justify-content:center;gap:.15rem;flex:1}
.nav-item{display:flex;align-items:center;gap:.5rem;border:0;border-radius:10px;padding:.65rem .72rem;background:transparent;color:#dce7f6;text-decoration:none;font:inherit;font-size:.89rem;font-weight:650;white-space:nowrap;cursor:pointer}
.nav-item:hover,.nav-item:focus,.nav-item.active{background:rgba(255,255,255,.12);color:#fff}
.nav-group{position:relative}.nav-group-toggle{width:100%}.nav-menu,.user-dropdown{position:absolute;top:calc(100% + .65rem);left:0;display:none;min-width:220px;padding:.45rem;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.nav-group.open .nav-menu,.user-menu.open .user-dropdown{display:grid}
.nav-menu a,.user-dropdown a{padding:.65rem .75rem;border-radius:9px;color:#32445c;text-decoration:none;font-weight:600;font-size:.9rem}
.nav-menu a:hover,.user-dropdown a:hover{background:var(--blue-soft);color:var(--blue)}.nav-menu-wide{grid-template-columns:1fr 1fr;min-width:340px}
.user-menu{position:relative;margin-left:auto}.user-button{display:flex;align-items:center;gap:.6rem;border:1px solid rgba(255,255,255,.16);border-radius:13px;padding:.45rem .6rem;background:rgba(255,255,255,.08);color:#fff;text-align:left;cursor:pointer}.user-button>span:nth-child(2){display:flex;flex-direction:column;max-width:145px}.user-button strong{overflow:hidden;text-overflow:ellipsis;font-size:.84rem}.user-button small{color:#b9c7db;font-size:.72rem}.user-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#fff;color:var(--navy);font-weight:800}.user-dropdown{right:0;left:auto}.nav-toggle{display:none;border:0;background:transparent;color:#fff;font-size:1.7rem}
.app-main{width:min(1500px,100%);min-height:calc(100vh - 130px);margin:0 auto;padding:clamp(1.1rem,3vw,2.4rem)}
.app-footer{display:flex;justify-content:space-between;gap:1rem;padding:1.25rem clamp(1rem,3vw,2.5rem);border-top:1px solid var(--line);color:var(--muted);font-size:.82rem}
.app-main>.container,.app-main>.container-fluid{max-width:none;padding-left:0;padding-right:0}
.card{border:1px solid rgba(205,216,230,.85)!important;border-radius:var(--radius)!important;box-shadow:0 7px 24px rgba(17,40,70,.055)}
.card-header{border-bottom:1px solid var(--line)!important;background:#fbfcfe!important;font-weight:750}
.table{--bs-table-bg:transparent}.table>:not(caption)>*>*{padding:.85rem .75rem;border-bottom-color:#e7edf5}.table thead th{background:#f6f8fc;color:#465a73;font-size:.77rem;text-transform:uppercase;letter-spacing:.045em}
.btn{border-radius:10px;font-weight:650}.btn-primary{border:0;background:linear-gradient(135deg,#1565d8,#1d7aeb)}.form-control,.form-select{min-height:43px;border-color:#cfd9e6;border-radius:10px}.form-control:focus,.form-select:focus{border-color:#5e9ce8;box-shadow:0 0 0 .22rem rgba(23,105,224,.13)}
.alert{border:0;border-radius:12px}.badge{letter-spacing:.02em}.modal-content{border:0;border-radius:18px;box-shadow:var(--shadow)}
.login-page{min-height:100vh;display:grid;place-items:center;padding:clamp(1rem,4vw,3rem);background:radial-gradient(circle at 12% 16%,rgba(255,202,75,.2),transparent 24%),radial-gradient(circle at 88% 80%,rgba(29,122,235,.2),transparent 27%),linear-gradient(135deg,#07182d,#123b68)}
.login-shell{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.75fr);width:min(980px,100%);overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:26px;background:rgba(255,255,255,.98);box-shadow:0 30px 90px rgba(0,11,28,.38)}
.login-brand{display:flex;flex-direction:column;justify-content:center;min-height:610px;padding:clamp(2rem,5vw,4.5rem);background:linear-gradient(150deg,rgba(6,25,49,.94),rgba(17,61,103,.91)),url("../uploads/logo_1781997090.png") center/cover;color:#fff}
.login-brand .brand-emblem{width:58px;height:58px;margin-bottom:2rem;border-radius:18px}.login-brand h1{margin:.2rem 0 1rem;font-size:clamp(2.5rem,5vw,4.2rem);line-height:.95;letter-spacing:-.055em}.login-brand>p:not(.eyebrow){max-width:550px;color:#d1deee;font-size:1.08rem;line-height:1.7}
.eyebrow{margin:0;color:#dcae41;font-size:.75rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.login-features{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.5rem}.login-features span{padding:.5rem .7rem;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.08);font-size:.78rem}
.login-card{display:flex;flex-direction:column;justify-content:center;gap:1.4rem;padding:clamp(2rem,5vw,4rem)}.login-card h2{margin:.25rem 0 .4rem;font-size:2rem}.muted,.login-help{color:var(--muted)}.login-card form{display:grid;gap:.55rem}.login-card label{margin-top:.5rem;font-size:.86rem;font-weight:750}.login-card input{width:100%;height:48px;border:1px solid #cbd6e4;border-radius:11px;padding:0 .9rem;font:inherit;outline:0}.login-card input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(23,105,224,.12)}.login-card .btn-primary{height:49px;margin-top:.8rem;border:0;border-radius:11px;color:#fff;font:inherit;font-weight:750;cursor:pointer;box-shadow:0 9px 20px rgba(23,105,224,.24)}.login-help{text-align:center;font-size:.78rem}
@media(max-width:1100px){.app-header{flex-wrap:wrap}.nav-toggle{display:block;margin-left:auto}.primary-nav{display:none;order:4;flex-basis:100%;align-items:stretch;flex-direction:column;padding:.5rem 0}.app-header.nav-open .primary-nav{display:flex}.nav-group{width:100%}.nav-menu,.nav-menu-wide{position:static;grid-template-columns:1fr;width:100%;margin:.25rem 0;background:rgba(255,255,255,.07);border:0;box-shadow:none}.nav-menu a{color:#dce7f6}.user-menu{margin-left:0}}
@media(max-width:760px){.login-shell{grid-template-columns:1fr}.login-brand{min-height:auto;padding:2rem}.login-brand h1{font-size:2.6rem}.login-brand>p:not(.eyebrow),.login-features{display:none}.login-card{padding:2rem}.app-footer{flex-direction:column}.table-responsive{border-radius:12px}.app-main{padding:1rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
