:root{--bg: #F3F2EF;--ink: #111111;--ink-2: #33322F;--muted: #5F5E5A;--line: #CFCCC6;--line-2: #E3E1DC;--white: #FFFFFF;--own: #D97745;--own-bg: #FFF4E8;--ok: #14532D;--ok-bg: #E3F1E8;--err: #9B1C1C;--warn-bg: #FFF8E1;--warn: #5C4300}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--ink)}:focus-visible{outline:2px solid var(--own);outline-offset:2px}p{margin:0}.h1{margin:0;font-size:32px;font-weight:800;letter-spacing:-.02em;line-height:1.1}.h2{margin:0 0 6px;font-size:24px;font-weight:800;letter-spacing:-.01em}.h3{margin:0;font-size:18px;font-weight:800}.h4{margin:0;font-size:15px;font-weight:800}.muted{color:var(--muted)}.small{font-size:13px}.mono{font-family:ui-monospace,Menlo,monospace;display:inline-block;min-width:96px}.err{color:var(--err)}.ok{color:var(--ok)}.warn{background:var(--warn-bg);color:var(--warn);padding:10px 12px;font-size:13px;margin-top:8px}.hint{font-size:12px;color:var(--muted);font-weight:400}.hint.err{color:var(--err)}.hint.ok{color:var(--ok)}.stack{display:flex;flex-direction:column;gap:14px}.stack-s{display:flex;flex-direction:column;gap:8px}.row-gap{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.grow{flex:1 1 180px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 18px;background:var(--white);border:1.5px solid var(--ink);font-weight:700;cursor:pointer;text-decoration:none}.btn:hover{background:#f7f6f3}.btn.primary{background:var(--ink);color:var(--white)}.btn.primary:hover{background:#2b2b2b}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.small{min-height:34px;padding:0 12px;font-size:13px;font-weight:600;border-width:1px;border-color:var(--line)}.btn.danger{color:var(--err)}.btn.link{background:none;border:0;min-height:36px;padding:0;text-decoration:underline;text-underline-offset:3px;font-weight:600}.btn.link.light{color:#d6d4cf}.chip{min-height:34px;padding:0 12px;border:1px solid var(--line);background:var(--white);cursor:pointer;font-size:13px;font-weight:600}.chip.on{background:var(--ink);color:var(--white);border-color:var(--ink)}.chips{display:flex;flex-wrap:wrap;gap:6px}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;border:0;padding:0;margin:0}.field legend{padding:0;margin-bottom:6px}input,select,textarea{min-height:42px;border:1.5px solid var(--line);background:var(--white);padding:0 10px;font-size:15px;font-weight:400;border-radius:0}textarea{padding:8px 10px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--ink);outline:none}input[type=checkbox],input[type=radio]{min-height:0;width:18px;height:18px;accent-color:var(--ink);margin:0}.code-input{font-size:24px;letter-spacing:.3em;font-weight:700}.slug-row{display:flex;align-items:center;gap:6px;font-weight:400;flex-wrap:wrap}.slug-row input{flex:1 1 160px}.check-row{display:flex;align-items:center;gap:10px;min-height:40px;cursor:pointer;font-size:14px}.check-row.inline{min-height:34px;margin-right:12px}.form-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}.form-label{min-width:240px;font-weight:700}.inline-field{flex-direction:row;align-items:center;flex-wrap:wrap}.inline-field input{width:80px}.inline-num{display:inline-flex;align-items:center;gap:6px}.inline-num input{width:80px}.seg{display:inline-flex;flex-wrap:wrap;border:1.5px solid var(--ink);align-self:flex-start}.seg button{min-height:40px;padding:0 14px;border:0;background:var(--white);font-size:13px;font-weight:700;cursor:pointer}.seg button.on{background:var(--ink);color:var(--white)}.center-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px}.card{background:var(--white);border:1.5px solid var(--line);padding:22px}.card.narrow{width:100%;max-width:420px}.card.wide{width:100%;max-width:640px}.card.empty{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.brand-row{display:flex;align-items:center;gap:10px;margin-bottom:18px;font-size:15px}.logo-mark{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:var(--white);font-weight:800}.logo-mark.light{background:var(--white);color:var(--ink)}.lang-switch{display:flex;gap:6px;margin-top:18px}.lang-switch.dark .chip{background:transparent;color:#d6d4cf;border-color:#444}.lang-switch.dark .chip.on{background:var(--white);color:var(--ink)}.shell{display:flex;min-height:100vh}.side{width:240px;flex:none;background:var(--ink);color:var(--white);padding:22px 14px;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh;overflow-y:auto}.side-brand{display:flex;align-items:center;gap:10px;padding:0 8px 20px;font-size:14px}.tenant-select{background:transparent;color:var(--white);border-color:#444;min-height:34px;font-size:14px;max-width:160px}.nav-item{color:#d6d4cf;text-decoration:none;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px}.nav-item:hover{color:var(--white)}.nav-item.active{background:var(--white);color:var(--ink);font-weight:700}.nav-item.dim{color:#8f8d88}.nav-item.dim.active{background:#2a2a2a;color:var(--white)}.tag{font-size:11px;color:#8f8d88;border:1px solid #3A3A3A;padding:0 6px}.side-sep{height:1px;background:#2e2e2e;margin:12px 8px}.side-label{font-size:12px;color:#9c9a95;padding:6px 10px}.side-foot{margin-top:auto;padding:16px 8px 0;display:flex;flex-direction:column;gap:6px}.side-user{font-size:12px;color:#9c9a95;word-break:break-all}.main{flex:1;min-width:0}.page{padding:32px 40px 80px;display:flex;flex-direction:column;gap:18px;max-width:1240px}.narrow-page{max-width:980px}.page-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px}.notice{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;background:var(--white);border:1.5px solid var(--ink);padding:12px 14px}.notice.ok{border-color:var(--ok);background:var(--ok-bg)}.notice.err{border-color:var(--err);color:var(--err)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}.space-card{background:var(--white);border:1.5px solid var(--line);display:flex;flex-direction:column}.space-card.own{border:2px solid var(--own)}.space-card.paused{opacity:.65}.space-top{display:flex;gap:6px;padding:14px 16px 0;flex-wrap:wrap}.status{font-size:12px;font-weight:700;padding:3px 8px}.status.on{background:var(--ok-bg);color:var(--ok)}.status.off{background:var(--ink);color:var(--white)}.status.own{background:var(--own);color:var(--white)}.space-body{padding:10px 16px;display:flex;flex-direction:column;gap:6px}.badges{display:flex;flex-wrap:wrap;gap:6px}.badge{font-size:12px;font-weight:600;background:#f3f2ef;color:var(--ink-2);padding:3px 8px}.space-actions{display:flex;gap:6px;padding:0 16px 10px}.space-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0 16px 16px;margin-top:auto}.tile{min-height:56px;border:1px solid var(--line);background:var(--white);font-size:12px;font-weight:700;cursor:pointer;padding:4px;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;line-height:1.3}.tile.dark{background:var(--ink);color:var(--white);border-color:var(--ink)}.tile.own{background:var(--own-bg);border-color:var(--own)}.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.tpl{text-align:left;background:var(--white);border:1.5px solid var(--line);padding:14px;cursor:pointer;display:flex;flex-direction:column;gap:6px;min-height:96px}.tpl:hover{border-color:var(--ink)}.tpl span{font-size:13px;color:var(--muted)}.radio-card{display:flex;align-items:center;gap:10px;min-height:46px;padding:0 12px;border:1px solid var(--line);cursor:pointer}.radio-card.on{border:2px solid var(--ink)}.indent{padding-left:16px;display:flex;flex-direction:column;gap:6px}.label{font-size:13px;font-weight:700}.lang-block{display:flex;flex-direction:column;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--line-2)}.rules{display:flex;flex-direction:column}.rule-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 0 10px 10px;border-top:1px solid var(--line-2);border-left:4px solid transparent}.rule-row.own{border-left-color:var(--own)}.rule-label{flex:0 0 220px;font-weight:700}.rule-val{flex:1 1 260px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.rule-row.own select{border-color:var(--own)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1111118c;display:flex;align-items:flex-start;justify-content:center;padding:60px 16px;overflow-y:auto;z-index:10}.modal{background:var(--white);width:100%;max-width:520px;padding:24px;display:flex;flex-direction:column;gap:16px}.modal.wide{max-width:800px}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.modal-x{width:36px;height:36px;flex:none;background:none;border:1px solid var(--line);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.scheme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.scheme{text-align:left;padding:14px;background:var(--white);border:1.5px solid var(--ink);cursor:pointer;display:flex;flex-direction:column;gap:6px;min-height:96px}.scheme span{font-size:13px;opacity:.85}.scheme.on{background:var(--ink);color:var(--white)}.day-bar{display:flex;gap:1px;height:28px}.day-bar .cell{flex:1}.cell.std{background:var(--ink)}.cell.off{background:var(--own)}.cell.closed{background:var(--line-2)}.day-axis{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:4px;font-variant-numeric:tabular-nums}.legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;margin-top:6px}.legend i{display:inline-block;width:12px;height:12px;margin-right:6px;vertical-align:-1px}.hol-list{display:flex;flex-direction:column;gap:0}.hol-row{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:42px;border-bottom:1px solid var(--line-2)}.hol-list .form-row{padding-top:12px}.save-bar{position:sticky;bottom:0;display:flex;gap:10px;padding:14px 0;background:linear-gradient(to top,var(--bg) 70%,rgba(243,242,239,0))}@media (max-width: 860px){.shell{flex-direction:column}.side{width:100%;height:auto;position:static;flex-direction:row;flex-wrap:wrap;gap:4px;padding:12px}.side-brand{width:100%;padding-bottom:8px}.side-sep,.side-label{display:none}.nav-item{padding:6px 8px}.side-foot{width:100%;flex-direction:row;flex-wrap:wrap;align-items:center;padding-top:8px}.lang-switch{margin-top:0}.page{padding:20px 16px 80px}.form-label{min-width:100%}.rule-label{flex-basis:100%}.grid{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: no-preference){.btn,.chip,.tile,.tpl{transition:background-color .12s,border-color .12s}}.opt-list{display:flex;flex-direction:column;gap:8px}.opt{border:1.5px solid var(--line);background:var(--white)}.opt.on{border:2px solid var(--ink)}.opt-head{width:100%;display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:none;border:0;text-align:left;cursor:pointer}.opt.on .opt-head{background:var(--ink);color:var(--white)}.opt-head .dot{width:18px;height:18px;border-radius:50%;border:2px solid currentColor;flex:none;margin-top:1px;position:relative}.opt.on .opt-head .dot:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:currentColor}.opt-sub{display:block;font-size:13px;opacity:.8;font-weight:400}.opt-body{padding:14px;display:flex;flex-direction:column;gap:12px;border-top:2px solid var(--ink)}.alert{background:#fdecec;color:var(--err);border-left:4px solid var(--err);padding:12px 14px;font-size:15px;font-weight:700;line-height:1.45}.rec{display:inline-block;margin-left:6px;padding:1px 6px;background:var(--ok-bg);color:var(--ok);font-size:11px;font-weight:700}.seg button.on .rec{background:#2f7a4c;color:var(--white)}.hol-import{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.space-card{cursor:grab}.space-card.dragging{opacity:.4}.space-card.drop-target{outline:3px dashed var(--ink);outline-offset:3px}.grip{color:#9c9a95;display:inline-flex;align-items:center;padding-right:2px}.space-top{align-items:center}.move{margin-left:auto;display:inline-flex;gap:4px}.move .btn.small{min-height:28px;min-width:32px;padding:0 6px}.space-card.combo{background:#f7f5f0;border:1.5px solid #8A877F;box-shadow:inset 4px 0 #3f3e3a}.space-card.combo.own{border:2px solid var(--own)}.status.combo{background:#3f3e3a;color:var(--white);display:inline-flex;align-items:center;gap:5px}.part-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px}.part-row .badge{margin-left:4px}.inline-num.small{font-size:13px}.inline-num.small input{width:64px;min-height:34px}.crumbs{font-size:13px;color:var(--muted)}.crumbs a{color:var(--muted)}.prices-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;align-items:start}.calc{position:sticky;top:16px}.sub-block{border-top:1px solid var(--line-2);padding-top:12px}.row-between{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}.check-row.strong{font-weight:800;font-size:15px}.money{display:inline-flex;align-items:center;gap:6px;font-weight:600}.w-money{width:96px}.w-num{width:72px}input[aria-invalid=true]{border-color:var(--err)}.pkg{border:1.5px solid var(--line);padding:12px;display:flex;flex-direction:column;gap:10px;background:#fbfaf8}.pkg-row{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end}.pkg-row .field{font-weight:600}.push-right{margin-left:auto}.calc-total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line-2);padding-top:10px}.calc-total b{font-size:30px;font-weight:800;letter-spacing:-.02em}.calc-line{display:flex;align-items:center;gap:8px;font-size:13px;border-top:1px solid var(--line-2);padding-top:6px}.mono-s{font-variant-numeric:tabular-nums;min-width:92px}.tagc{width:10px;height:10px;flex:none;background:#3f3e3a}.tagc.off_hours{background:var(--own)}.tagc.holiday{background:#1d4ed8}.tagc.period{background:#0f766e}.tagc.shift{background:#7e22ce}.tagc.extension{background:#a78bfa}.note{font-size:13px;background:var(--warn-bg);color:var(--warn);padding:8px 10px}.status.warnb{background:var(--warn-bg);color:var(--warn)}.status.alertb{background:#fdecec;color:var(--err)}@media (max-width: 1080px){.prices-grid{grid-template-columns:minmax(0,1fr)}.calc{position:static}}
