*{box-sizing:border-box}body{margin:0;background:#f3f6f8;color:#182f39;font:16px system-ui,sans-serif}header{background:#143b43;color:white;padding:22px 5%;display:flex;justify-content:space-between;gap:20px}header strong{font-size:24px}header span{color:#b8d4d8}main{max-width:1400px;margin:auto;padding:26px}nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}nav a{background:white;padding:10px 16px;border:1px solid #cedce1;border-radius:8px;color:#16444a;text-decoration:none}.heading{display:flex;justify-content:space-between;align-items:center}h1{margin:8px 0;font-size:32px}h2{font-size:21px;margin-top:0}p{line-height:1.6}section{background:white;border:1px solid #ccdce0;border-radius:12px;padding:25px;margin:18px 0}label{display:block;font-weight:600;margin:16px 0}input,select,textarea{display:block;width:100%;padding:12px;margin-top:7px;border:1px solid #adc4cc;border-radius:6px;font:inherit}button,.button{background:#147b79;color:white;border:0;border-radius:6px;padding:12px 18px;font:inherit;cursor:pointer;text-decoration:none}.secondary{background:#e0ecee;color:#16444a}.notice{color:#805020;background:#fff2d4;padding:10px;border-radius:6px}.notice:empty{display:none}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.card{background:white;border:1px solid #bfd6da;border-radius:10px;padding:24px;color:#16444a;text-decoration:none}.card strong{display:block;font-size:38px}.columns{display:grid;grid-template-columns:minmax(280px,1fr) minmax(300px,1.5fr);gap:22px}table{width:100%;border-collapse:collapse;text-align:left}td,th{padding:12px;border-bottom:1px solid #dae4e8}td{overflow-wrap:anywhere}a{color:#096b71}.table-wrap{overflow:auto}.login{max-width:500px;margin:40px auto}.check{display:flex;gap:12px;align-items:center}.check input{width:auto;margin:0}@media(max-width:800px){.columns{display:block}header span{display:none}main{padding:16px}.heading{align-items:flex-start}h1{font-size:27px}}

/* Shared role-aware navigation */
body.with-sidebar header{position:fixed;top:0;left:0;right:0;height:76px;z-index:30;align-items:center;padding:16px 28px}.with-sidebar main{margin:76px 0 0 248px;max-width:none;padding:30px;min-height:calc(100vh - 76px)}.sidebar{position:fixed;top:76px;bottom:0;left:0;width:248px;overflow-y:auto;background:#12363e;color:#d6e9eb;padding:18px 14px;z-index:25}.side-user{padding:0 12px 14px;border-bottom:1px solid #31545b;margin:4px 0 12px}.side-user small{color:#aacbd0}.sidebar nav{display:block;margin:0}.sidebar nav a{display:block;border:0;background:transparent;color:#deedf0;margin:3px 0;border-radius:7px;padding:10px 12px;font-size:15px}.sidebar nav a:hover{background:#214d55}.sidebar nav a.active{background:#19847f;color:white;font-weight:650}.nav-group{color:#9dc5cb;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:14px 12px 4px;margin:0}.menu-toggle{display:none}.public-page main{max-width:1200px}.sidebar a:focus-visible,.menu-toggle:focus-visible{outline:3px solid #ffc36b;outline-offset:2px}@media(max-width:800px){.with-sidebar main{margin:76px 0 0;padding:18px}.menu-toggle{display:block;background:#245660;font-size:14px;padding:9px 12px}.with-sidebar header{justify-content:flex-start;gap:16px;padding:12px 16px}.with-sidebar header strong{font-size:21px}.sidebar{transform:translateX(-100%);width:248px;box-shadow:5px 0 15px #12363e44;transition:transform .15s}.menu-open .sidebar{transform:translateX(0)}.sidebar nav{display:block}.cards .card strong{font-size:28px}}@media print{.sidebar,header,.menu-toggle{display:none}.with-sidebar main{margin:0}}
/* Active section and interactive card accent */
.sidebar nav a{border-left:4px solid transparent;padding-left:12px}.sidebar nav a.active{border-left-color:#f4a340;background:#28515a;color:#fff4df;box-shadow:inset 0 0 0 1px #f4a34033}.sidebar nav a:hover{border-left-color:#f4a34099}.card{border-top:3px solid #bfd6da;transition:border-color .15s,box-shadow .15s,transform .15s}a.card:hover,a.card:focus-visible{border-top-color:#ed982c;border-color:#e7ba78;background:#fffaf2;box-shadow:0 4px 16px #d9963426;transform:translateY(-2px)}.menu-toggle:focus-visible{outline-color:#f4a340}
