/* Оформление панели: токены из Figma MedicFlow, светлая тема, шрифт Inter (локально). */
@font-face{font-family:"Inter";font-style:normal;font-weight:400 700;font-display:swap;
  src:url("fonts/inter-cyrillic.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Inter";font-style:normal;font-weight:400 700;font-display:swap;
  src:url("fonts/inter-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --white:#fff;--gray-25:#fcfcfd;--gray-50:#f9fafb;--gray-100:#f2f4f7;--gray-200:#eaecf0;--gray-300:#d0d5dd;
  --gray-400:#98a2b3;--gray-500:#667085;--gray-600:#475467;--gray-700:#344054;--gray-800:#1d2939;--gray-900:#101828;
  --primary-25:#f2f3fd;--primary-50:#e5e7fb;--primary-100:#ccd0f8;--primary-300:#646ed8;--primary-500:#0e1680;
  --primary-600:#0a106e;--primary-700:#070b5c;--primary-900:#02053d;--topbar:#04074a;
  --error-50:#fcf0e5;--error-500:#9b260c;--error-100:#fae2cb;
  --success-50:#effbe7;--success-700:#095512;
  --shadow-xs:0 1px 2px rgba(16,24,40,.05);
  --shadow-sm:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.10);
  --shadow-md:0 2px 4px -2px rgba(16,24,40,.06),0 4px 8px -2px rgba(16,24,40,.10);
  --focus:0 0 0 4px var(--primary-100);
  --radius:8px;
}
*{box-sizing:border-box}
html{color-scheme:light}
body{margin:0;background:var(--gray-25);color:var(--gray-900);font:14px/20px "Inter",system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--primary-500);text-decoration:none}
a:hover{text-decoration:underline}
h1{font-size:24px;line-height:32px;font-weight:600;margin:0 0 16px}
h2{font-size:18px;line-height:28px;font-weight:600;margin:28px 0 12px}
p{margin:0 0 12px}

/* оболочка */
.topbar{height:56px;background:var(--topbar);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 24px}
.topbar .brand{font-weight:600;font-size:16px;letter-spacing:.2px}
.topbar form{margin:0}
.shell{display:flex;gap:24px;padding:24px;align-items:flex-start}
.sidebar{width:232px;flex:none;background:var(--white);border-radius:12px;box-shadow:var(--shadow-sm);padding:16px 12px;position:sticky;top:24px}
.sidebar a{display:block;padding:9px 12px;border-radius:6px;color:var(--gray-600);font-weight:500;margin-bottom:2px}
.sidebar a:hover{background:var(--gray-50);text-decoration:none}
.sidebar a.active{background:var(--primary-50);color:var(--primary-500);font-weight:600}
.content{flex:1;min-width:0}
.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px;margin-bottom:16px}
.card.flush{padding:0;overflow-x:auto}

/* кнопки */
button{font:inherit;font-weight:600;border-radius:var(--radius);padding:9px 16px;cursor:pointer;border:1px solid var(--primary-500);
  background:var(--primary-500);color:#fff;box-shadow:var(--shadow-xs)}
button:hover{background:var(--primary-600)}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:none;box-shadow:var(--focus)}
button.secondary,.topbar button{background:var(--white);color:var(--gray-700);border-color:var(--gray-300)}
button.secondary:hover{background:var(--gray-50)}
.topbar button{background:transparent;color:#fff;border-color:rgba(255,255,255,.35);box-shadow:none;padding:6px 14px}
.topbar button:hover{background:rgba(255,255,255,.1)}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
.actions form{margin:0}

/* поля */
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select{font:inherit;color:var(--gray-900);background:var(--white);
  border:1px solid var(--gray-300);border-radius:var(--radius);padding:9px 12px;box-shadow:var(--shadow-xs);max-width:100%}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]):focus,select:focus{border-color:var(--primary-300);box-shadow:var(--focus);outline:none}
.topbar button:focus-visible{box-shadow:0 0 0 3px rgba(255,255,255,.5)}
input[type=checkbox],input[type=radio]{accent-color:var(--primary-500);width:16px;height:16px;vertical-align:middle;margin:0 4px 0 0}
label{color:var(--gray-700);font-weight:500}
.field{display:block;margin-bottom:16px}
.field span{display:block;margin-bottom:6px}
.field input:not([type=checkbox]):not([type=radio]){width:100%;max-width:420px}
.field label+label{margin-left:16px}
.field label>input:not([type=radio]):not([type=checkbox]){display:block;margin-top:6px}

/* таблицы */
table{border-collapse:collapse;width:100%;background:var(--white)}
th{background:var(--gray-50);color:var(--gray-600);font-weight:500;font-size:12px;text-align:left;padding:12px 16px;border-bottom:1px solid var(--gray-200);white-space:nowrap}
td{padding:12px 16px;border-bottom:1px solid var(--gray-200);vertical-align:middle}
tr:last-child td{border-bottom:0}
tbody tr:hover td{background:var(--gray-50)}
.season{white-space:nowrap}
td input[name^=small],td input[name^=large]{width:68px;padding:6px 8px}

/* сообщения */
.flash,.error{padding:12px 16px;border-radius:var(--radius);margin:0 0 16px;border:1px solid}
.flash{background:var(--primary-25);border-color:var(--primary-100);color:var(--primary-600)}
.error{background:var(--error-50);border-color:var(--error-100);color:var(--error-500)}
.badge{display:inline-block;padding:2px 10px;border-radius:16px;font-size:12px;font-weight:500;background:var(--gray-100);color:var(--gray-700)}
.badge.ok{background:var(--success-50);color:var(--success-700)}

/* дашборд */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px}
.stat{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px 20px}
.stat .label{color:var(--gray-500);font-size:13px}
.stat .value{font-size:24px;line-height:32px;font-weight:600;margin-top:4px}
ul.plain{list-style:none;margin:0;padding:0}
ul.plain li{padding:10px 0;border-bottom:1px solid var(--gray-200)}
ul.plain li:last-child{border-bottom:0}
ul.plain.card{padding:8px 20px}
.card>h2:first-child{margin-top:0}
.pair{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:14px 20px;margin-bottom:12px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.muted{color:var(--gray-500)}

/* вход */
.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.auth .card{width:100%;max-width:400px;padding:32px;box-shadow:var(--shadow-md)}
.auth .brand-mark{font-size:20px;font-weight:700;color:var(--primary-500);margin-bottom:24px}

@media (max-width:860px){
  .shell{flex-direction:column;align-items:stretch;padding:16px}
  .sidebar{width:100%;position:static;display:flex;flex-wrap:wrap;gap:4px}
  .sidebar a{margin:0}
}
.account{padding:12px 0;border-bottom:1px solid var(--gray-200)}
.account:last-of-type{border-bottom:0}
