:root{
  --bg:#080b10;--bg-2:#0b1016;--panel:#11161d;--panel-2:#151b23;--panel-3:#1a212b;
  --text:#f4f5f7;--muted:#8f99a8;--line:#27303b;--line-soft:rgba(255,255,255,.07);
  --gold:#d2ac65;--gold-2:#f0cf8b;--gold-dark:#8d6a32;--emerald:#3dba82;--emerald-dark:#123c2d;
  --danger:#ef6a67;--warning:#d89246;--blue:#6f8fff;--shadow:0 22px 65px rgba(0,0,0,.32);
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--text);background:radial-gradient(circle at 80% 0%,rgba(210,172,101,.05),transparent 28%),var(--bg)}
a{color:var(--gold-2);text-decoration:none}a:hover{color:#ffe3a9}button,input,select,textarea{font:inherit}.muted{color:var(--muted)}
.sidebar{position:fixed;inset:0 auto 0 0;width:264px;padding:25px 17px;background:linear-gradient(180deg,#0b0e13 0%,#0a0d12 62%,#080b0f 100%);border-right:1px solid var(--line-soft);display:flex;flex-direction:column;z-index:20;box-shadow:15px 0 40px rgba(0,0,0,.16)}
.brand{display:flex;align-items:center;gap:13px;color:var(--text);padding:0 8px 23px;border-bottom:1px solid var(--line-soft);margin-bottom:19px}.brand-logo-wrap{width:50px;height:50px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,rgba(210,172,101,.13),rgba(255,255,255,.02));border:1px solid rgba(210,172,101,.22)}.brand-logo{width:46px;height:46px;object-fit:contain}.brand strong{display:block;font-size:19px;letter-spacing:.02em}.brand small{display:block;color:var(--gold);margin-top:4px;font-size:12px}
.sidebar nav{display:grid;gap:4px}.nav-section{padding:18px 13px 7px;color:#5f6a79;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:800}.sidebar nav a{display:flex;align-items:center;gap:12px;color:#9fa8b5;padding:12px 13px;border:1px solid transparent;border-radius:10px;transition:.18s}.sidebar nav a span{width:20px;text-align:center;color:#778291}.sidebar nav a:hover{background:rgba(255,255,255,.035);color:#fff}.sidebar nav a.active{color:#fff;background:linear-gradient(90deg,rgba(210,172,101,.14),rgba(210,172,101,.035));border-color:rgba(210,172,101,.28);box-shadow:inset 3px 0 0 var(--gold)}.sidebar nav a.active span{color:var(--gold-2)}
.sidebar-foot{margin-top:auto;padding-top:16px;border-top:1px solid var(--line-soft)}.user-chip{display:flex;align-items:center;gap:11px;padding:10px}.user-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#211d19;border:1px solid rgba(210,172,101,.25);color:var(--gold-2);font-weight:800}.user-chip strong,.user-chip small{display:block}.user-chip strong{font-size:13px}.user-chip small{color:var(--muted);font-size:11px;margin-top:3px}.logout-form button{width:100%;text-align:left;color:#788391;border:0;background:transparent;padding:10px 13px;cursor:pointer}.logout-form button:hover{color:#fff}
.app{margin-left:264px;min-height:100vh}.topbar{height:76px;position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:rgba(8,11,16,.86);backdrop-filter:blur(18px);border-bottom:1px solid var(--line-soft)}.topbar-title strong{font-size:18px}.topbar-actions{display:flex;gap:10px}.content{max-width:1640px;margin:auto;padding:31px 32px 70px}
.page-title{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:23px}.page-title h1{font-size:29px;line-height:1.15;margin:5px 0 7px;letter-spacing:-.025em}.page-title p{margin:0;color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:10px;color:var(--gold);font-weight:800}.actions,.topbar-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.title-tags{display:flex;gap:7px;margin-bottom:8px}
.btn{border:1px solid transparent;border-radius:9px;padding:10px 16px;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;font-weight:700;transition:.18s;white-space:nowrap}.btn-primary{color:#17120a;background:linear-gradient(180deg,#eccb88,#c99c50);border-color:#f2d497;box-shadow:0 8px 25px rgba(210,172,101,.16)}.btn-primary:hover{color:#080604;transform:translateY(-1px);filter:brightness(1.06)}.btn-secondary{background:#1a212a;color:#e7e9ed;border-color:#303945}.btn-secondary:hover,.btn-light:hover,.btn-ghost:hover{background:#222a35;color:#fff;border-color:#46515e}.btn-light,.btn-ghost{background:#121820;color:#b4bdc9;border-color:#29323d}.btn-small{font-size:12px;padding:7px 10px}.btn-block{width:100%}
.panel{background:linear-gradient(145deg,rgba(22,28,36,.97),rgba(15,20,27,.98));border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);margin-bottom:22px;overflow:hidden}.panel-head{min-height:66px;padding:17px 20px;border-bottom:1px solid var(--line-soft);display:flex;align-items:center;justify-content:space-between;gap:14px}.panel h2,.panel-head h2{font-size:18px;margin:0}.panel-head .eyebrow{display:block;margin-bottom:5px}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:23px}.stat-card{position:relative;min-height:126px;padding:19px 19px 17px;background:linear-gradient(145deg,#161c24,#11161d);border:1px solid #29323d;border-radius:14px;box-shadow:0 15px 35px rgba(0,0,0,.2);overflow:hidden}.stat-card:before{content:"";position:absolute;inset:auto -20px -45px auto;width:110px;height:110px;border-radius:50%;background:rgba(255,255,255,.025)}.stat-card span,.stat-card small{display:block;color:var(--muted)}.stat-card span{font-size:12px;text-transform:uppercase;letter-spacing:.07em}.stat-card strong{display:block;font-size:25px;margin:14px 0 7px;letter-spacing:-.03em}.stat-card.success{border-color:rgba(61,186,130,.28)}.stat-card.success strong,.profit-cell{color:#74d7a8}.stat-card.warning{border-color:rgba(216,146,70,.28)}.stat-card.warning strong{color:#efb66d}.stat-card.danger{border-color:rgba(239,106,103,.28)}.stat-card.danger strong{color:#ff8a87}.stat-card.gold{border-color:rgba(210,172,101,.34);background:linear-gradient(145deg,rgba(43,35,24,.78),#12171e)}.stat-card.gold strong{color:var(--gold-2)}.archive-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:900px}th,td{text-align:left;padding:14px 15px;border-bottom:1px solid var(--line-soft);vertical-align:top}th{background:rgba(255,255,255,.018);color:#7e8998;font-size:10px;text-transform:uppercase;letter-spacing:.095em;white-space:nowrap}td{font-size:13px;color:#d9dde3}td small{color:var(--muted);line-height:1.45}tbody tr{transition:.15s}tbody tr:hover{background:rgba(255,255,255,.018)}tr:last-child td{border-bottom:0}.row-overdue{background:rgba(239,106,103,.055)}
.badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;background:#242c36;color:#bbc3cd;border:1px solid rgba(255,255,255,.06)}.badge-danger,.status-cancelled{background:rgba(239,106,103,.13);color:#ff8986;border-color:rgba(239,106,103,.2)}.badge-warning,.status-revision,.status-waiting{background:rgba(216,146,70,.15);color:#edb368;border-color:rgba(216,146,70,.23)}.badge-success,.status-closed,.status-ready,.status-sent{background:rgba(61,186,130,.13);color:#6bd5a2;border-color:rgba(61,186,130,.22)}.badge-gold{background:rgba(210,172,101,.14);color:var(--gold-2);border-color:rgba(210,172,101,.24)}.status-new,.status-estimate{background:rgba(111,143,255,.13);color:#91a7ff;border-color:rgba(111,143,255,.2)}.status-in_progress,.status-formatting,.status-review{background:rgba(88,153,220,.13);color:#7bb8f2;border-color:rgba(88,153,220,.2)}
.filters{display:flex;gap:12px;padding:16px;align-items:flex-end;flex-wrap:wrap}.filters label{display:grid;gap:7px;color:#8994a2;font-size:11px}.filter-grow{flex:1;min-width:290px}.filter-grow label{display:block;margin-bottom:7px}.filter-note{color:var(--muted);font-size:12px;max-width:420px;line-height:1.5}.form-control,.form-select{width:100%;min-height:42px;border:1px solid #303945;border-radius:9px;padding:10px 12px;background:#0e131a;color:#e7eaf0}.form-control::placeholder{color:#657080}.form-control:focus,.form-select:focus{outline:2px solid rgba(210,172,101,.15);border-color:#8b7044}.form-select option{background:#10151c;color:#fff}.check{display:flex!important;grid-auto-flow:column;align-items:center;gap:8px!important;min-height:42px}.check input{accent-color:var(--gold)}
.form-panel{padding:24px}.form-panel.narrow{max-width:950px}.form-panel h2{margin:5px 0 17px;font-size:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:28px}.field label{display:block;font-size:12px;font-weight:700;color:#aab2be;margin-bottom:7px}.field small{display:block;color:var(--muted);margin-top:5px}.field textarea{min-height:100px}.span-2{grid-column:1/-1}.form-divider{display:flex;align-items:center;gap:12px;color:#657080;font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin:8px 0}.form-divider:before,.form-divider:after{content:"";height:1px;background:var(--line);flex:1}.form-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line-soft);padding-top:18px}.errorlist{color:#ff8986;font-size:12px;margin:6px 0;padding-left:18px}
.student-search-line{display:flex;gap:9px}.student-search-status{color:var(--muted);font-size:12px;margin-top:7px}.student-search-results{margin-top:8px;border:1px solid #34404d;background:#0c1117;border-radius:10px;overflow:hidden;max-height:315px;overflow-y:auto}.student-result{width:100%;display:grid;gap:4px;text-align:left;border:0;border-bottom:1px solid var(--line-soft);background:transparent;color:#fff;padding:12px 14px;cursor:pointer}.student-result:hover{background:rgba(210,172,101,.08)}.student-result span{color:var(--muted);font-size:12px}.selected-student-card{margin-top:10px;padding:12px 14px;border-radius:10px;background:rgba(61,186,130,.08);border:1px solid rgba(61,186,130,.2)}.selected-student-card strong,.selected-student-card span{display:block}.selected-student-card span{color:#9db9aa;font-size:12px;margin-top:4px}
.alert{padding:12px 15px;border-radius:10px;margin-bottom:16px;background:rgba(111,143,255,.12);color:#a9b8ff;border:1px solid rgba(111,143,255,.2)}.alert-success{background:rgba(61,186,130,.12);color:#77d9ab;border-color:rgba(61,186,130,.2)}.alert-danger,.alert-error{background:rgba(239,106,103,.12);color:#ff908d;border-color:rgba(239,106,103,.2)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px}.two-col>.panel{margin-bottom:22px}.details{display:grid;grid-template-columns:175px 1fr;gap:13px 17px;padding:20px;margin:0}.details dt{color:#798493}.details dd{margin:0;color:#dde1e6;overflow-wrap:anywhere}.link-list{padding:12px}.link-list>a{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--line-soft);border-radius:10px;margin-bottom:8px;background:rgba(255,255,255,.015)}.link-list>a:hover{border-color:rgba(210,172,101,.3);background:rgba(210,172,101,.05)}.link-list>a>span{font-size:20px;color:var(--gold)}.link-list strong,.link-list small{display:block}.link-list small{color:var(--muted);margin-top:4px;max-width:550px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alias-list{padding:12px 20px}.alias-list>div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-soft)}.alias-list span{color:var(--muted)}
.list{padding:5px 20px}.list-row{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line-soft)}.list-row small{display:block;color:var(--muted);margin-top:4px}.empty{text-align:center;color:#66717f;padding:26px}.timeline{padding:10px 20px}.timeline>div{display:grid;grid-template-columns:150px 1fr;gap:15px;padding:12px 0;border-bottom:1px solid var(--line-soft)}.timeline time{color:#6f7a89}.text-danger{color:#ff7774!important}.section-title{margin:29px 0 14px;font-size:18px}
.preset-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.preset-tabs a{background:#11171e;border:1px solid #29323d;padding:9px 12px;border-radius:9px;color:#929ca9}.preset-tabs a:hover{color:#fff}.preset-tabs a.active{background:rgba(210,172,101,.14);color:var(--gold-2);border-color:rgba(210,172,101,.35)}.chart-panel{padding-bottom:20px}.chart-panel canvas{padding:12px 20px}.period-chip,.link-pill{display:inline-block;border-radius:7px;padding:5px 8px;background:rgba(210,172,101,.11);border:1px solid rgba(210,172,101,.19);color:var(--gold-2);font-size:11px;font-weight:800}.link-pill{margin:2px}.pagination{display:flex;justify-content:center;align-items:center;gap:18px;padding:17px;border-top:1px solid var(--line-soft);color:var(--muted)}
.login-page{position:relative;display:grid;place-items:center;min-height:100vh;overflow:hidden;background:radial-gradient(circle at 30% 20%,rgba(210,172,101,.08),transparent 28%),linear-gradient(135deg,#080b10,#0d1219);padding:22px}.login-glow{position:absolute;width:580px;height:580px;border-radius:50%;background:rgba(210,172,101,.05);filter:blur(80px);right:-170px;top:-170px}.login-card{position:relative;width:min(470px,100%);background:linear-gradient(145deg,rgba(24,30,38,.98),rgba(12,16,22,.98));border:1px solid #313946;border-radius:19px;padding:34px;box-shadow:0 35px 100px rgba(0,0,0,.55)}.login-brand{display:flex;align-items:center;gap:14px;padding-bottom:22px;border-bottom:1px solid var(--line-soft)}.login-brand img{width:64px;height:64px;object-fit:contain}.login-brand strong,.login-brand small{display:block}.login-brand strong{font-size:21px}.login-brand small{color:var(--gold);margin-top:4px}.login-copy{padding:25px 0 17px}.login-copy h1{font-size:30px;margin:7px 0}.login-copy p{color:var(--muted);line-height:1.55;margin:0}.stack{display:grid;gap:16px}.stack label{font-weight:700;font-size:12px;color:#aab2be}.stack input{display:block;width:100%;margin-top:7px;border:1px solid #303945;border-radius:9px;padding:12px;background:#0c1117;color:#fff}
@media(max-width:1180px){.stats-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}}
@media(max-width:780px){.sidebar{position:static;width:auto;box-shadow:none}.sidebar nav{grid-template-columns:repeat(2,1fr)}.nav-section{grid-column:1/-1}.sidebar-foot{display:none}.app{margin-left:0}.topbar{padding:0 15px}.content{padding:21px 14px 55px}.stats-grid,.archive-stats{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.page-title{flex-direction:column}.details{grid-template-columns:1fr}.details dt{font-weight:800}.topbar .btn{font-size:11px;padding:8px 10px}.alias-list>div{grid-template-columns:1fr}}


/* =========================================================
   Formula 5 CRM v0.4.1 — Soft Graphite
   Более светлая премиальная тема без декоративной типографики.
   ========================================================= */
:root{
  --bg:#151b23;
  --bg-2:#1a212b;
  --panel:#202833;
  --panel-2:#252f3b;
  --panel-3:#2b3644;
  --text:#eef2f6;
  --muted:#a7b1bd;
  --line:#3a4654;
  --line-soft:rgba(231,238,246,.10);
  --gold:#c7a66a;
  --gold-2:#dfc487;
  --gold-dark:#8f7347;
  --emerald:#4fc28a;
  --emerald-dark:#1c4b38;
  --danger:#ef7470;
  --warning:#dca15a;
  --blue:#7f9cf7;
  --shadow:0 14px 38px rgba(2,6,12,.24);
}

html,body{
  font-family:"Segoe UI Variable Text","Segoe UI",Roboto,Arial,sans-serif;
  font-size:15px;
  color:var(--text);
  background:
    radial-gradient(circle at 82% 0%,rgba(79,194,138,.07),transparent 31%),
    radial-gradient(circle at 12% 100%,rgba(199,166,106,.045),transparent 28%),
    linear-gradient(145deg,#141a22 0%,#18202a 58%,#161d26 100%);
}

a{color:#7ed8aa}a:hover{color:#a5e7c8}

.sidebar{
  background:linear-gradient(180deg,#191f28 0%,#161c24 58%,#141a21 100%);
  border-right:1px solid rgba(231,238,246,.11);
  box-shadow:10px 0 32px rgba(4,8,14,.18);
}
.brand{border-bottom-color:rgba(231,238,246,.10)}
.brand-logo-wrap{
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(79,194,138,.025));
  border-color:rgba(231,238,246,.13);
}
.brand strong{font-size:18px;font-weight:650;letter-spacing:0}
.brand small{color:#9faab7;font-size:12px}
.nav-section{
  color:#778493;
  text-transform:none;
  letter-spacing:.035em;
  font-size:11px;
  font-weight:650;
}
.sidebar nav a{
  color:#b1bac6;
  font-weight:500;
  border-radius:9px;
}
.sidebar nav a span{color:#8793a1}
.sidebar nav a:hover{background:rgba(255,255,255,.05);color:#fff}
.sidebar nav a.active{
  color:#f5f8fa;
  background:linear-gradient(90deg,rgba(79,194,138,.18),rgba(79,194,138,.055));
  border-color:rgba(79,194,138,.25);
  box-shadow:inset 3px 0 0 var(--emerald);
}
.sidebar nav a.active span{color:#78d8aa}
.sidebar-foot{border-top-color:rgba(231,238,246,.10)}
.user-avatar{
  background:#20362c;
  border-color:rgba(79,194,138,.28);
  color:#8de0b6;
}
.logout-form button{color:#9aa6b3}

.topbar{
  background:rgba(21,27,35,.92);
  border-bottom-color:rgba(231,238,246,.10);
  box-shadow:0 8px 26px rgba(4,8,14,.12);
}
.topbar-title strong{font-size:18px;font-weight:650}
.content{padding-top:30px}
.page-title h1{font-size:28px;font-weight:650;letter-spacing:-.012em}
.page-title p{color:#adb6c2}
.eyebrow{
  text-transform:none;
  letter-spacing:.025em;
  font-size:12px;
  color:#72d2a4;
  font-weight:600;
}

.btn{font-weight:600;border-radius:9px}
.btn-primary{
  color:#07140e;
  background:linear-gradient(180deg,#70d8a5,#47aa79);
  border-color:#7ce0ae;
  box-shadow:0 8px 24px rgba(79,194,138,.17);
}
.btn-primary:hover{color:#06110c;filter:brightness(1.055);box-shadow:0 10px 28px rgba(79,194,138,.22)}
.btn-secondary{
  background:#2a3440;
  color:#edf1f5;
  border-color:#465362;
}
.btn-light,.btn-ghost{
  background:#202832;
  color:#c7ced7;
  border-color:#394553;
}
.btn-secondary:hover,.btn-light:hover,.btn-ghost:hover{
  background:#313c49;
  border-color:#566474;
}

.panel{
  background:linear-gradient(145deg,#232c37 0%,#1d252f 100%);
  border-color:#3a4654;
  box-shadow:var(--shadow);
}
.panel-head{border-bottom-color:rgba(231,238,246,.10)}
.panel h2,.panel-head h2{font-weight:650}

.stat-card{
  min-height:124px;
  background:linear-gradient(145deg,#27313d 0%,#202833 100%);
  border-color:#3b4755;
  box-shadow:0 12px 30px rgba(4,8,14,.18);
}
.stat-card:before{background:rgba(255,255,255,.035)}
.stat-card span{
  color:#b0bac6;
  font-size:12px;
  text-transform:none;
  letter-spacing:0;
  font-weight:500;
}
.stat-card small{color:#9da8b5}
.stat-card strong{font-size:26px;font-weight:650}
.stat-card.success{border-color:rgba(79,194,138,.35)}
.stat-card.success strong,.profit-cell{color:#79d8aa}
.stat-card.warning{border-color:rgba(220,161,90,.34)}
.stat-card.warning strong{color:#edbb7e}
.stat-card.danger{border-color:rgba(239,116,112,.34)}
.stat-card.danger strong{color:#ff9793}
.stat-card.gold{
  border-color:rgba(199,166,106,.34);
  background:linear-gradient(145deg,#2c2b28,#212832);
}
.stat-card.gold strong{color:#dfc487}

th,td{border-bottom-color:rgba(231,238,246,.10)}
th{
  background:#27313c;
  color:#aeb8c4;
  font-size:11px;
  letter-spacing:.045em;
  font-weight:650;
}
td{font-size:13px;color:#e3e8ed}
td small{color:#a4afbc}
tbody tr:hover{background:rgba(255,255,255,.035)}
.row-overdue{background:rgba(239,116,112,.075)}

.badge{
  background:#303b47;
  color:#d0d7df;
  border-color:rgba(231,238,246,.10);
  font-weight:650;
}
.badge-danger,.status-cancelled{background:rgba(239,116,112,.16);color:#ff9b97;border-color:rgba(239,116,112,.28)}
.badge-warning,.status-revision,.status-waiting{background:rgba(220,161,90,.17);color:#f0bd7e;border-color:rgba(220,161,90,.28)}
.badge-success,.status-closed,.status-ready,.status-sent{background:rgba(79,194,138,.16);color:#7bddae;border-color:rgba(79,194,138,.28)}
.badge-gold{background:rgba(199,166,106,.16);color:#e2c98f;border-color:rgba(199,166,106,.27)}
.status-new,.status-estimate{background:rgba(127,156,247,.16);color:#a5b8ff;border-color:rgba(127,156,247,.27)}
.status-in_progress,.status-formatting,.status-review{background:rgba(102,170,226,.16);color:#9bcef4;border-color:rgba(102,170,226,.27)}

.filters{background:linear-gradient(145deg,#222b36,#1e2630)}
.filters label{color:#b1bac6;font-size:12px}
.filter-note{color:#a7b1bd}
.form-control,.form-select{
  border-color:#465362;
  background:#1a222c;
  color:#edf1f5;
}
.form-control::placeholder{color:#7f8b99}
.form-control:focus,.form-select:focus{
  outline:2px solid rgba(79,194,138,.16);
  border-color:#55b987;
  background:#1d2631;
}
.form-select option{background:#1d2530;color:#f0f3f6}
.check input{accent-color:var(--emerald)}
.field label{font-size:12px;font-weight:600;color:#c1c9d2}
.field small{color:#99a5b3}
.form-divider{color:#82909f;letter-spacing:.045em}
.student-search-results{border-color:#465362;background:#1a222c}
.student-result{color:#eef2f6}
.student-result:hover{background:rgba(79,194,138,.10)}
.selected-student-card{background:rgba(79,194,138,.11);border-color:rgba(79,194,138,.28)}
.selected-student-card span{color:#b5d9c6}

.details dt{color:#9da8b5}.details dd{color:#e8edf1}
.link-list>a{background:rgba(255,255,255,.025)}
.link-list>a:hover{border-color:rgba(79,194,138,.34);background:rgba(79,194,138,.07)}
.link-list>a>span{color:#70d4a1}
.empty{color:#8995a3}
.timeline time{color:#8f9ba8}

.preset-tabs a{
  background:#202832;
  border-color:#394553;
  color:#b3bdc8;
}
.preset-tabs a:hover{background:#2a3440;color:#fff}
.preset-tabs a.active{
  background:rgba(79,194,138,.16);
  color:#82ddb0;
  border-color:rgba(79,194,138,.34);
}
.period-chip,.link-pill{
  background:rgba(79,194,138,.12);
  border-color:rgba(79,194,138,.23);
  color:#86dcb2;
}

.login-page{
  background:
    radial-gradient(circle at 28% 20%,rgba(79,194,138,.10),transparent 30%),
    radial-gradient(circle at 85% 85%,rgba(199,166,106,.055),transparent 30%),
    linear-gradient(135deg,#151b23,#1b232d);
}
.login-glow{background:rgba(79,194,138,.07)}
.login-card{
  background:linear-gradient(145deg,#27313d,#1e2630);
  border-color:#465362;
  box-shadow:0 28px 80px rgba(4,8,14,.34);
}
.login-brand{border-bottom-color:rgba(231,238,246,.10)}
.login-brand strong{font-weight:650}
.login-brand small{color:#a6b2bf}
.login-copy h1{font-weight:650;letter-spacing:-.015em}
.login-copy p{color:#aeb8c4}
.stack label{font-weight:600;color:#c5cdd6}
.stack input{border-color:#465362;background:#1a222c;color:#fff}

@media(max-width:780px){
  .sidebar{background:#171d25}
}


/* v0.4.2 — редактирование заказов и живой поиск */
.order-main-actions,.row-actions,.quick-status-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.quick-status-form .form-select{min-width:175px;width:auto}
.quick-status-form.compact{flex-wrap:nowrap}
.quick-status-form.compact .form-select{min-width:150px;padding:7px 32px 7px 10px;font-size:12px}
.row-actions{min-width:275px}
.directory-search{position:relative;align-items:flex-end}
.directory-search-wrap{position:relative;min-width:min(520px,100%)}
.directory-search-status{font-size:12px;color:var(--muted);margin-top:7px}
.directory-search-results{position:absolute;z-index:40;top:calc(100% - 2px);left:0;right:0;background:#202a35;border:1px solid #526171;border-radius:10px;box-shadow:0 18px 45px rgba(4,9,15,.35);max-height:360px;overflow:auto;padding:6px}
.directory-result{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:8px;color:#edf2f6}
.directory-result:hover{background:rgba(79,194,138,.11);color:#fff}
.directory-result span{font-size:12px;color:#aab5c1;white-space:normal}
@media(max-width:900px){.quick-status-form.compact{flex-wrap:wrap}.row-actions{min-width:210px}}


/* v0.4.3 — активные статусы и редактирование прямо в карточке */
.inline-edit-panel{scroll-margin-top:92px;border-color:rgba(79,194,138,.30)}
.inline-edit-panel.is-hidden{display:none}
.inline-edit-panel .form-panel{margin:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.inline-edit-panel .panel-head{background:rgba(79,194,138,.045)}
.inline-order-form .form-grid{margin-bottom:18px}
.archive-status-note{border:1px solid rgba(199,166,106,.26);background:rgba(199,166,106,.10);color:#e1d2b4}
@media(max-width:780px){.order-main-actions{width:100%}.order-main-actions .quick-status-form{width:100%}.order-main-actions .quick-status-form .form-select{flex:1;min-width:0}.inline-edit-panel .form-panel{padding:18px 14px}}

/* v0.4.4 — подсказки, кликабельные карточки и финансовые действия */
.suggestion-host{position:relative}
.field-suggestion-box{position:absolute;left:0;right:0;top:calc(100% - 2px);z-index:80;max-height:260px;overflow:auto;background:#202936;border:1px solid rgba(231,238,246,.18);border-radius:10px;box-shadow:0 18px 42px rgba(0,0,0,.35);padding:6px}
.field-suggestion-item{display:block;width:100%;border:0;background:transparent;color:#eef3f8;text-align:left;padding:9px 11px;border-radius:7px;cursor:pointer}
.field-suggestion-item:hover{background:rgba(89,196,145,.14);color:#fff}
.stat-link{display:block;color:inherit;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.stat-link:hover{transform:translateY(-2px);border-color:rgba(130,221,176,.4);box-shadow:0 12px 28px rgba(0,0,0,.22);color:inherit}
.problem-client-badge{display:inline-flex;align-items:center;gap:5px;margin-left:6px}
.operation-actions{display:flex;gap:7px;justify-content:flex-end;white-space:nowrap}
.btn-danger-soft{background:rgba(239,92,92,.12);color:#ff9a9a;border:1px solid rgba(239,92,92,.28)}
.btn-danger-soft:hover{background:rgba(239,92,92,.22);color:#ffd0d0}
.amount-positive{color:#82ddb0;font-weight:700}.amount-negative{color:#f2a4a4;font-weight:700}
.finance-explain{margin:0;color:var(--muted)}
.warning-strip{padding:12px 15px;border-radius:10px;background:rgba(220,161,90,.12);border:1px solid rgba(220,161,90,.25);color:#f1c991;margin-bottom:18px}
.confirm-card{max-width:620px;padding:26px}.confirm-card h1{margin-top:0}.confirm-object{padding:14px;border-radius:10px;background:rgba(255,255,255,.04);margin:18px 0;font-weight:700}
.contact-telegram{color:#7dcfff}.contact-max{color:#91e6bd;font-size:10px;width:auto;min-width:38px;padding:0 7px}
.student-actions-cell{min-width:190px}
.student-row-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%}
.student-edit-actions,.student-contact-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
.student-edit-actions{justify-content:flex-start}
.student-edit-actions form{display:inline-flex;margin:0}
.student-contact-actions{justify-content:flex-end;margin-left:auto}
@media(max-width:900px){.student-actions-cell{min-width:170px}.student-row-actions{gap:12px}}
.problematic-result{border-color:rgba(239,92,92,.42)!important;background:rgba(239,92,92,.08)!important}
.problematic-selection{border-color:rgba(239,92,92,.5)!important;background:rgba(239,92,92,.10)!important}


/* v0.4.5 — светло-серый фон логотипа и понятный блок сроков */
.brand-logo-wrap{
  background:#e6e9ed !important;
  border-color:#f2f4f6 !important;
  box-shadow:0 7px 20px rgba(0,0,0,.18),inset 0 0 0 1px rgba(255,255,255,.55);
  overflow:hidden;
}
.brand-logo{
  width:46px;height:46px;object-fit:contain;border-radius:10px;
}
.login-brand img{
  background:#e6e9ed;
  border:1px solid #f2f4f6;
  border-radius:13px;
  padding:4px;
  box-shadow:0 8px 24px rgba(0,0,0,.22);
}
input[name="term_days"]{max-width:220px}

/* v0.4.5 — светлый фон логотипа, сроки и выбор исполнителя */
.brand-logo-wrap{
  width:60px !important;
  height:52px !important;
  display:grid !important;
  place-items:center;
  padding:3px !important;
  background:#dfe3e7 !important;
  border:1px solid #f4f6f8 !important;
  border-radius:13px !important;
  box-shadow:0 8px 22px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.65) !important;
  overflow:hidden;
}
.brand-logo-wrap .brand-logo{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  border-radius:9px;
  mix-blend-mode:multiply;
}
.login-brand img{
  background:#dfe3e7 !important;
  border:1px solid #f4f6f8 !important;
  mix-blend-mode:normal;
}
.contractor-section{
  padding:17px;
  border:1px solid rgba(126,216,170,.17);
  border-radius:13px;
  background:rgba(79,194,138,.035);
}
.contractor-picker .selected-student-card{margin-bottom:2px}
.inline-section-title{margin:6px 0 14px;font-size:17px;font-weight:650;color:#eef2f5}
input[name="term_days"]{max-width:220px}
.login-logo-wrap{
  width:70px;
  height:64px;
  display:grid;
  place-items:center;
  padding:4px;
  flex:0 0 auto;
  background:#dfe3e7;
  border:1px solid #f4f6f8;
  border-radius:14px;
  box-shadow:0 8px 24px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.65);
  overflow:hidden;
}
.login-logo-wrap img{
  width:100% !important;
  height:100% !important;
  object-fit:contain;
  padding:0 !important;
  border:0 !important;
  border-radius:9px;
  background:transparent !important;
  box-shadow:none !important;
  mix-blend-mode:multiply;
}


/* v0.4.6 — подтверждение импортированных данных */
.title-tags{align-items:center;flex-wrap:wrap}
.inline-review-form{display:inline-flex;margin:0}
.inline-review-form .btn{padding:5px 9px;font-size:11px;min-height:27px}

/* v0.4.7 — sorting and list actions */
.sortable-table th a{color:var(--muted);text-decoration:none;display:inline-flex;gap:5px;align-items:center}
.sortable-table th a:hover{color:var(--text)}
.sortable-table th a::after{content:'↕';font-size:10px;opacity:.45}
.action-icons{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
.action-icons form{margin:0;display:inline-flex}
.icon-btn{width:32px;height:32px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--text);font-weight:700;line-height:1;cursor:pointer;text-decoration:none}
.icon-btn:hover{background:rgba(255,255,255,.08);color:#fff}
.icon-edit{border-color:rgba(99,209,154,.45);color:#7ef0b5}
.icon-edit:hover{background:rgba(99,209,154,.13);box-shadow:0 0 0 2px rgba(99,209,154,.10)}
.icon-delete{border-color:rgba(255,113,113,.45);color:#ff8f8f}
.icon-delete:hover{background:rgba(255,113,113,.13);box-shadow:0 0 0 2px rgba(255,113,113,.10)}
.quick-status-form.compact{gap:8px;align-items:center;min-width:260px}
.quick-status-form.compact .form-select{min-width:150px}
@media(max-width:900px){.action-icons{flex-wrap:wrap}.quick-status-form.compact{min-width:0;width:100%}}


/* v0.4.8 — фильтры как в таблицах: ввод + выбор из списка */
.filters-google{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  align-items:end;
  gap:14px;
}
.filters-google .filter-grow{
  grid-column:span 2;
  min-width:min(100%,380px);
}
.filters-google label{
  display:grid;
  gap:7px;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}
.filters-google input[list]::-webkit-calendar-picker-indicator{
  opacity:.7;
  cursor:pointer;
  filter:invert(1);
}
.filters-google .check{
  display:flex;
  flex-direction:row;
  gap:9px;
  align-items:center;
  min-height:42px;
}
.filters-google .btn{
  min-height:42px;
}
@media(max-width:900px){
  .filters-google .filter-grow{grid-column:1/-1}
}


/* v0.5.0 — рабочий стол и карточка заказа */
.workspace-hero,.order-workspace-header{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;margin-bottom:22px;background:linear-gradient(135deg,rgba(210,172,101,.10),rgba(61,186,130,.06)),var(--panel);border:1px solid var(--line-soft);border-radius:20px;padding:24px;box-shadow:var(--shadow)}
.workspace-hero h1,.order-workspace-header h1{font-size:34px;margin:4px 0 8px}.workspace-hero p,.order-workspace-header p{margin:0;color:var(--muted)}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.workspace-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;margin-bottom:22px}.today-money,.attention-cards,.finance-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:18px}.today-money>div,.finance-tiles>div{background:var(--panel-2);border:1px solid var(--line-soft);border-radius:14px;padding:15px}.today-money span,.finance-tiles span,.contact-grid span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.today-money strong,.finance-tiles strong{font-size:22px}
.attention-cards{grid-template-columns:repeat(3,1fr)}.attention-card{display:block;background:var(--panel-2);border:1px solid var(--line-soft);border-radius:14px;padding:16px;color:var(--text)}.attention-card strong{display:block;font-size:30px;margin-bottom:4px}.attention-card span{color:var(--muted)}.attention-card.danger{border-color:rgba(239,106,103,.35)}.attention-card.warning{border-color:rgba(216,146,70,.35)}.attention-card.success{border-color:rgba(61,186,130,.35)}
.dashboard-columns{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:22px}.focus-list{padding:10px 18px 18px}.focus-row{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--line-soft);color:var(--text)}.focus-row:last-child{border-bottom:0}.focus-row small{display:block;color:var(--muted);margin-top:4px}.focus-row>span{white-space:nowrap;color:var(--gold-2);font-weight:700}.compact-timeline{padding:12px 18px}.compact-timeline div{grid-template-columns:90px 1fr}
.order-workspace-grid{display:grid;grid-template-columns:1.05fr 1.1fr .85fr;gap:22px;margin-bottom:22px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px}.contact-grid>div{background:var(--panel-2);border:1px solid var(--line-soft);border-radius:14px;padding:14px}.contact-grid strong{word-break:break-word}.contact-actions{display:flex;flex-wrap:wrap;gap:9px;padding:0 18px 18px}.compact-details{padding:18px}.compact-details dt{font-size:12px}.compact-details dd{font-weight:600}.finance-card .panel-head{border-bottom:0}.finance-tiles{grid-template-columns:1fr}
.materials-panel .panel-head p{margin:4px 0 0;color:var(--muted)}.materials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;padding:18px}.material-card{display:grid;grid-template-columns:54px 1fr;gap:14px;align-items:start;background:var(--panel-2);border:1px solid var(--line-soft);border-radius:16px;padding:14px}.material-icon{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:rgba(210,172,101,.12);border:1px solid rgba(210,172,101,.22);font-weight:800;color:var(--gold-2)}.material-body strong{display:block}.material-body small{display:block;color:var(--muted);margin-top:5px;word-break:break-all}.material-body p{color:var(--muted);margin:8px 0 0}.material-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.material-actions form{display:inline-flex;margin:0}.order-comment{padding:18px;color:var(--text);line-height:1.55}.no-gap{gap:0}
@media(max-width:1200px){.workspace-grid,.dashboard-columns,.order-workspace-grid{grid-template-columns:1fr}.today-money{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.workspace-hero,.order-workspace-header{flex-direction:column}.today-money,.attention-cards,.finance-tiles,.contact-grid{grid-template-columns:1fr}}


/* v0.5.1 — ценники по группе */
.price-workspace{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(360px,.8fr);gap:22px;align-items:start}
.price-table .price-input{max-width:130px}
.price-table td:first-child,.price-table th:first-child{text-align:center;width:54px}
.price-message{font-family:"Segoe UI",Arial,sans-serif;line-height:1.5;min-height:420px;resize:vertical}
.price-message-panel{position:sticky;top:18px}
.price-actions{display:flex;gap:10px;flex-wrap:wrap;padding:0 18px 18px}
.price-hero{background:linear-gradient(135deg,rgba(61,186,130,.11),rgba(210,172,101,.08)),var(--panel)}
@media(max-width:1200px){.price-workspace{grid-template-columns:1fr}.price-message-panel{position:static}}
