:root{
  --bg:#08111f;--panel:#0f1b2e;--panel2:#13223a;--line:#243651;--text:#edf4ff;--muted:#8ea3c2;
  --accent:#62a8ff;--accent2:#7c5cff;--good:#3ddc97;--warn:#ffbd59;--bad:#ff667a;--shadow:0 20px 55px rgba(0,0,0,.28);
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at 70% -10%,#17325d 0,transparent 34%),var(--bg);color:var(--text)}
button,input,select,textarea{font:inherit}.hidden{display:none!important}.muted{color:var(--muted)}
a{color:inherit}
#app{min-height:100vh}.login-shell{min-height:100vh;display:grid;place-items:center;padding:28px}.login-card{width:min(980px,100%);display:grid;grid-template-columns:1.1fr .9fr;background:rgba(12,24,42,.94);border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}
.login-hero{padding:56px;background:linear-gradient(145deg,#13284c,#0e1d33 62%,#10243f);position:relative;overflow:hidden}.login-hero:after{content:"16";position:absolute;right:-15px;bottom:-55px;font-size:250px;font-weight:900;color:rgba(255,255,255,.035)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;color:#8fbfff;font-weight:800}.login-hero h1{font-size:52px;line-height:1.02;margin:16px 0}.login-hero p{color:#a9bad3;max-width:520px;line-height:1.65}.feature-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.chip{padding:9px 12px;border:1px solid #2f4668;border-radius:999px;color:#b8c8df;background:rgba(255,255,255,.025);font-size:13px}.login-form{padding:52px;display:flex;flex-direction:column;justify-content:center}.login-form h2{margin:0 0 8px;font-size:28px}.login-form p{margin:0 0 28px;color:var(--muted)}
.field{display:grid;gap:8px;margin-bottom:16px}.field label{font-size:13px;color:#b7c6da;font-weight:700}.input,.select,.textarea{width:100%;border:1px solid #2c405f;background:#0c1728;color:var(--text);border-radius:12px;padding:12px 13px;outline:none}.input:focus,.select:focus,.textarea:focus{border-color:#589ef7;box-shadow:0 0 0 3px rgba(88,158,247,.12)}.textarea{min-height:110px;resize:vertical}.btn{border:0;border-radius:12px;padding:11px 15px;font-weight:800;cursor:pointer;color:white;background:#253a58}.btn:hover{filter:brightness(1.08)}.btn.primary{background:linear-gradient(135deg,#4e9cff,#7c5cff)}.btn.good{background:#187b59}.btn.danger{background:#7f2d3b}.btn.ghost{background:transparent;border:1px solid var(--line);color:#c8d6ea}.btn.small{padding:8px 10px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed}
.layout{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:rgba(7,16,29,.92);backdrop-filter:blur(12px);border-right:1px solid var(--line);padding:22px 16px;overflow:auto}.brand{padding:8px 10px 22px;border-bottom:1px solid var(--line);margin-bottom:14px}.brand strong{display:block;font-size:21px}.brand span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#7da9e9}.nav-title{font-size:10px;color:#6f84a3;text-transform:uppercase;letter-spacing:.16em;font-weight:800;padding:14px 10px 7px}.nav-btn{display:flex;width:100%;align-items:center;gap:10px;border:0;background:transparent;color:#aabbd1;padding:10px 11px;border-radius:10px;cursor:pointer;text-align:left}.nav-btn:hover,.nav-btn.active{background:#14253e;color:white}.nav-dot{width:8px;height:8px;border-radius:50%;background:#45607f}.sidebar-footer{margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.user-pill{padding:10px;border-radius:12px;background:#101e32}.user-pill b{display:block;font-size:13px}.user-pill small{color:#7f96b7}.content{min-width:0}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;border-bottom:1px solid var(--line);background:rgba(8,17,31,.72);backdrop-filter:blur(10px);position:sticky;top:0;z-index:20}.topbar h1{font-size:22px;margin:0}.topbar-actions{display:flex;gap:10px;align-items:center}.page{padding:26px;max-width:1700px;margin:auto}.hero{border:1px solid var(--line);background:linear-gradient(145deg,#11243d,#0d192b);border-radius:20px;padding:26px;box-shadow:var(--shadow)}.hero h2{font-size:30px;margin:0 0 8px}.hero p{color:var(--muted);margin:0;line-height:1.65}.grid{display:grid;gap:18px}.grid.cards{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:18px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px}.stat .num{font-size:27px;font-weight:900;margin-top:4px}.stat .label{color:var(--muted);font-size:12px}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;margin-top:18px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card-head h3{margin:0;font-size:18px}.actions{display:flex;gap:8px;flex-wrap:wrap}.filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.filters .field{margin:0;min-width:140px}.org-banner{border-radius:16px;padding:18px 20px;margin-bottom:18px;border:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px;background:linear-gradient(135deg,var(--org-color,#5489e8)22,#0f1b2e 22%)}.org-banner h2{margin:0 0 4px;font-size:26px}.org-banner p{margin:0;color:#b4c5d9}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:800;background:#20324d;color:#c8d8eb}.badge.good{background:rgba(61,220,151,.15);color:#6ff1b7}.badge.warn{background:rgba(255,189,89,.15);color:#ffd07d}.badge.bad{background:rgba(255,102,122,.15);color:#ff8c9c}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px}.table{width:100%;border-collapse:separate;border-spacing:0;min-width:1000px}.table th{position:sticky;top:0;background:#15253b;color:#98abc6;font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:10px;border-bottom:1px solid var(--line);white-space:nowrap;z-index:2}.table td{padding:8px 10px;border-bottom:1px solid #1d304a;border-right:1px solid #1b2b42;vertical-align:top;font-size:13px}.table tr:last-child td{border-bottom:0}.table td:last-child,.table th:last-child{border-right:0}.table input,.table select,.table textarea{min-width:105px;border:1px solid #29405f;background:#0d192a;color:#e8f0fb;border-radius:8px;padding:7px 8px}.table textarea{min-width:220px;min-height:54px;resize:vertical}.table .wide{min-width:250px}.table .tiny{min-width:70px;width:80px}.table .date-cell{white-space:nowrap;font-weight:800;color:#bcd1eb}.table .week-cell{text-align:center}.check{width:19px;height:19px;accent-color:#5ca7ff}.sum-row td{background:#102038;font-weight:900}.org-total{font-size:12px;color:#91a7c4}.empty{padding:28px;text-align:center;color:var(--muted)}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.62);display:grid;place-items:center;padding:20px;z-index:100}.modal{width:min(760px,100%);max-height:90vh;overflow:auto;background:#0e1a2c;border:1px solid #2e4566;border-radius:18px;padding:22px;box-shadow:var(--shadow)}.modal h3{margin:0 0 18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.span-2{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}
.info-body{white-space:pre-wrap;line-height:1.7;color:#c5d3e5}.summary-table{min-width:1600px}.summary-table th.org-head{font-size:12px;color:white}.summary-month{font-weight:900;color:#9fe1b0;white-space:nowrap}.summary-leader{font-weight:700}.summary-points{font-size:17px;font-weight:900;color:#82b5ff}.summary-sub{display:block;color:#748ba9;font-size:10px;font-weight:500;margin-top:3px}.month-name{text-transform:uppercase}.inline-note{font-size:12px;color:#8297b5;margin-top:8px}.kpi-line{display:flex;gap:18px;flex-wrap:wrap}.kpi-line b{color:#fff}.kpi-line span{color:#8fa4c1;font-size:13px}
.toast{position:fixed;right:22px;bottom:22px;z-index:999;background:#15263d;border:1px solid #345277;color:#f2f7ff;padding:12px 15px;border-radius:12px;box-shadow:var(--shadow);animation:slidein .2s ease}.toast.error{border-color:#7c3240;background:#311820}.toast.success{border-color:#2f6f59;background:#102b24}@keyframes slidein{from{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}
@media(max-width:1100px){.grid.cards{grid-template-columns:repeat(2,1fr)}.layout{grid-template-columns:220px 1fr}.login-card{grid-template-columns:1fr}.login-hero{display:none}}@media(max-width:760px){.layout{display:block}.sidebar{position:static;height:auto}.content{min-width:0}.topbar{position:static;padding:0 15px}.page{padding:15px}.grid.cards{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.login-form{padding:30px 22px}.sidebar .nav-title,.sidebar .org-nav{display:none}}

/* v2: строгие типы полей ежедневной отчётности и итоги по сроку лидера */
.daily-table input[type="number"],.daily-table input[type="time"],.daily-table select{min-width:112px;width:100%;height:42px}
.daily-table textarea{min-width:220px}
.month-total-row td{background:#132843!important;border-top:2px solid #365779!important}
.month-total-row td:first-child{text-align:right;letter-spacing:.02em}
.month-total-points{font-size:18px!important;color:#8fc0ff!important;text-align:center}
.summary-tabs{display:flex;gap:8px;margin:4px 0 16px;padding:5px;border:1px solid var(--line);border-radius:12px;background:#0b1727;width:max-content;max-width:100%}
.summary-tab{border:0;border-radius:9px;background:transparent;color:#8fa6c3;padding:10px 14px;font-weight:800;cursor:pointer}
.summary-tab:hover{color:#e9f3ff;background:#15263c}.summary-tab.active{background:#24548c;color:#fff}
.leader-term-table{min-width:1120px}.leader-term-table td:last-child{background:#10233d}.org-color-line{display:inline-block;width:4px;height:20px;border-radius:3px;background:var(--org-color);vertical-align:middle;margin-right:9px}

/* v4 • удобные переключатели, журнал, аудит, архив */
.clean-number::-webkit-outer-spin-button,.clean-number::-webkit-inner-spin-button,.daily-table input[type="number"]::-webkit-outer-spin-button,.daily-table input[type="number"]::-webkit-inner-spin-button{appearance:none;-webkit-appearance:none;margin:0}
.clean-number,.daily-table input[type="number"]{-moz-appearance:textfield;appearance:textfield}
.sidebar-logout{width:100%;margin-top:9px}.loading{text-align:center;color:var(--muted)}
.compact-hero{display:flex;justify-content:space-between;align-items:center;min-height:100px}.compact-hero h2{margin-top:3px}.compact-hero p{margin-top:5px}
.card-head.wrap{flex-wrap:wrap}.toolbar-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.compact-select{width:auto;min-width:190px}.search-input{width:min(320px,100%)}
.period-switcher{position:relative;z-index:40;display:inline-flex;align-items:center;gap:3px;padding:4px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#0b1728,#091423);box-shadow:inset 0 1px rgba(255,255,255,.035),0 8px 24px rgba(0,0,0,.12)}
.period-switcher.menu-open{z-index:250}.card-head:has(.period-switcher.menu-open){position:relative;z-index:240}
.period-arrow{width:38px;height:38px;display:grid;place-items:center;border:1px solid transparent;border-radius:10px;background:#142945;color:#d4e7ff;font-size:23px;line-height:1;cursor:pointer;transition:.16s ease}.period-arrow:hover{background:#21436d;border-color:#315b8c;color:white;transform:translateY(-1px)}.period-arrow:active{transform:none}
.period-divider{width:1px;height:24px;background:#223853;margin:0 1px}.period-picker{position:relative}.period-value{height:38px;min-width:132px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:0;border-radius:9px;background:transparent;color:#f2f7ff;padding:0 11px;font-weight:900;cursor:pointer;outline:0;transition:.15s ease}.period-value.year-value{min-width:88px}.period-value:hover,.period-value[aria-expanded="true"]{background:#12253e;color:white}.period-value:focus-visible{box-shadow:0 0 0 3px rgba(88,158,247,.18)}.period-caret{color:#8eabd0;font-size:15px;transition:transform .16s ease}.period-value[aria-expanded="true"] .period-caret{transform:rotate(180deg);color:#cfe3ff}
.period-menu{position:absolute;z-index:300;top:calc(100% + 8px);left:0;display:none;padding:8px;border:1px solid #345173;border-radius:14px;background:#0d1b2f;box-shadow:0 24px 60px rgba(0,0,0,.58),0 0 0 1px rgba(255,255,255,.025) inset;scrollbar-width:thin;scrollbar-color:#40658f #0a1627}.period-menu.open{display:grid;gap:5px;animation:periodPop .13s ease-out}.period-menu[data-picker-menu="month"]{grid-template-columns:repeat(2,minmax(126px,1fr));width:286px;max-height:none;overflow:visible}.period-menu.year-menu{grid-template-columns:repeat(2,minmax(72px,1fr));width:176px;left:50%;transform:translateX(-50%);max-height:300px;overflow:auto}.period-menu.drop-up{top:auto;bottom:calc(100% + 8px)}.period-menu::-webkit-scrollbar{width:8px}.period-menu::-webkit-scrollbar-track{background:#0b1728;border-radius:8px}.period-menu::-webkit-scrollbar-thumb{background:#36577c;border-radius:8px;border:2px solid #0b1728}.period-option{width:100%;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid transparent;border-radius:10px;background:transparent;color:#b9cce4;padding:8px 11px;text-align:left;font-weight:800;cursor:pointer;transition:.12s ease}.period-menu[data-picker-menu="month"] .period-option{min-height:40px}.period-option:hover{background:#172c48;color:#fff;border-color:#29486d}.period-option.active{background:linear-gradient(135deg,#2f78df,#285bb7);color:#fff;border-color:#4d8ee7;box-shadow:0 6px 20px rgba(27,99,204,.28)}.period-check{font-size:12px;color:#d9ebff}.year-only .period-value.year-value{min-width:96px;text-align:center}.year-only .period-menu.year-menu{left:50%}
@keyframes periodPop{from{opacity:0;transform:translateY(-5px) scale(.985)}to{opacity:1;transform:none}}
.period-menu.year-menu.open{animation:periodPopYear .13s ease-out}@keyframes periodPopYear{from{opacity:0;transform:translateX(-50%) translateY(-5px) scale(.985)}to{opacity:1;transform:translateX(-50%)}}
.point-stepper{display:grid;grid-template-columns:30px minmax(54px,68px) 30px;align-items:center;border:1px solid #2c4465;border-radius:10px;overflow:hidden;background:#0b1728;min-width:128px}.point-stepper button{height:38px;border:0;background:#172a45;color:#aac8ee;font-size:18px;font-weight:900;cursor:pointer}.point-stepper button:hover{background:#25476f;color:#fff}.point-stepper input{min-width:0!important;width:100%;height:38px!important;padding:0 4px!important;text-align:center;border:0!important;border-radius:0!important;background:transparent!important;font-weight:900;color:#fff!important;outline:0}
.org-banner .banner-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.leader-link,.link-btn{padding:0;border:0;background:none;color:#8fc1ff;font-weight:800;cursor:pointer;text-align:left}.leader-link:hover,.link-btn:hover{text-decoration:underline;color:#b8d8ff}.leader-name{font-size:14px}
.score-strip{display:flex;align-items:center;gap:12px;margin:0 0 18px;background:linear-gradient(135deg,#0f1e33,#101b2d);border:1px solid var(--line);border-radius:16px;padding:14px 18px;overflow:auto}.score-strip>div{min-width:125px}.score-strip span{display:block;color:#8198b8;font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:800}.score-strip b{display:block;margin-top:4px;font-size:22px}.score-strip i{font-style:normal;color:#607a9c;font-size:20px;font-weight:900}.score-strip .score-total{padding:8px 14px;border-radius:12px;background:linear-gradient(135deg,rgba(78,156,255,.17),rgba(124,92,255,.17));border:1px solid #315785}.score-strip .score-total b{color:#a7ceff;font-size:25px}
.score-formula{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:14px;padding:13px 15px;border:1px solid #294564;border-radius:12px;background:#0c192a;color:#9db1ca}.score-formula b{color:#fff}.score-formula i{font-style:normal;font-weight:900;color:#5d789c}.score-formula strong{font-size:19px;color:#89bdff}.profile-formula{justify-content:center;margin-bottom:18px}
.extra-table{min-width:1300px}.points-big{font-size:17px;color:#9cc9ff}.evidence-link{color:#8fc1ff;font-weight:700;text-decoration:none}.evidence-link:hover{text-decoration:underline}
.leave-row td{background:rgba(255,189,89,.055)!important}.leave-banner{display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px dashed rgba(255,189,89,.38);border-radius:10px;background:rgba(255,189,89,.05)}.leave-banner>span{font-size:11px;font-weight:900;color:#ffd07d;letter-spacing:.08em}.leave-banner small{color:#9eacbd}.no-report-row td{background:rgba(255,102,122,.018)}
.review-box{display:flex;align-items:center;gap:6px;white-space:nowrap}.mini-link{padding:0;border:0;background:none;color:#7893b5;font-size:10px;cursor:pointer}.mini-link:hover{color:#cfe0f4;text-decoration:underline}
.small-table{min-width:780px}.empty.compact{padding:16px}
.notif-btn{position:relative;width:39px;height:39px;border:1px solid var(--line);border-radius:11px;background:#112039;color:#d8e8fb;cursor:pointer;font-size:16px}.notif-btn:hover{background:#1a3152}.notif-count{position:absolute;right:-5px;top:-5px;min-width:19px;height:19px;padding:0 5px;display:grid;place-items:center;border-radius:10px;background:#ff5d73;color:white;font-size:10px;font-weight:900;border:2px solid #08111f}.notice-list{display:grid;gap:9px}.notice{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:12px;background:#0b1728;color:#c7d4e5}.notice-dot{width:8px;height:8px;margin-top:5px;border-radius:50%;background:#6aa9ff;flex:none}.notice.warn .notice-dot{background:#ffbd59}.notice.bad .notice-dot{background:#ff667a}.notice.good .notice-dot{background:#3ddc97}
.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:18px}.modal-head h3{margin:4px 0 0}.icon-btn{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:#15253b;color:#b9cce4;font-size:20px;cursor:pointer}.icon-btn:hover{background:#203957;color:white}.danger-text{color:#ff8595}.wide-modal{width:min(980px,100%)}.tall{min-height:320px!important}.check-field label{display:flex;align-items:center;gap:8px;cursor:pointer}
.profile-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0}.profile-stats>div{padding:13px;border:1px solid var(--line);border-radius:12px;background:#0b1728}.profile-stats span{display:block;color:#8095b1;font-size:11px}.profile-stats b{display:block;margin-top:5px;font-size:20px}.profile-note{margin-top:14px;padding:13px;border-radius:11px;background:#0b1728;border:1px solid var(--line);color:#b9c8da}
.timeline{display:grid;gap:8px}.timeline-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 12px;border:1px solid #20334e;border-radius:12px;background:#0b1728}.timeline-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#152b47;color:#8fc2ff;font-weight:900}.timeline-text{color:#d6e1ef;line-height:1.45}.timeline-meta{margin-top:4px;color:#7189aa;font-size:11px}.timeline-meta b{color:#9eb5d0}.formula-badge{white-space:normal}

@media(max-width:900px){.profile-stats{grid-template-columns:repeat(2,1fr)}.score-strip{align-items:stretch}.period-switcher{max-width:100%}.period-value{min-width:108px}.period-value.year-value{min-width:78px}.period-menu[data-picker-menu="month"]{width:270px;grid-template-columns:repeat(2,minmax(118px,1fr))}.period-menu.year-menu{width:170px}.compact-select{min-width:150px}}
@media(max-width:600px){.profile-stats{grid-template-columns:1fr}.score-formula{justify-content:flex-start}.compact-hero{align-items:flex-start}.toolbar-row{width:100%}.search-input{width:100%}.period-switcher{width:100%;justify-content:space-between}.period-picker:first-of-type{flex:1}.period-value{min-width:0;width:100%}.period-menu[data-picker-menu="month"]{width:min(290px,88vw);grid-template-columns:repeat(2,minmax(112px,1fr))}.period-menu.year-menu{width:min(180px,65vw)}}
