
.auth-shell { min-height:100vh; display:grid; place-items:center; padding:24px; }
.auth-brand { position:fixed; top:24px; left:24px; font-weight:700; }
.auth-card { width:min(480px,100%); padding:34px; border:1px solid var(--line); border-radius:28px; background:var(--surface-solid); box-shadow:var(--shadow); }
.auth-card h1 { font-size:48px; margin:8px 0 12px; }
.auth-note,.setup-hint,.muted { color:var(--muted); }
.setup-hint { margin-top:20px; font-size:12px; }
.full-width { width:100%; }
.button-link { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; }
.alert { padding:14px 16px; border-radius:14px; margin:14px 0; }
.alert--error { background:#fff0f0; color:#8c1d1d; border:1px solid #efb7b7; }
.alert--success { background:#eefaf1; color:#1f6b33; border:1px solid #bde2c6; }
.cabinet-shell { width:min(1480px,calc(100% - 28px)); margin:14px auto; }
.cabinet-shell--narrow { width:min(1100px,calc(100% - 28px)); }
.cabinet-header { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; margin-bottom:20px; }
.cabinet-header h1 { font-size:clamp(42px,6vw,74px); margin:0; }
.user-box { display:grid; gap:3px; text-align:right; }
.user-box small { color:var(--muted); }
.user-box a,.back-text { color:var(--accent); font-weight:700; margin-top:6px; }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:14px; }
.stats-grid article { padding:22px; border:1px solid var(--line); border-radius:20px; background:var(--surface-solid); }
.stats-grid strong { display:block; font-family:"Playfair Display",Georgia,serif; font-size:38px; }
.stats-grid span { color:var(--muted); font-size:13px; }
.panel { padding:20px; border:1px solid var(--line); border-radius:20px; background:var(--surface-solid); margin-bottom:14px; }
.panel-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:16px; }
.panel-heading h2 { margin:0; font-size:18px; }
.panel-heading span { color:var(--muted); font-size:13px; }
.filters,.edit-form { display:flex; align-items:end; gap:12px; flex-wrap:wrap; }
.field--grow { flex:1 1 280px; }
.primary-button,.secondary-button { min-height:44px; padding:11px 18px; border-radius:12px; border:1px solid transparent; font:inherit; font-weight:800; cursor:pointer; }
.primary-button { background:var(--navy); color:#fff; }
.secondary-button { background:#fff; color:var(--navy); border-color:var(--line); }
.table-scroll { overflow:auto; }
.data-table { width:100%; border-collapse:collapse; min-width:900px; }
.data-table th { color:var(--muted); font-size:11px; letter-spacing:.08em; text-transform:uppercase; text-align:left; padding:12px; border-bottom:1px solid var(--line); }
.data-table td { padding:14px 12px; border-bottom:1px solid #ececf0; vertical-align:top; font-size:13px; }
.data-table td small { display:block; color:var(--muted); margin-top:4px; }
.clickable-row { cursor:pointer; }
.clickable-row:hover { background:#faf7f2; }
.status-badge { display:inline-block; padding:6px 9px; border-radius:999px; background:#f1f2f5; white-space:nowrap; }
.empty-state { text-align:center; color:var(--muted); padding:40px!important; }
.detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.details { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:0; }
.details div { min-width:0; }
.details dt { color:var(--muted); font-size:12px; margin-bottom:5px; }
.details dd { margin:0; font-weight:700; overflow-wrap:anywhere; }
.history-list { display:grid; gap:10px; }
.history-list article { padding:14px; border:1px solid var(--line); border-radius:14px; }
.history-list span { display:block; color:var(--muted); font-size:12px; margin-top:4px; }
.history-list p { margin:8px 0 0; }
@media(max-width:850px){.stats-grid{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}.details{grid-template-columns:1fr}.cabinet-header{flex-direction:column}.user-box{text-align:left}}
@media print {.primary-button,.secondary-button,.edit-form,.user-box,.back-text,.history-list{display:none!important}.cabinet-shell{width:100%;margin:0}.panel{break-inside:avoid}}

.admin-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 14px; padding:8px; border:1px solid var(--line); border-radius:16px; background:var(--surface-solid); }
.admin-tabs a { padding:10px 14px; border-radius:11px; color:var(--muted); font-size:13px; font-weight:800; }
.admin-tabs a.is-active { background:var(--navy); color:#fff; }
.admin-grid { display:grid; grid-template-columns:minmax(270px,.38fr) minmax(0,1fr); gap:14px; align-items:start; }
.stack-form { display:grid; gap:14px; }
.check-field { display:flex; gap:10px; align-items:center; font-size:13px; font-weight:700; }
.check-field input { width:18px; min-height:18px; }
.inline-actions { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.inline-actions form { margin:0; }
.mini-button { display:inline-flex; align-items:center; justify-content:center; min-height:32px; padding:6px 10px; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--navy); font:inherit; font-size:12px; font-weight:800; cursor:pointer; text-decoration:none; white-space:nowrap; }
.mini-button:hover { border-color:var(--accent); }
.mini-button--danger { color:#8c1d1d; }
.mini-button:disabled { opacity:.45; cursor:not-allowed; }
details { position:relative; }
details summary { list-style:none; }
details summary::-webkit-details-marker { display:none; }
.popover-form { position:absolute; z-index:10; right:0; top:38px; width:250px; display:grid; gap:8px; padding:12px; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:var(--shadow); }
.popover-form input { min-height:38px; }
textarea { width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:13px; background:#fffdf9; color:var(--navy); font:inherit; resize:vertical; }
textarea:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(183,95,60,.1); outline:none; }
@media(max-width:1000px){.admin-grid{grid-template-columns:1fr}.admin-tabs{overflow:auto;flex-wrap:nowrap}.admin-tabs a{white-space:nowrap}}
