col-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px}widget-person{display:block;border:1px solid var(--c-border);border-radius:var(--radius);padding:14px 16px}widget-person ul{list-style:none;margin:10px 0 0;padding:0}widget-person li{padding:8px 0;border-top:1px solid var(--c-border)}widget-person x-hint.detail{font-size:14px;margin-top:4px}row-person{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}row-person b{font-size:18px}row-person x-hint{font-size:14px}x-left{display:flex;flex-direction:column;align-items:flex-end;gap:2px}x-left span{font-size:14px;font-weight:700;color:var(--c-ok);background:var(--c-ok-bg);border-radius:8px;padding:2px 8px;white-space:nowrap}x-left span.zero{color:var(--c-text-secondary);background:var(--c-bg)}row-contract{display:flex;justify-content:space-between;gap:8px;font-size:15px;margin-bottom:6px}row-contract .nums{white-space:nowrap}x-bar{display:block;height:10px;border-radius:5px;background:var(--c-weekend);overflow:hidden}x-fill{display:block;height:100%;border-radius:5px}view-plan{display:flex;flex-direction:column;gap:16px}row-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}row-toolbar select.site-select{min-width:260px;font-size:18px;font-weight:600}x-flash{display:block;padding:14px 18px;border-radius:var(--radius);background:var(--c-ok-bg);color:var(--c-ok);font-weight:600;cursor:pointer}panel-help{display:block;background:#eef4ff;border:1px solid #c7d7fe;border-radius:var(--radius);padding:18px 24px}panel-help ol{margin:0 0 14px;padding-left:22px}panel-help li{margin-bottom:6px}row-tiles{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch}row-tiles a.help-link{align-self:center;margin-left:auto;color:var(--c-primary);font-size:15px}widget-tile{display:flex;flex-direction:column;justify-content:center;min-width:170px;padding:14px 20px;background:var(--c-card);border:1px solid var(--c-border);border-left:6px solid var(--c-border);border-radius:var(--radius)}widget-tile x-num{font-size:30px;font-weight:800;line-height:1.1}widget-tile x-num small{font-size:17px;font-weight:500;color:var(--c-text-secondary)}widget-tile x-label{color:var(--c-text-secondary);font-size:15px}widget-tile.ok{border-left-color:var(--c-ok)}widget-tile.ok x-num{color:var(--c-ok)}widget-tile.warn{border-left-color:#f59e0b}widget-tile.warn x-num{color:var(--c-warning)}widget-tile.bad{border-left-color:var(--c-error)}widget-tile.bad x-num{color:var(--c-error)}row-sheet-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:16px}row-sheet-head x-title{margin-bottom:4px}x-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:15px;color:var(--c-text-secondary)}x-legend span{display:inline-flex;align-items:center;gap:6px}x-chip{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;font-weight:800;font-size:15px;line-height:1}x-chip i{font-style:normal;font-size:9px;font-weight:500}x-chip.absent{background:repeating-linear-gradient(135deg,#f3f4f6 0,#f3f4f6 5px,#e5e7eb 5px,#e5e7eb 10px);color:var(--c-text-secondary)}x-chip.elsewhere{color:#9ca3af;border:1px dashed #cbd0d8}x-chip.bad{background:var(--c-error-bg);color:var(--c-error);outline:3px solid var(--c-error);outline-offset:-3px}wrap-scroll{display:block;overflow-x:auto;border:1px solid var(--c-border);border-radius:10px}wrap-scroll::-webkit-scrollbar{height:16px}wrap-scroll::-webkit-scrollbar-track{background:var(--c-bg)}wrap-scroll::-webkit-scrollbar-thumb{background:#b8bfca;border-radius:8px;border:3px solid var(--c-bg)}table.grid{border-collapse:separate;border-spacing:0;font-size:16px;width:max-content}table.grid th,table.grid td{border-right:1px solid var(--c-border);border-bottom:1px solid var(--c-border);text-align:center;min-width:38px;height:44px;padding:0}table.grid thead th{background:#f8f9fb;font-weight:600;color:var(--c-text-secondary);padding:6px 2px}table.grid x-day{display:block;font-size:17px;color:var(--c-text);font-weight:700}table.grid x-wd{display:block;font-size:12px;font-weight:600}table.grid .name{position:sticky;left:0;z-index:2;text-align:left;white-space:nowrap;padding:0 14px;min-width:170px;background:var(--c-card);font-weight:600;color:var(--c-text);box-shadow:2px 0 0 var(--c-border)}table.grid thead .name{z-index:3;background:#f8f9fb;color:var(--c-text-secondary)}table.grid .weekend{background:var(--c-weekend)}table.grid thead th.weekend{background:#e6e9ee}table.grid .holiday,table.grid thead th.holiday{background:var(--c-holiday)}table.grid .sum{min-width:52px;color:var(--c-text-secondary);font-size:15px;padding:0 6px}table.grid .sum.strong{color:var(--c-text);font-weight:800;font-size:17px}table.grid td.cell{cursor:pointer;padding:3px}table.grid td.cell x-code{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:36px;border-radius:6px;font-weight:800;font-size:18px;line-height:1}table.grid td.cell x-code i{font-style:normal;font-size:10px;font-weight:600;margin-top:2px}table.grid td.cell:hover x-code{outline:3px solid var(--c-primary);outline-offset:-1px}table.grid td.cell.absent x-code{background:repeating-linear-gradient(135deg,#f3f4f6 0,#f3f4f6 5px,#e5e7eb 5px,#e5e7eb 10px);color:var(--c-text-secondary)}table.grid td.cell.elsewhere x-code{color:#9ca3af;border:1px dashed #cbd0d8;font-size:15px}table.grid td.cell.bad x-code{outline:3px solid var(--c-error);outline-offset:-2px}table.grid.readonly td.cell{cursor:default}table.grid.readonly td.cell:hover x-code{outline:none}table.grid tfoot td{height:34px}table.grid tfoot .name{font-weight:500;color:var(--c-text-secondary);font-size:15px}table.grid tfoot td.cov{font-size:14px;color:var(--c-ok)}table.grid tfoot td.cov.short{background:var(--c-warning-bg);color:var(--c-warning);font-weight:800;font-size:17px}col-bottom{display:grid;grid-template-columns:minmax(340px,1fr) minmax(420px,1.4fr);gap:16px;align-items:start}@media(max-width:1100px){col-bottom{grid-template-columns:1fr}}ul.missing{list-style:none;margin:0 0 8px;padding:0}ul.missing li{display:flex;gap:12px;flex-wrap:wrap;padding:10px 14px;background:var(--c-warning-bg);color:var(--c-warning);border-radius:10px;margin-bottom:6px}ul.issues{list-style:none;margin:0;padding:0;max-height:460px;overflow:auto}ul.issues li{padding:10px 14px;border-radius:10px;margin-bottom:6px}ul.issues li.error{background:var(--c-error-bg);color:#9a3412}ul.issues li.warning{background:var(--c-warning-bg);color:var(--c-warning)}x-ok{display:block;padding:12px 16px;background:var(--c-ok-bg);color:var(--c-ok);border-radius:10px;font-weight:600}wrap-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;background:#11182773}panel-dialog{display:block;width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--c-card);border-radius:16px;padding:24px 28px;box-shadow:0 20px 60px #0000004d}panel-dialog x-subtitle{margin-top:20px}row-dialog-head{display:flex;justify-content:space-between;align-items:flex-start}row-dialog-head x-title{margin-bottom:2px}row-dialog-head button{font-size:22px}x-status{display:block;margin-top:14px;padding:12px 16px;background:var(--c-bg);border-radius:10px}x-status.bad{background:var(--c-error-bg);color:#9a3412}row-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}row-choices button.choice{justify-content:flex-start;text-align:left;min-height:72px}row-choices button.choice x-icon{font-size:28px}row-choices button.choice x-hint{font-size:14px}row-choices button.choice.selected{border:3px solid var(--c-primary);background:var(--c-primary-soft)}ul.radio{list-style:none;margin:0;padding:0}ul.radio li{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--c-border);border-radius:10px;margin-bottom:8px;cursor:pointer}ul.radio li input{width:20px;height:20px;min-height:0;pointer-events:none}ul.radio li x-hint{display:inline;font-size:14px}ul.radio li:hover{border-color:var(--c-primary)}ul.radio li.selected{border:2px solid var(--c-primary);background:#f5f8ff}row-actions.dialog-foot{margin-top:24px}@media print{table.grid{font-size:13px}table.grid th,table.grid td{min-width:25px;height:32px}table.grid td.cell{padding:2px}table.grid td.cell x-code{font-size:15px;min-height:26px}table.grid .name{min-width:130px;font-size:13px;padding:0 6px;position:static;box-shadow:none}table.grid .sum{min-width:36px;font-size:13px}table.grid x-day{font-size:13px}table.grid x-wd{font-size:9px}wrap-scroll{border:none;overflow:visible}x-title{font-size:16px}}view-staff{display:grid;grid-template-columns:300px 1fr;gap:16px;align-items:start}col-content{display:flex;flex-direction:column;gap:16px}widget-contract{display:block;border:1px solid var(--c-border);border-left:6px solid var(--c-border);border-radius:var(--radius);padding:16px 18px 10px;margin-bottom:14px}ul.rules{margin:8px 0 0;padding-left:22px}ul.rules li{margin-bottom:6px;font-size:15px}@media(max-width:900px){view-staff{grid-template-columns:1fr}}view-locations{display:grid;grid-template-columns:300px 1fr;gap:16px;align-items:start}widget-shift{display:block;border:1px solid var(--c-border);border-radius:var(--radius);padding:16px 18px 12px;margin-bottom:12px}ul.roster{list-style:none;margin:0;padding:0}ul.roster li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--c-border)}ul.roster li span:last-child{display:flex;gap:6px}@media(max-width:900px){view-locations{grid-template-columns:1fr}}view-config{display:grid;grid-template-columns:repeat(auto-fit,minmax(460px,1fr));gap:16px;align-items:start}widget-firm{display:block;border:1px solid var(--c-border);border-left:6px solid var(--c-border);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px}label.file-btn{display:inline-flex;align-items:center;min-height:44px;padding:8px 18px;border:1px solid var(--c-border);border-radius:10px;cursor:pointer;font-weight:500}label.file-btn:hover{border-color:var(--c-primary)}label.file-btn input{display:none}@media(max-width:600px){view-config{grid-template-columns:1fr}}view-app{display:block;min-height:100vh}row-header{display:block;padding:14px 28px 0;background:var(--c-card);border-bottom:1px solid var(--c-border)}row-header nav{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px;align-items:center}row-header nav button{border:none;border-bottom:4px solid transparent;border-radius:0;background:transparent;padding:10px 16px 12px;color:var(--c-text-secondary)}row-header nav button:hover{color:var(--c-text);background:var(--c-bg)}row-header nav button.active{color:var(--c-primary);border-bottom-color:var(--c-primary);font-weight:700}x-sep{width:1px;height:28px;background:var(--c-border);margin:0 8px}row-top{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}x-logo{display:flex;align-items:center;gap:12px;font-weight:800;font-size:22px}x-logo x-icon{font-size:30px}x-logo x-hint{font-weight:400;font-size:14px}row-month{display:flex;align-items:center;gap:4px;background:var(--c-bg);border-radius:14px;padding:4px}row-month button{color:var(--c-text-secondary)}x-month{min-width:200px;text-align:center;font-weight:800;font-size:24px}x-month:first-letter{text-transform:uppercase}main{padding:20px 28px 40px}@media print{main{padding:0}}:root{--c-bg: #f2f4f7;--c-card: #ffffff;--c-text: #111827;--c-text-secondary: #4b5563;--c-border: #d6dae1;--c-primary: #1d4ed8;--c-primary-soft: #e0e7ff;--c-error: #c2410c;--c-error-bg: #ffedd5;--c-warning: #92400e;--c-warning-bg: #fef3c7;--c-ok: #15803d;--c-ok-bg: #dcfce7;--c-weekend: #eceff3;--c-holiday: #fde68a;--radius: 12px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.45;color:var(--c-text)}*{box-sizing:border-box}body{margin:0;background:var(--c-bg)}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{border:1px solid var(--c-border);border-radius:8px;padding:8px 12px;min-height:44px;background:var(--c-card)}input:focus,select:focus,textarea:focus{outline:3px solid var(--c-primary-soft);border-color:var(--c-primary)}input[type=number]{width:110px}input[type=checkbox]{width:22px;height:22px;min-height:0;accent-color:var(--c-primary)}input[type=color]{width:64px;padding:4px}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid var(--c-border);background:var(--c-card);border-radius:10px;padding:8px 18px;cursor:pointer;font-weight:500}button:hover{border-color:var(--c-primary);background:#f8faff}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--c-primary);border-color:var(--c-primary);color:#fff}button.primary:hover{background:#1e40af}button.danger{color:var(--c-error)}button.ghost{border-color:transparent;background:transparent}button.small{min-height:36px;padding:4px 12px;font-size:15px}button.big{min-height:56px;font-size:18px;padding:10px 22px}x-icon{font-size:1.15em;line-height:1}panel-card{display:block;background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--radius);padding:20px 24px}x-title{display:block;font-weight:700;font-size:22px;margin-bottom:14px}x-subtitle{display:block;font-weight:700;font-size:18px;margin-bottom:10px}x-hint{display:block;color:var(--c-text-secondary);font-size:15px}row-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}x-badge{display:inline-block;min-width:24px;padding:0 8px;border-radius:12px;font-size:14px;line-height:24px;font-weight:700;text-align:center;background:var(--c-error);color:#fff}x-swatch{display:inline-block;width:16px;height:16px;border-radius:4px;vertical-align:-2px}x-field{display:flex;flex-direction:column;gap:4px;font-size:15px;color:var(--c-text-secondary);font-weight:500}x-field>input,x-field>select,x-field>textarea{color:var(--c-text);font-size:17px;font-weight:400;width:100%}x-field>input[type=number]{max-width:220px}x-field>input[type=color]{width:64px}row-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px 18px}label.chk{display:inline-flex;gap:8px;align-items:center;margin-right:20px;min-height:40px;color:var(--c-text);cursor:pointer}ul.list{list-style:none;margin:0 0 14px;padding:0}ul.list li{padding:10px 14px;border-radius:10px;cursor:pointer;border:1px solid transparent}ul.list li:hover{background:var(--c-bg)}ul.list li.active{background:var(--c-primary-soft);border-color:#c7d2fe;font-weight:700}ul.list li x-hint{font-weight:400;font-size:14px}details.more{margin-top:12px}details.more summary{cursor:pointer;color:var(--c-primary);font-size:15px;padding:6px 0}@media print{@page{size:A4 landscape;margin:8mm}:root{font-size:12px}body{background:#fff}.no-print{display:none!important}panel-card{border:none;padding:0}}
