*{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#f7f9fa;color:#17212b}.app{display:flex;min-height:100vh}aside{width:225px;background:#1f2933;color:#fff;padding:22px 14px;position:fixed;inset:0 auto 0 0}.brand{font-size:22px;font-weight:700;display:flex;gap:12px;align-items:flex-start;padding:4px 10px 24px}.brand small{font-size:13px;font-weight:400;color:#c7d0d8}nav{display:flex;flex-direction:column;gap:8px;height:calc(100vh - 95px)}nav a{color:#f4f6f7;text-decoration:none;padding:13px 14px;border-radius:7px}nav a.active{background:#16834f}.spacer{flex:1;border-bottom:1px solid #394550;margin-bottom:10px}main{margin-left:225px;width:calc(100% - 225px)}header{height:86px;background:#fff;border-bottom:1px solid #e2e7eb;display:flex;align-items:center;justify-content:space-between;padding:0 28px}h1{font-size:31px;margin:0}section{padding:24px 28px}.filters form{display:flex;gap:12px;margin-bottom:18px}.filters input{min-width:380px}.filters input,.filters select,input,select{padding:11px 12px;border:1px solid #ccd5dc;border-radius:6px;background:#fff;font-size:14px}.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:18px}.toolbar .muted{margin-left:auto}.button,button{border:1px solid #cbd4db;border-radius:6px;padding:10px 14px;background:#fff;color:#17212b;text-decoration:none;cursor:pointer;font-size:14px}.primary{background:#16834f;color:#fff;border-color:#16834f}.linkbtn{border:0;background:transparent}.tablewrap{background:#fff;border:1px solid #dbe2e7;border-radius:8px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:1050px}th,td{padding:14px 13px;border-right:1px solid #edf0f2;border-bottom:1px solid #e5e9ec;text-align:left;white-space:nowrap}th{background:#f6f8f9;font-size:13px;font-weight:600;color:#44515d}tfoot td{font-weight:700;background:#fafbfb}.green{color:#0c8a4b}.muted{color:#6d7984}.card{background:#fff;border:1px solid #dbe2e7;border-radius:8px;padding:22px;margin-bottom:16px;max-width:760px}.flash{background:#e7f6ed;border:1px solid #a7d8b9;padding:12px 14px;border-radius:7px;margin-bottom:16px}dialog{border:0;border-radius:10px;padding:0;box-shadow:0 20px 60px #0004;width:520px}dialog::backdrop{background:#17212b77}dialog form{padding:22px}label{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-size:13px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.loginbody{min-height:100vh;display:grid;place-items:center;background:#eef2f4}.loginbox{width:360px;background:#fff;border:1px solid #dbe2e7;border-radius:12px;padding:28px;box-shadow:0 15px 45px #20304018}.loginbox button{width:100%}.error{background:#fdeaea;color:#9a2424;padding:10px;border-radius:6px;margin:12px 0}@media(max-width:900px){aside{width:175px}main{margin-left:175px;width:calc(100% - 175px)}.filters form{flex-wrap:wrap}.filters input{min-width:250px}}

/* v1.4: стабильные модальные окна без скачков страницы */
body{overflow-y:scroll}.inline-form{display:inline}.actions-cell{display:flex;align-items:center;gap:8px}dialog{max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow:auto}dialog[open]{animation:dialog-in .12s ease-out}@keyframes dialog-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}

/* v1.7: заявки и сотрудники Telegram */
.wide-card{max-width:1000px}.staff-form{display:grid;grid-template-columns:1.2fr 1.5fr 1.2fr auto;gap:12px;align-items:end}.staff-form label{margin:0}.staff-form button{height:40px}.compact-table{margin-top:18px}.compact-table table{min-width:650px}.compact-table td,.compact-table th{padding:10px 12px}.compact-table form{margin:0}@media(max-width:1050px){.staff-form{grid-template-columns:1fr 1fr}.staff-form button{align-self:end}}

/* v1.9: задачи */
.task-summary{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin-bottom:18px}.summary-card{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #dbe2e7;border-radius:8px;padding:16px 18px;text-decoration:none;color:#17212b}.summary-card strong{font-size:24px;color:#16834f}.summary-card.done strong{color:#66737d}.summary-card:hover,.summary-card.selected{border-color:#9bc7ad}.task-filters{display:flex;gap:10px;margin-left:auto}.tasks-table table{min-width:1000px}.task-title-cell{white-space:normal;min-width:280px}.task-desc{margin-top:5px;white-space:normal;line-height:1.35}.task-done{opacity:.62}.task-done .task-title-cell strong{text-decoration:line-through}.task-overdue{background:#fffafa}.overdue-text{color:#b42318;font-weight:600}.priority{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;background:#eef2f4}.priority-высокий{background:#fde8e7;color:#a52a24}.priority-низкий{background:#edf6f0;color:#37734d}textarea{padding:11px 12px;border:1px solid #ccd5dc;border-radius:6px;background:#fff;font:inherit;resize:vertical}@media(max-width:1000px){.task-summary{grid-template-columns:1fr 1fr}.task-filters{width:100%;margin-left:0;flex-wrap:wrap}.toolbar{flex-wrap:wrap}}
