:root { color: #202521; background: #f2f3ef; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-synthesis: none; }
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; min-height: 100vh; }
button, select, a { font: inherit; }
button, .button { min-height: 48px; }
button:focus-visible, a:focus-visible, select:focus-visible { outline: 3px solid #b68b52; outline-offset: 3px; }
.brand { margin: 0; color: #263b31; font-family: Georgia, serif; font-size: 1.7rem; font-weight: 700; letter-spacing: .02em; }
.subtitle { margin: .25rem 0 0; color: #69716b; font-size: .88rem; letter-spacing: .1em; text-transform: uppercase; }
.login-page, .startup { display: grid; min-height: 100vh; place-items: center; padding: 1.25rem; }
.login-card { width: min(100%, 430px); padding: clamp(1.5rem, 6vw, 3rem); border: 1px solid #dedfd9; border-radius: 20px; background: #fff; box-shadow: 0 20px 50px rgba(29, 43, 35, .08); }
.login-header { padding-bottom: 2rem; border-bottom: 1px solid #e7e8e3; }
.login-actions h1 { margin: 2rem 0 1.25rem; font-size: 1.35rem; }
.button { display: inline-flex; width: 100%; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 10px; padding: .75rem 1rem; cursor: pointer; font-weight: 650; text-decoration: none; }
.button:disabled { cursor: not-allowed; opacity: .5; }
.primary { background: #294a3b; color: #fff; }
.primary:hover { background: #203d31; }
.secondary, .telegram-link { margin-top: .75rem; border-color: #aeb8b1; background: #fff; color: #294a3b; }
.text-button { margin-top: .5rem; background: transparent; color: #53625a; font-weight: 550; }
.status { min-height: 1.5rem; color: #59635d; line-height: 1.5; }
.status.error { color: #8b352d; }
.secure-note { margin-top: 1.5rem; color: #69716b; font-size: .86rem; }
.language-label { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.25rem; color: #59635d; font-size: .85rem; }
.language-select { min-height: 42px; border: 1px solid #cbd0cb; border-radius: 8px; background: #fff; padding: .45rem .7rem; color: inherit; }
.shell { min-height: 100vh; }
.sidebar { display: flex; flex-direction: column; padding: 1.2rem; background: #23352c; color: #f7f5ef; }
.sidebar .brand { color: #fff; }.sidebar .subtitle { color: #b9c5bd; }
.nav { display: flex; gap: .4rem; margin: 1.2rem 0; overflow-x: auto; }
.nav-item { min-height: 44px; border: 0; border-radius: 8px; padding: .65rem .8rem; background: transparent; color: #d9dfdb; text-align: left; white-space: nowrap; }
.nav-item.active { background: #fff; color: #23352c; font-weight: 700; }
.nav-item:disabled:not(.active) { opacity: .55; }
.profile { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .15rem 1rem; }
.profile span { color: #bdc7c1; font-size: .85rem; }.profile .logout { grid-column: 2; grid-row: 1 / span 2; width: auto; min-height: 42px; background: transparent; border-color: #68786f; color: #fff; }
.content { padding: clamp(1.25rem, 5vw, 3.5rem); outline: none; }
.page-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 2.25rem; }
.page-header h1 { margin: 0; font: 700 clamp(1.8rem, 4vw, 2.5rem) Georgia, serif; color: #263b31; }
.date { margin: .5rem 0 0; color: #667069; font-size: .9rem; }
.page-header .language-label { margin: 0; }.page-header .language-label { font-size: 0; }
.dashboard-section { margin-bottom: 2.2rem; }.dashboard-section h2 { margin: 0 0 .85rem; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: #657069; }
.card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: .8rem; }
.stat-card { min-height: 125px; padding: 1.2rem; border: 1px solid #dedfd9; border-radius: 14px; background: #fff; }
.stat-card.attention { border-color: #d7b69a; background: #fffaf5; }
.stat-label { margin: 0; color: #59635d; }.stat-value { margin: .7rem 0 0; color: #263b31; font-size: 2rem; font-weight: 750; }
@media (min-width: 850px) {
  .shell { display: grid; grid-template-columns: 245px 1fr; }.sidebar { position: sticky; top: 0; height: 100vh; padding: 2rem 1.4rem; }
  .nav { flex: 1; flex-direction: column; margin-top: 3rem; overflow: visible; }.profile { display: flex; align-items: stretch; flex-direction: column; }.profile .logout { margin-top: 1rem; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; } }
