@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-700-normal-D_uavGvn.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-700-normal-RFb1v-CK.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}:root{--epm-brand:#17324b;--epm-brand-accent:#007e83;--epm-background:#f4f7f8;--epm-surface:#fff;--epm-text:#132a3a;--epm-panel:#0e202f;--epm-border:#bbcad0;--epm-success:#14613f;--epm-warning:#795300;--epm-error:#9b2430;--epm-info:#124e80}[data-theme=dark]{--epm-brand:#fff;--epm-brand-accent:#8ed4d7;--epm-background:#0e202f;--epm-surface:#17324b;--epm-text:#fff;--epm-panel:#fff;--epm-border:#476777;--epm-success:#b6e5cb;--epm-warning:#ffe1a3;--epm-error:#ffd1d5;--epm-info:#c6e2fa}:root{--accent:var(--epm-brand);--teal:var(--epm-brand-accent);--paper:var(--epm-background);--panel:var(--epm-panel);--panel-dark:var(--epm-panel);--text:var(--epm-text);--muted:#47616e;--epm-line:#e4ebee;--epm-hover:#eaf1f3;--epm-warning-bg:#fbf1d6;--epm-error-bg:#fbe6e8;--epm-info-bg:#e3eef8;--epm-success-bg:#e1f2e9;--radius:4px}[data-theme=dark]{--accent:#2d6e9e;--epm-panel:#091722;--muted:#a9bcc6;--epm-line:#2a4558;--epm-hover:#1d3a50;--epm-warning-bg:#3d3210;--epm-error-bg:#4a1d25;--epm-info-bg:#1d4466;--epm-success-bg:#1a4a35}input,select,textarea{color:var(--text)}.theme-toggle{color:var(--text);border:1px solid var(--epm-border);background:0 0;padding:3px 9px}.theme-toggle:hover:not(:disabled){background:var(--epm-hover)}[data-theme=dark] .brand-light,:root:not([data-theme=dark]) .brand-dark{display:none}[data-theme=dark] table.requests td b.num{color:var(--text)}*{box-sizing:border-box}body{background:var(--paper);color:var(--text);margin:0;font-family:IBM Plex Sans,Arial,Liberation Sans,DejaVu Sans,sans-serif;font-size:15px;line-height:1.5}h1{letter-spacing:-.005em;margin:0 0 8px;font-weight:700}.mono{font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,Consolas,Liberation Mono,monospace}.top{background:var(--epm-surface);color:var(--text);border-bottom:1px solid var(--epm-border);align-items:center;gap:16px;padding:12px 24px;display:flex}.brand{display:block}.offline{background:var(--epm-error);color:#fff;border-radius:var(--radius);padding:2px 10px;font-size:14px}.card{background:var(--epm-surface);border-left:4px solid var(--teal);max-width:900px;margin:32px auto;padding:24px}.status{grid-template-columns:160px 1fr;gap:6px 12px;margin:16px 0 0;display:grid}.status dt{color:var(--muted)}.status dd{margin:0}.layout{grid-template-rows:auto 1fr;grid-template-columns:220px 1fr;min-height:100vh;display:grid}.layout .top{grid-column:1/3}.side{background:var(--panel);flex-direction:column;padding:8px 0;display:flex}.side button{color:#c9d6dc;text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-left:3px solid #0000;padding:9px 20px}.side button:hover{background:var(--accent);color:#fff}.side button.active{background:var(--accent);border-left-color:var(--teal);color:#fff;font-weight:600}.content{padding:24px;overflow-x:auto}.spacer{flex:1}.toolbar{align-items:center;gap:16px;margin-bottom:12px;display:flex}.muted{color:var(--muted)}.error{color:var(--epm-error)}.form{background:var(--epm-surface);border-left:4px solid var(--accent);flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;padding:12px;display:flex}.form label{flex-direction:column;gap:4px;font-size:13px;display:flex}input,select{font:inherit;border-radius:var(--radius);border:1px solid var(--epm-border);background:var(--epm-surface);min-width:160px;padding:6px 8px}button{font:inherit;background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;border:0;padding:7px 16px;font-weight:500}button:hover:not(:disabled){filter:brightness(.88)}:focus-visible{outline:2px solid var(--teal);outline-offset:2px}button:disabled{opacity:.4;cursor:default}button.link{color:var(--accent);background:0 0;padding:0}button.link.light,a.link.light{color:var(--epm-brand);text-decoration:underline}a.link{color:var(--epm-info)}table{border-collapse:collapse;background:var(--epm-surface);width:100%}th,td{text-align:left;border-bottom:1px solid var(--epm-line);padding:7px 10px;font-size:14px}th{background:var(--epm-line);font-weight:600}.login{flex-direction:column;gap:12px;max-width:360px;display:flex}.login label{flex-direction:column;gap:4px;display:flex}.side hr{border:0;border-top:1px solid #28465a;width:calc(100% - 24px);margin:6px 12px}.kpi{grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px;display:grid}.kpi-card{background:var(--epm-surface);border-radius:var(--radius);color:var(--text);border:1px solid var(--epm-border);text-align:left;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.kpi-card small{color:var(--muted);font-size:12px;display:block}.kpi-card .big{font-variant-numeric:tabular-nums;font-size:26px;font-weight:600}.kpi-card.bad .big{color:var(--epm-error)}label.inline{flex-direction:row;align-items:center;gap:6px;font-size:14px}table.requests tbody tr{cursor:pointer}table.requests tbody tr:hover{background:var(--epm-hover)}table.requests tr.urgent td:first-child{box-shadow:inset 4px 0 0 var(--epm-error)}.num{font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,Consolas,Liberation Mono,monospace}.sub{color:var(--muted);font-size:12px;font-weight:400;display:block}td.desc{max-width:260px}td.bad,.bad{color:var(--epm-error);font-weight:600}td.r,th.r{text-align:right}.tag{border:1px solid var(--epm-border);background:var(--epm-surface);border-radius:10px;padding:1px 9px;font-size:12px;display:inline-block}.tag.paid{background:var(--accent);color:#fff}.tag.planned{background:var(--epm-success-bg);border-color:#9cc9b8}.tag.inspection{background:var(--epm-line);border-color:var(--epm-border)}.status{background:var(--epm-info-bg);color:var(--epm-info);border-radius:var(--radius);white-space:nowrap;padding:1px 8px;font-size:13px;font-weight:500}.status:before{content:"◉ "}.status.waiting,.status.waiting_auth{background:var(--epm-warning-bg);color:var(--epm-warning)}.status.waiting:before,.status.waiting_auth:before{content:"Ⅱ "}.status.done{background:var(--epm-success-bg);color:var(--epm-success)}.status.done:before{content:"✓ "}.status.closed{background:var(--epm-line);color:var(--muted)}.status.closed:before{content:""}a.btn,button.ghost{background:var(--epm-surface);color:var(--epm-brand);border:1px solid var(--epm-brand);border-radius:var(--radius);font:inherit;cursor:pointer;padding:6px 14px;text-decoration:none}.panel{background:var(--epm-surface);border:1px solid var(--epm-border);margin:12px 0;padding:14px 16px}.panel>b{margin-bottom:8px;display:block}.grid2{grid-template-columns:1fr 1fr;gap:10px 24px;display:grid}.grid2 small{color:var(--muted);font-size:12px;display:block}.actions{flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0;display:flex}.form.compact{box-shadow:none;border:0;margin:4px 0 0;padding:8px 0}.est{margin:6px 0}.ok{color:var(--epm-success)}.codebox{background:var(--epm-warning-bg);padding:4px 10px;font-family:IBM Plex Mono,Consolas,monospace}.sigpad canvas{background:var(--epm-surface);touch-action:none;border:1px dashed #888;width:100%;max-width:600px;margin:8px 0;display:block}textarea{font:inherit;border:1px solid var(--epm-border);padding:6px 8px}table.requests td{white-space:nowrap}table.requests td.desc{white-space:normal;min-width:200px;max-width:280px}.tabs{border-bottom:2px solid var(--epm-border);gap:4px;margin-bottom:14px;display:flex}.tabs button{color:var(--text);background:0 0;border:0;padding:8px 16px}.tabs button.active{background:var(--accent);color:#fff}details.panel summary{cursor:pointer}h3{margin:18px 0 8px;font-weight:600}.split{grid-template-columns:minmax(360px,1fr) 1.4fr;align-items:start;gap:20px;display:grid}tr.added td{background:var(--epm-success-bg)}.notes{background:var(--epm-surface);border:1px solid var(--epm-border);z-index:20;width:360px;max-height:70vh;padding:12px;position:fixed;top:52px;right:16px;overflow:auto;box-shadow:0 4px 16px #00000026}a.btn.off{opacity:.4;pointer-events:none}.m-chip{background:var(--epm-surface);color:var(--text);border:1px solid var(--epm-border);margin:2px;padding:4px 10px}.m-chip.on{background:var(--accent);color:#fff}.m-shell{background:var(--paper);max-width:640px;min-height:100vh;margin:0 auto}.m-top{background:var(--epm-panel);color:#fff;z-index:5;align-items:center;gap:8px;padding:12px 14px;display:flex;position:sticky;top:0}.m-top b{font-size:20px}.m-badge{color:#fff;border:0;border-radius:12px;padding:4px 12px;font-size:14px}.m-badge.off{background:var(--epm-error)}.m-badge.wait{background:var(--epm-warning)}.m-pad{padding:14px}.m-card{background:var(--epm-surface);flex-direction:column;gap:12px;margin:14px;padding:16px;display:flex}.m-shell input,.m-shell select,.m-shell textarea{width:100%;min-width:0;padding:12px;font-size:17px}.m-btn{background:var(--accent);color:#fff;border:0;width:100%;padding:14px 16px;font-size:17px}.m-btn.dark{background:var(--epm-panel)}.m-btn:disabled{opacity:.4}.m-grid{gap:10px;margin:10px 0;display:grid}.m-row{align-items:center;gap:8px;margin:6px 0;display:flex}.m-item{text-align:left;background:var(--epm-surface);width:100%;color:var(--text);border:1px solid var(--epm-border);border-left:4px solid var(--epm-border);margin:8px 0;padding:12px;font-size:16px;display:block}.m-item.urgent{border-left-color:var(--epm-error)}.m-check{background:var(--epm-surface);border:1px solid var(--epm-border);margin:8px 0;padding:10px}.m-check.done{background:var(--epm-success-bg)}.m-check label{font-size:17px;display:block}.m-check input[type=checkbox]{vertical-align:middle;width:24px;height:24px}.m-form,.m-field{margin:8px 0}.m-field label{font-size:16px;display:block}.subbanner{border:1px solid var(--epm-border);margin-bottom:16px;padding:10px 14px}.shell{width:100%;max-width:900px;margin:0 auto;padding-bottom:32px}.shell>:not(.top){margin-left:16px;margin-right:16px}input[type=checkbox]{width:auto;min-width:0}.login label.consent{flex-direction:row;align-items:flex-start;gap:8px}table.requests tr.overdue .status,.status.overdue{background:var(--epm-error-bg);color:var(--epm-error)}.status.overdue:before{content:"! ";font-weight:700}.sigpad canvas{background:#fff}table.sched{font-size:12px}table.sched th,table.sched td{text-align:center;min-width:26px;padding:4px 5px}table.sched td:first-child,table.sched th:first-child{text-align:left;background:var(--epm-surface);min-width:170px;position:sticky;left:0}table.sched .wk{background:var(--epm-line)}table.sched td.cell{cursor:pointer;font-weight:600}table.sched td.cell.work{color:var(--epm-info)}table.sched td.cell.vacation{color:var(--epm-success)}table.sched td.cell.sick{color:var(--epm-error)}table.sched td.cell.trip{color:var(--epm-warning)}table.sched td.cell.sel{outline:2px solid var(--teal);outline-offset:-2px}a.btn,button.ghost{white-space:nowrap}span.status{margin:0;display:inline-block}.overlay{z-index:50;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog{background:var(--epm-surface);color:inherit;border-left:4px solid var(--accent);width:100%;max-width:420px;padding:20px 24px}.dialog h2{margin-top:0}.stack{flex-direction:column;gap:12px;display:flex}.stack label{flex-direction:column;gap:4px;font-size:13px;display:flex}
