:root{
  --ui-accent:#d8a8b8;
  --ui-accent-2:#b9a7d8;
  --ui-accent-3:#9fb9ad;
  --ui-accent-soft:#f7edf1;
  --ui-bg:#f4eff1;
  --ui-work:#fbf8f9;
  --ui-panel:#ffffff;
  --ui-panel-soft:#fbfbfc;
  --ui-text:#1f2328;
  --ui-muted:#66717f;
  --ui-border:#cfd6df;
  --ui-border-soft:#e6e9ee;
  --ui-blue:#1f6fb2;
  --ui-green:#16874e;
  --ui-red:#b3352d;
  --ui-shadow:0 1px 2px rgba(28,35,45,.08);
  --border:var(--ui-border);
  --sub:var(--ui-muted);
  --accent:var(--ui-accent);
  --green:var(--ui-green);
}
*{box-sizing:border-box}
html,body{
  margin:0;color:var(--ui-text);font:13px "Segoe UI Variable","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  background:
    linear-gradient(rgba(255,255,255,.34),rgba(255,255,255,.34)),
    url("/static/images/cosmetic-ornament-bg.png") center center/cover no-repeat,
    linear-gradient(135deg,#f7edf1 0%,#eff3f5 48%,#f3f6f1 100%);
  background-attachment:fixed;
}
body{padding-bottom:25px}
body.is-loading{cursor:progress}
a{color:#0b5fa5;text-decoration:none}
a:hover{text-decoration:underline}
.topbar{
  position:sticky;top:0;z-index:31;
  display:flex;height:48px;align-items:center;justify-content:space-between;
  padding:0 14px;border-bottom:1px solid rgba(193,173,183,.75);
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(247,237,241,.86));
  backdrop-filter:blur(8px);
}
.brand{display:flex;align-items:center;gap:10px;color:#222;text-decoration:none}
.brand:hover{text-decoration:none}
.brand>span{
  display:grid;width:36px;height:30px;place-items:center;
  border:1px solid #c99bac;border-radius:4px;background:linear-gradient(#faeef2,#dfb3c1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
  color:#4d3440;font-weight:800;font-size:14px;
}
.brand strong,.brand small{display:block}
.brand strong{font-size:15px;line-height:1.05}
.brand small{margin-top:2px;color:#665963;font-size:10px;font-weight:400}
.identity{color:#3a3d42;font-size:12px;white-space:nowrap}
.nav{
  position:sticky;top:48px;z-index:30;
  display:flex;height:40px;align-items:center;gap:2px;padding:0 10px;
  border-bottom:1px solid rgba(193,173,183,.72);background:rgba(250,247,248,.9);
  box-shadow:inset 0 -1px 0 #fff,0 4px 12px rgba(30,37,47,.08);
  overflow-x:auto;overflow-y:hidden;
  scrollbar-width:thin;
}
.nav a,.nav span,.nav button{
  display:flex;height:30px;align-items:center;gap:6px;padding:0 10px;
  border:1px solid transparent;border-radius:4px;background:transparent;
  color:#222;text-decoration:none;font:inherit;white-space:nowrap;
}
.nav .nav-ico{
  display:inline-block;width:15px;height:15px;flex:0 0 15px;padding:0;border:0;border-radius:0;
  background:currentColor;opacity:.78;
  mask:var(--ico) center/15px 15px no-repeat;
  -webkit-mask:var(--ico) center/15px 15px no-repeat;
}
.ico-grid{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h7v7H4zm9 0h7v7h-7zM4 13h7v7H4zm9 0h7v7h-7z'/%3E%3C/svg%3E")}
.ico-dashboard{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 13a8 8 0 0 1 16 0v6H4zm8-7a7 7 0 0 0-7 7v1h14v-1a7 7 0 0 0-7-7zm1 7 4-4-2-1-3 5z'/%3E%3C/svg%3E")}
.ico-pulse{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 13h4l2-6 4 12 3-8h5v2h-3.6L13 23 9 11l-.6 2H3z'/%3E%3C/svg%3E")}
.ico-chart{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 19h17v2H2V3h2zm3-2V9h3v8zm5 0V5h3v12zm5 0v-6h3v6z'/%3E%3C/svg%3E")}
.ico-users,.ico-headcount{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 12a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0 2c-4 0-7 2-7 5v1h14v-1c0-3-3-5-7-5zm8-2a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm0 2c-.7 0-1.4.1-2 .3 1.8 1.1 3 2.7 3 4.7v1h4v-1c0-3-2.2-5-5-5z'/%3E%3C/svg%3E")}
.ico-movement{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 7h10l-3-3 1.4-1.4L21.8 9l-6.4 6.4L14 14l3-3H7zm10 10H7l3 3-1.4 1.4L2.2 15l6.4-6.4L10 10l-3 3h10z'/%3E%3C/svg%3E")}
.ico-turnover{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4a8 8 0 0 1 7.7 6H22l-3.5 4L15 10h2.6A6 6 0 1 0 12 18v2a8 8 0 1 1 0-16z'/%3E%3C/svg%3E")}
.ico-availability{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 3 6v6c0 5 3.8 9.7 9 10 5.2-.3 9-5 9-10V6zm0 4 5 2v4c0 3.4-2.1 6.5-5 7-2.9-.5-5-3.6-5-7V8z'/%3E%3C/svg%3E")}
.ico-clock{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20zm1 5h-2v6l5 3 1-1.7-4-2.3z'/%3E%3C/svg%3E")}
.ico-payroll{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 6h18v12H3zm2 2v8h14V8zm2 2h5v2H7zm0 3h8v2H7zm10-3h1v2h-1zm0 3h1v2h-1z'/%3E%3C/svg%3E")}
.ico-quality{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E")}
.ico-settings{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19.4 13.5q.1-.7 0-1.5l2-1.5-2-3.5-2.4 1a8 8 0 0 0-1.3-.8L15.4 5h-4l-.4 2.2q-.7.3-1.3.8L7.3 7l-2 3.5 2 1.5a8 8 0 0 0 0 1.5l-2 1.5 2 3.5 2.4-1q.6.5 1.3.8l.4 2.2h4l.4-2.2q.7-.3 1.3-.8l2.4 1 2-3.5zM13.4 9a3 3 0 1 1 0 6 3 3 0 0 1 0-6z'/%3E%3C/svg%3E")}
.ico-briefcase{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 4h6l1 3h5v13H3V7h5zm1.5 3h3l-.4-1h-2.2zM5 9v3h14V9zm0 5v4h14v-4z'/%3E%3C/svg%3E")}
.ico-merge{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3h7l4 4-4 4H7V8h6l1-1-1-1H7zm10 10h-6l-1 1 1 1h6v-3l4 4-4 4v-3h-7l-4-4 4-4h7zM3 6h3v3H3zm0 9h3v3H3z'/%3E%3C/svg%3E")}
.ico-logout{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 3h9v2H6v14h7v2H4zm12.6 5.6L20 12l-3.4 3.4-1.4-1.4 1-1H10v-2h6.2l-1-1z'/%3E%3C/svg%3E")}
.nav a:hover,.nav button:hover{
  border-color:#c99bac;background:linear-gradient(#fff6f8,#efd5dd);
  text-decoration:none;
}
.nav .spacer{flex:1}
.nav form{height:30px}
.nav button{cursor:pointer}
.workspace{
  width:min(100%,1920px);min-height:calc(100vh - 111px);margin:0 auto;padding:14px 16px 18px;
  background:rgba(252,249,250,.72);
  backdrop-filter:blur(2px) saturate(1.04);
}
.workspace:has(.login){
  width:100%;min-height:100vh;padding:0;background:transparent;backdrop-filter:none;
}
.workspace:has(.contour-screen){
  width:100%;min-height:calc(100vh - 73px);padding:0;background:transparent;backdrop-filter:none;
}
.heading{
  display:flex;align-items:flex-end;justify-content:space-between;
  margin:0 0 10px;padding:8px 0 9px;border-bottom:1px solid var(--ui-border);
}
.heading h1{margin:2px 0 0;font-size:22px;font-weight:500;letter-spacing:0}
.heading p,.panel-head p{margin:0;color:var(--ui-muted)}
.eyebrow{color:#8d6070;font-size:10px;font-weight:700;letter-spacing:0;text-transform:uppercase}
.filters{
  display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px;margin-bottom:10px;padding:9px 10px;
  border:1px solid var(--ui-border);border-radius:4px;background:#fff;
  box-shadow:var(--ui-shadow);
}
.filters label{display:grid;flex:1 1 220px;gap:4px;color:#48515c;font-size:11px;font-weight:600}
.multi-select{position:relative;display:grid;flex:1 1 220px;gap:4px;color:#48515c;font-size:11px;font-weight:600}
.multi-label{display:block}
.multi-toggle{
  width:100%;height:30px;padding:0 28px 0 8px;border:1px solid #b9c2cd;border-radius:3px;
  background:#fff;color:#1f2328;text-align:left;font:inherit;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;
}
.multi-toggle::after{content:"";position:absolute;right:9px;bottom:10px;border:5px solid transparent;border-top-color:#1f2328}
.multi-menu{
  position:absolute;top:100%;left:0;z-index:35;display:none;width:min(420px,90vw);max-height:320px;overflow:auto;
  margin-top:3px;padding:5px;border:1px solid #9aa6b5;border-radius:4px;background:#fff;box-shadow:0 12px 28px rgba(30,37,47,.22);
}
.multi-select.open .multi-menu{display:grid}
.multi-option{
  display:flex!important;min-height:26px;align-items:center;grid-template-columns:none!important;gap:7px!important;flex:0 0 auto!important;
  padding:4px 6px;border-radius:3px;color:#1f2328;font-size:12px;font-weight:400;cursor:pointer;
}
.multi-option:hover{background:#f7edf1}
.multi-option input{width:14px!important;height:14px!important;flex:0 0 14px}
.multi-option small{margin-left:auto;color:#66717f}
.multi-all{border-bottom:1px solid #e6e9ee;font-weight:600}
.filters select,.filters input,.login-card input{
  height:30px;padding:0 8px;border:1px solid #b9c2cd;border-radius:3px;
  background:#fff;color:#1f2328;font:inherit;
}
.filters select,.filters input{width:100%}
.filters select:focus,.filters input:focus,.login-card input:focus{
  outline:2px solid rgba(216,168,184,.45);border-color:#b78496;
}
.primary,.filters button,.report-open-button,.model-form button,.stack-form button{
  display:inline-flex;min-height:30px;align-items:center;justify-content:center;
  padding:0 13px;border:1px solid #b78496;border-radius:3px;
  background:linear-gradient(#fff6f8,#e8becb);color:#4d3440;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
  text-decoration:none;font-weight:600;cursor:pointer;
}
.primary:hover,.filters button:hover,.report-open-button:hover,.model-form button:hover,.stack-form button:hover{
  background:linear-gradient(#fffafd,#efd5dd);text-decoration:none;
}
.filters>a{min-height:30px;padding:7px 10px}
.metrics{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:10px;
}
.metrics article{
  min-height:86px;padding:12px 14px;border:1px solid var(--ui-border);
  border-radius:4px;background:linear-gradient(#fff,#fbfbfc);
  box-shadow:var(--ui-shadow);
}
.metrics article::before{
  content:"";display:block;height:3px;margin:-12px -14px 10px;
  border-radius:4px 4px 0 0;background:linear-gradient(90deg,var(--ui-accent),var(--ui-accent-2),var(--ui-accent-3));
}
.metrics small,.metrics strong,.metrics span{display:block}
.metrics small,.metrics span{color:var(--ui-muted)}
.metrics strong{margin:5px 0;font-size:21px;font-weight:500}
.admin-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 10px}
.admin-grid{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(420px,1.25fr);gap:10px;margin-bottom:10px}
.admin-actions{display:flex;align-items:center;gap:10px;margin-top:4px}
code{font:12px Consolas,"Courier New",monospace;color:#39424e}
.panel{
  overflow:hidden;border:1px solid var(--ui-border);border-radius:4px;
  background:var(--ui-panel);box-shadow:var(--ui-shadow);
}
.panel+.panel{margin-top:10px}
.panel-head{
  padding:10px 12px;border-bottom:1px solid var(--ui-border);
  background:linear-gradient(#fafbfc,#eef1f5);
}
.panel-head h2{margin:0 0 2px;font-size:14px;font-weight:600}
.table-wrap{overflow:auto;border:1px solid #c8d0da;background:#fff}
.panel>.table-wrap{border-right:0;border-bottom:0;border-left:0}
table{width:100%;border-collapse:separate;border-spacing:0;background:#fff}
th,td{padding:0 8px;border-right:1px solid #dfe4ea;border-bottom:1px solid #dfe4ea;text-align:left}
th{
  height:28px;background:linear-gradient(#f7f8fb,#e1e6ed);color:#303843;
  box-shadow:inset 0 1px 0 #fff;font-size:11px;font-weight:600;text-transform:none;
}
td{height:27px;background:#fff}
th:last-child,td:last-child{border-right:0}
tbody tr:nth-child(even) td{background:#fbfcfd}
tbody tr:hover td{background:#f7edf1}
tbody tr:focus-within td{background:#efdfe6}
td a{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}
.empty{padding:28px;text-align:center;color:var(--ui-muted)}
.muted{color:var(--ui-muted);font-size:12px}
.notice{margin:0 0 12px;padding:8px 10px;border:1px solid #d9b2c0;border-radius:4px;background:#fbf0f4;color:#6b4855}
.field{display:grid;gap:4px;margin:0 0 9px;color:#48515c;font-weight:600}
.field input,.field select,.field textarea{
  width:100%;padding:7px 8px;border:1px solid #b9c2cd;border-radius:3px;background:#fff;color:#1f2328;font:inherit;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid rgba(216,168,184,.45);border-color:#b78496}
.tag,.muted-tag,.sensitive{
  display:inline-flex;min-height:20px;align-items:center;padding:2px 7px;
  border:1px solid #b9d8c5;border-radius:3px;background:#edf8f1;
  color:#216d43;font-size:11px;
}
.muted-tag{border-color:#d5d9de;background:#f0f2f4;color:#65707d}
.login{
  position:relative;isolation:isolate;
  display:grid;min-height:100vh;grid-template-columns:minmax(0,1fr) 390px;
  align-items:center;gap:64px;max-width:1240px;margin:auto;padding:56px;
}
.login::before{
  content:"HR";position:absolute;z-index:-1;left:12px;top:50%;transform:translateY(-52%);
  color:rgba(141,96,112,.08);
  font-family:Georgia,"Times New Roman",serif;font-size:240px;font-weight:400;line-height:.82;letter-spacing:0;
}
.login::after{
  content:"люди · ритм · решения";position:absolute;z-index:-1;right:44px;bottom:44px;
  padding:8px 12px;border:1px solid rgba(183,132,150,.28);border-radius:999px;
  background:rgba(255,255,255,.34);color:rgba(77,52,64,.56);
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0;
  backdrop-filter:blur(8px);
}
.login-copy{
  position:relative;max-width:790px;padding:42px 0 42px 42px;
  color:#2a242b;
}
.login-copy::before{
  content:"";position:absolute;left:0;top:22px;width:1px;height:calc(100% - 42px);
  background:linear-gradient(180deg,rgba(216,168,184,0),rgba(184,128,150,.86),rgba(159,185,173,.58),rgba(216,168,184,0));
}
.login-copy::after{
  content:"";position:absolute;left:22px;top:32px;width:126px;height:126px;border:1px solid rgba(183,132,150,.24);
  border-radius:50%;background:
    radial-gradient(circle at 50% 50%,rgba(255,255,255,.54) 0 34%,rgba(255,255,255,0) 35%),
    conic-gradient(from 20deg,rgba(216,168,184,.28),rgba(159,185,173,.2),rgba(185,167,216,.18),rgba(216,168,184,.28));
  opacity:.8;
}
.login-copy .eyebrow{
  position:relative;z-index:1;display:inline-flex;align-items:center;gap:10px;margin-bottom:22px;
  padding:7px 11px;border:1px solid rgba(183,132,150,.3);border-radius:999px;
  background:rgba(255,255,255,.5);color:#81566a;font-size:10px;font-weight:800;text-transform:uppercase;
  backdrop-filter:blur(8px);
}
.login-copy .eyebrow::before{
  content:"";width:8px;height:8px;border-radius:50%;background:#b78496;
}
.login-copy h1{
  position:relative;z-index:1;max-width:760px;margin:0 0 22px;color:#2e2530;
  font-family:"Cormorant Garamond","Playfair Display",Georgia,"Times New Roman",serif;
  font-size:64px;font-weight:400;line-height:.98;letter-spacing:0;
  text-shadow:0 1px 0 rgba(255,255,255,.72);
}
.login-copy p{
  position:relative;z-index:1;max-width:590px;margin:0 0 0 88px;padding:0 0 0 18px;
  border-left:1px solid rgba(183,132,150,.34);color:#46515c;
  font-family:"Segoe UI Variable","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:15px;line-height:1.82;
}
.login-card{
  position:relative;display:grid;gap:15px;padding:34px 32px 32px;border:1px solid rgba(205,184,193,.62);
  border-radius:18px 18px 18px 4px;background:
    linear-gradient(180deg,rgba(255,255,255,.88),rgba(252,247,249,.82)),
    linear-gradient(135deg,rgba(216,168,184,.12),rgba(159,185,173,.1));
  box-shadow:0 32px 70px rgba(42,35,43,.18),inset 0 1px 0 rgba(255,255,255,.92);
  backdrop-filter:blur(12px) saturate(1.06);
}
.login-card::before{
  content:"";position:absolute;left:18px;right:18px;top:14px;height:1px;
  background:linear-gradient(90deg,rgba(183,132,150,0),rgba(183,132,150,.48),rgba(159,185,173,.34),rgba(183,132,150,0));
}
.login-card::after{
  content:"secure";position:absolute;right:22px;top:-12px;padding:5px 9px;border:1px solid rgba(183,132,150,.28);border-radius:999px;
  background:rgba(255,255,255,.68);color:#8d6070;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:0;
  backdrop-filter:blur(8px);
}
.login-card-kicker{color:#8d6070;font-size:10px;font-weight:800;text-transform:uppercase}
.login-card h2{
  margin:-4px 0 8px;color:#312832;
  font-family:"Segoe UI Variable","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:25px;font-weight:650;
}
.login-card label{display:grid;gap:7px;color:#48515c;font-size:12px;font-weight:700}
.login-card input{
  height:45px;border-color:rgba(169,151,164,.72);border-radius:10px;background:rgba(255,255,255,.76);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);font-size:15px;
}
.login-card .primary{
  min-height:46px;margin-top:6px;border-radius:999px;
  background:linear-gradient(135deg,#8d6070,#b78496 54%,#9fb9ad);color:#fff;
  box-shadow:0 12px 26px rgba(141,96,112,.24),inset 0 1px 0 rgba(255,255,255,.32);
  font-size:15px;
}
.login-card .primary:hover{background:linear-gradient(135deg,#7b5262,#ad7f91 54%,#8dae9f)}
.error{color:var(--ui-red)}
.contour-screen{
  position:relative;display:grid;min-height:calc(100vh - 122px);align-content:center;gap:32px;
  max-width:1360px;margin:0 auto;padding:28px;
}
.contour-logout{display:flex;justify-content:center;margin:-6px 0 0}
.contour-logout button{
  min-width:220px;min-height:54px;padding:0 34px;border:1px solid rgba(201,155,172,.64);border-radius:999px;
  background:linear-gradient(135deg,rgba(255,248,251,.94),rgba(239,247,243,.9));color:#4d3440;
  box-shadow:0 12px 26px rgba(42,35,43,.1),inset 0 1px 0 rgba(255,255,255,.72);
  font:inherit;font-size:16px;font-weight:750;cursor:pointer;
}
.contour-logout button:hover{background:linear-gradient(135deg,#fff,#f4dfe7)}
.contour-head{text-align:center}
.contour-head h1{margin:8px 0 7px;font-size:34px;font-weight:500}
.contour-head p{margin:0;color:var(--ui-muted);font-size:15px}
.contour-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.contour-card{
  display:grid;min-height:430px;align-content:space-between;gap:26px;padding:42px;
  border:1px solid #b8c0cb;border-radius:6px;background:linear-gradient(#fff,#f6f8fa);
  box-shadow:0 10px 28px rgba(30,37,47,.12);color:#1f2328;text-decoration:none;
}
.contour-card:hover{border-color:#b78496;background:linear-gradient(#fffafd,#f6e7ec);box-shadow:0 16px 38px rgba(30,37,47,.18);text-decoration:none}
.contour-card>span{
  display:grid;width:82px;height:60px;place-items:center;border:1px solid #ad8c0b;border-radius:4px;
  background:linear-gradient(#fff6f8,#ddb1bf);font-size:24px;font-weight:800;color:#4d3440;
}
.contour-card strong{font-size:42px;font-weight:500}
.contour-card small{max-width:620px;color:#5d6672;font-size:18px;line-height:1.55}
.contour-card em{
  justify-self:start;padding:12px 22px;border:1px solid #b78496;border-radius:3px;
  background:linear-gradient(#fff6f8,#e8becb);color:#4d3440;font-size:17px;font-style:normal;font-weight:600;
}
.contour-disabled{opacity:.62}
.contour-disabled:hover{border-color:#c5cbd3;background:linear-gradient(#fff,#f6f8fa)}
.contour-disabled em{border-color:#c7ccd3;background:#eef1f4;color:#68717d}
footer{
  position:fixed;right:0;bottom:0;left:0;display:flex;height:25px;
  align-items:center;justify-content:space-between;padding:0 12px;
  border-top:1px solid #b9c0ca;background:#f7f8fa;color:#596371;font-size:11px;
}
footer span{color:var(--ui-green)}
.app-loading{
  position:fixed;inset:0;z-index:80;display:grid;place-items:center;
  background:rgba(47,39,48,.2);backdrop-filter:blur(3px) saturate(.96);
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease;
}
body.is-loading .app-loading{opacity:1;visibility:visible;pointer-events:auto}
.app-loading-card{
  display:grid;justify-items:center;gap:7px;min-width:230px;padding:22px 26px;border:1px solid rgba(201,155,172,.55);
  border-radius:12px;background:linear-gradient(135deg,rgba(255,248,251,.96),rgba(239,247,243,.94));
  box-shadow:0 22px 48px rgba(42,35,43,.22),inset 0 1px 0 rgba(255,255,255,.8);
  color:#332a31;
}
.app-loading-card strong{font-size:15px;font-weight:750}
.app-loading-card small{color:#6b5661;font-size:11px}
.app-loading-mark{
  position:relative;width:42px;height:42px;border-radius:50%;
  background:conic-gradient(from 0deg,#d8a8b8,#b9a7d8,#9fb9ad,#d8a8b8);
  animation:app-loading-spin .8s linear infinite;
}
.app-loading-mark::after{
  content:"";position:absolute;inset:6px;border-radius:50%;
  background:linear-gradient(135deg,#fff8fb,#eef8f3);
}
@keyframes app-loading-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){
  .app-loading,.app-loading-mark{transition:none;animation:none}
}
.modal-backdrop{
  position:fixed;inset:0;z-index:40;display:none;align-items:flex-start;justify-content:center;
  padding:34px 18px;background:rgba(31,35,40,.28);
}
.modal-backdrop.open{display:flex}
.modal-window{
  width:min(1120px,100%);max-height:calc(100vh - 68px);overflow:hidden;
  border:1px solid #8f99a6;border-radius:4px;background:var(--ui-work);
  box-shadow:0 16px 42px rgba(20,28,38,.28);
}
.modal-window.modal-form-window{width:min(760px,100%)}
.modal-titlebar{
  display:flex;height:34px;align-items:center;justify-content:space-between;
  padding:0 8px 0 12px;border-bottom:1px solid #b9c0ca;
  background:linear-gradient(#fff6f8,#e8becb);color:#4d3440;font-weight:600;
}
.modal-close{
  display:grid;width:24px;height:24px;place-items:center;border:1px solid transparent;border-radius:3px;
  background:transparent;color:#4d3440;cursor:pointer;font:18px/1 Arial,sans-serif;
}
.modal-close:hover{border-color:#b78496;background:#fff6f8}
.modal-body{max-height:calc(100vh - 102px);overflow:auto;padding:12px}
.modal-body.modal-form-view{padding:14px;background:#f3f5f7}
.modal-body .workspace{min-height:auto;padding:0;background:transparent}
.modal-body footer,.modal-body .topbar,.modal-body .nav{display:none}
.modal-body .heading{margin-top:0}
.modal-body .detail-grid,.modal-body .identity-grid{grid-template-columns:1fr 1fr}
.modal-body .form-panel{max-width:none;margin:0;border-color:#c8d0da;background:#fff}
.modal-body .panel>form{padding:14px}
.modal-body .model-form{gap:10px}
.modal-body .model-form p{grid-template-columns:180px minmax(0,1fr);align-items:start;gap:8px 12px}
.modal-body .model-form p label{padding-top:7px;color:#48515c}
.modal-body .model-form .errorlist{grid-column:2;margin:0;padding-left:18px;color:var(--ui-red);font-weight:400}
.modal-body .model-form button{justify-self:end;min-width:150px}
.modal-body .notice{margin:0 0 10px}
.modal-loading,.modal-error{padding:28px;text-align:center;color:var(--ui-muted)}
@media(max-width:1199px) and (min-width:761px){.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px) and (min-width:761px){
  .login{grid-template-columns:minmax(0,1fr) 380px;gap:38px;padding:38px}
  .login::before{font-size:170px}
  .login-copy{padding-left:30px}
  .login-copy h1{font-size:48px}
  .login-copy p{font-size:15px;line-height:1.7}
  .login-copy p{margin-left:42px}
}
@media(max-width:1000px){.identity{max-width:42vw;overflow:hidden;text-overflow:ellipsis}}
@media(max-width:760px){
  .topbar{height:auto;min-height:48px;gap:10px;align-items:flex-start;flex-direction:column;padding:8px 10px}
  .nav{top:0}
  .identity{max-width:100%;white-space:normal}
  .nav{gap:0;padding:0 4px;overflow:hidden}
  .nav a,.nav button{
    flex:1 1 0;min-width:0;justify-content:center;gap:0;padding:0;font-size:0;
  }
  .nav form{display:flex;flex:1 1 0;min-width:0}
  .nav form button{width:100%}
  .nav .nav-ico{width:17px;height:17px;flex-basis:17px;mask-size:17px 17px;-webkit-mask-size:17px 17px}
  .nav a.is-active{
    border-color:rgba(183,132,150,.72);background:linear-gradient(#fff6f8,#efd5dd);
    color:#4d3440;box-shadow:inset 0 1px 0 rgba(255,255,255,.74);
  }
  .nav .spacer{display:none}
  .workspace{padding:10px}
  footer{position:static;height:24px}
  .heading{align-items:flex-start;gap:10px;flex-direction:column}.filters{align-items:stretch;flex-direction:column}
  .filters label{flex:0 1 auto}
  .multi-select{flex:0 1 auto}.multi-menu{position:static;width:100%;max-height:240px;box-shadow:none}
  .filters select,.filters input{width:100%}.login{grid-template-columns:1fr;padding:20px}.login-copy{display:none}
  .admin-grid,.contour-grid{grid-template-columns:1fr}
  .contour-screen{gap:18px;padding:14px}.contour-logout{margin:-2px 0 0}.contour-logout button{min-width:190px;min-height:48px}.contour-head h1{font-size:25px}
  .contour-card{min-height:300px;padding:26px}.contour-card strong{font-size:32px}
  .contour-card small{font-size:16px}.contour-card>span{width:66px;height:48px;font-size:20px}
  .modal-backdrop{padding:12px}.modal-window{max-height:calc(100vh - 24px)}.modal-body{max-height:calc(100vh - 58px)}
  .modal-body .model-form p{grid-template-columns:1fr}
  .modal-body .model-form .errorlist{grid-column:1}
  .modal-body .model-form button{justify-self:stretch}
  .modal-body .detail-grid,.modal-body .identity-grid{grid-template-columns:1fr}
}
@media(max-width:560px){.metrics{grid-template-columns:1fr}.heading h1{font-size:19px}}
