
:root{
  --ink:#173042; --muted:#647582; --paper:#f3f7f9; --nav:#133348;
  --accent:#19a7a0; --accent2:#e79d45; --white:#fff; --line:#dfe8ec;
}
*{box-sizing:border-box}
body{background:var(--paper);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.sudect-nav{background:linear-gradient(110deg,#102f43,#17465c);box-shadow:0 4px 18px rgba(16,47,67,.18)}
.navbar-brand{letter-spacing:.02em}
.navbar-brand small{font-size:.65rem;opacity:.7;font-weight:500}
.brand-mark{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,var(--accent),#5dd4cb);display:grid;place-items:center;color:#fff;font-weight:900;box-shadow:0 6px 16px rgba(25,167,160,.35)}
.nav-link{border-radius:9px;margin:0 2px}.nav-link:hover{background:rgba(255,255,255,.08)}
.user-chip{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.08);padding:7px 10px 7px 13px;border-radius:12px;color:#fff;max-width:360px}
.user-chip small{display:block;font-size:.7rem;opacity:.72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-chip a{color:#fff;opacity:.85;padding:6px}
.hero{background:linear-gradient(135deg,#14394e 0%,#1a5668 55%,#168f8a 100%);border-radius:24px;padding:28px;color:#fff;box-shadow:0 12px 30px rgba(19,51,72,.16);position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-90px;top:-100px;background:rgba(255,255,255,.07)}
.hero .eyebrow{text-transform:uppercase;font-size:.72rem;letter-spacing:.15em;opacity:.72}
.card-soft{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 7px 22px rgba(20,54,72,.05)}
.stat-card{padding:20px;min-height:122px}
.stat-icon{width:44px;height:44px;border-radius:13px;background:#eaf7f6;color:#148f89;display:grid;place-items:center;font-size:1.1rem}
.stat-value{font-size:2rem;font-weight:800;line-height:1}
.section-title{font-weight:800;letter-spacing:-.02em}
.btn-sudect{background:var(--accent);border-color:var(--accent);color:#fff}.btn-sudect:hover{background:#148f89;border-color:#148f89;color:#fff}
.btn-soft{background:#edf5f7;border:1px solid #d9e8ed;color:#24495b}.btn-soft:hover{background:#e1eff2;color:#173042}
.dep-badge{font-size:.72rem;padding:.35rem .55rem;border-radius:999px;font-weight:700}
.dep-1{background:#e8f3ff;color:#235d91}.dep-2{background:#f4eaff;color:#7850a5}
.table-modern{margin:0}.table-modern thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#73838d;border-bottom:1px solid var(--line);background:#f9fbfc}.table-modern td{vertical-align:middle;border-color:#edf2f4}
.event-chip{display:block;padding:5px 7px;border-radius:8px;background:#eaf7f6;color:#176b68;text-decoration:none;font-size:.76rem;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#dfe8ec;border:1px solid #dfe8ec;border-radius:16px;overflow:hidden}
.cal-head{background:#edf3f5;padding:10px;text-align:center;font-size:.75rem;font-weight:800;color:#637681}
.cal-day{background:#fff;min-height:125px;padding:8px}.cal-day.muted{background:#f7f9fa;color:#a4afb5}.cal-num{font-weight:800;font-size:.86rem;margin-bottom:7px}
.form-control,.form-select{border-radius:11px;border-color:#d9e4e9;padding:.65rem .8rem}.form-control:focus,.form-select:focus{border-color:#51bdb8;box-shadow:0 0 0 .2rem rgba(25,167,160,.12)}
.login-wrap{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:#eef4f6}
.login-brand{background:linear-gradient(145deg,#102f43,#1b5669 60%,#16928d);color:#fff;padding:8vw;display:flex;align-items:center;position:relative;overflow:hidden}
.login-brand:after{content:"SUDECT";position:absolute;font-size:18vw;font-weight:900;opacity:.035;right:-4vw;bottom:-5vw}
.login-card{display:flex;align-items:center;justify-content:center;padding:30px}.login-card .box{width:min(430px,100%);background:#fff;padding:32px;border-radius:22px;box-shadow:0 18px 50px rgba(24,56,72,.1)}
.code-pill{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#eef4f6;border-radius:8px;padding:3px 7px;font-size:.8rem}
@media(max-width:991px){.login-wrap{grid-template-columns:1fr}.login-brand{min-height:280px;padding:42px}.calendar-grid{min-width:900px}.calendar-scroll{overflow:auto}}
@media(max-width:576px){.hero{padding:22px;border-radius:18px}.stat-card{min-height:auto}.login-brand{min-height:220px;padding:28px}.login-card{padding:18px}.login-card .box{padding:24px}}
