.zre-container{box-sizing:border-box;width:100%;max-width:100%;display:flex;flex-direction:column;gap:20px;color:var(--text-main, #1e293b);font-family:inherit;font-size:14px;line-height:1.5}.zre-container *,.zre-container *:before,.zre-container *:after{box-sizing:border-box}.zre-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:48px 16px;color:var(--text-muted, #637188)}.zre-spin{animation:zre-spin-keyframes 1s linear infinite}@keyframes zre-spin-keyframes{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.zre-empty-notice{padding:32px 20px;background-color:var(--bg-card, #ffffff);border:1px dashed var(--border, #dfe7f0);border-radius:12px;text-align:center;color:var(--text-muted, #637188);font-size:15px}.zre-alert{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;font-size:13.5px}.zre-alert--error{background-color:#fdebed;border:1px solid #f5c2c7;color:#c93b43}.zre-alert--success{background-color:#e7f7ee;border:1px solid #b7ebd0;color:#18864b}.zre-presence-box{padding:10px 14px;background-color:var(--bg-card, #ffffff);border:1px solid var(--border, #dfe7f0);border-radius:8px;font-size:13.5px;color:var(--text-main, #1e293b)}.zre-presence-box strong{color:var(--blue, #2375d8)}.zre-section{display:flex;flex-direction:column;gap:12px}.zre-section-title{margin:0 0 10px;font-size:15px;font-weight:600;color:var(--text-main, #1e293b)}.zre-field-group{display:flex;flex-direction:column;gap:6px}.zre-label{font-size:13px;font-weight:500;color:var(--text-muted, #637188)}.zre-hint{margin:2px 0 0;font-size:12.5px;color:var(--text-muted, #637188)}.zre-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 7px;border-radius:10px;background-color:#e2e8f0;color:#475569;font-size:11px;font-weight:600}.zre-input,.zre-select{height:38px;padding:0 12px;border:1px solid var(--border, #dfe7f0);border-radius:8px;background-color:var(--bg-card, #ffffff);color:var(--text-main, #1e293b);font-size:13.5px;font-family:inherit;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.zre-input:focus,.zre-select:focus{border-color:var(--blue, #2375d8);box-shadow:0 0 0 2px #2375d826}.zre-input:disabled,.zre-select:disabled{background-color:#f1f5f9;color:var(--text-muted, #637188);cursor:not-allowed}.zre-matrix{display:flex;flex-direction:column;gap:24px}.zre-tiles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.zre-tile{min-height:76px;border:2px solid var(--border, #dfe7f0);border-radius:12px;background-color:var(--bg-card, #ffffff);display:flex;flex-direction:column;overflow:hidden;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.zre-tile--green{border-color:#18864b;background-color:#e7f7ee}.zre-tile--yellow{border-color:#d78608;background-color:#fff2cf}.zre-tile--red{border-color:#c93b43;background-color:#fdebed}.zre-tile--none{border-color:#cbd5e1;background-color:#f1f5f9;color:var(--text-muted, #637188);opacity:.85}.zre-tile--busy{opacity:.6;pointer-events:none}.zre-tile-btn{display:flex;flex-direction:column;align-items:flex-start;width:100%;flex:1;padding:10px 12px;background:transparent;border:none;font-family:inherit;text-align:left;cursor:pointer;outline:none}.zre-tile-btn:focus-visible{outline:2px solid var(--blue, #2375d8);outline-offset:2px}.zre-tile-btn:disabled{cursor:default}.zre-tile-header{display:flex;align-items:baseline;gap:4px;width:100%}.zre-tile-tree{color:var(--text-muted, #637188);font-size:11px;-webkit-user-select:none;user-select:none}.zre-tile-name{font-size:13.5px;font-weight:600;color:var(--text-main, #1e293b);word-break:break-word}.zre-tile-parent{font-size:11px;color:var(--text-muted, #637188);margin-top:2px}.zre-tile-status{font-size:11.5px;margin-top:6px;font-weight:500;color:inherit}.zre-tile--green .zre-tile-status{color:#116839}.zre-tile--yellow .zre-tile-status{color:#9c6004}.zre-tile--red .zre-tile-status{color:#a42c33}.zre-tile-count{font-size:11px;color:var(--text-muted, #637188);margin-top:2px}.zre-tile-extra{padding:6px 10px 10px;border-top:1px dashed rgba(0,0,0,.08);background-color:#fff9}.zre-grant-extra{display:flex;flex-direction:column;gap:4px}.zre-grant-label{font-size:11px;font-weight:500;color:var(--text-muted, #637188)}.zre-datetime-input{height:28px;padding:2px 6px;font-size:11.5px;border-radius:6px}.zre-grant-badge{font-size:10.5px;color:var(--text-muted, #637188)}.zre-passages-section{display:flex;flex-direction:column}.zre-passages-table{border:1px solid var(--border, #dfe7f0);border-radius:12px;overflow:hidden;background-color:var(--bg-card, #ffffff)}.zre-passages-header{display:grid;grid-template-columns:220px 1fr 1fr;background-color:#f8fafc;border-bottom:1px solid var(--border, #dfe7f0);font-size:12px;font-weight:600;color:var(--text-muted, #637188);text-transform:uppercase;letter-spacing:.03em}.zre-th{padding:10px 14px}.zre-passages-body{display:flex;flex-direction:column}.zre-passage-row{display:grid;grid-template-columns:220px 1fr 1fr;align-items:center;border-bottom:1px solid var(--border, #dfe7f0);transition:background-color .12s ease}.zre-passage-row:last-child{border-bottom:none}.zre-passage-row:hover{background-color:#fafbfd}.zre-cp-name{padding:12px 14px;font-weight:600;font-size:13.5px;color:var(--text-main, #1e293b);word-break:break-word}.zre-passage-cell{padding:10px 14px;display:flex;align-items:center}.zre-checkbox-label{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;cursor:pointer;-webkit-user-select:none;user-select:none}.zre-checkbox{width:17px;height:17px;accent-color:var(--blue, #2375d8);cursor:pointer;margin:0}.zre-checkbox:disabled{cursor:not-allowed}.zre-checkbox-text{font-size:13px;font-weight:500;color:var(--text-main, #1e293b);display:flex;align-items:center;gap:6px}.zre-checkbox-label input[type=checkbox]{align-self:flex-start;margin-bottom:3px}.zre-passage-reason{font-size:11px;color:var(--text-muted, #637188)}.zre-passage-empty{color:var(--text-muted, #637188);font-size:13px}.zre-accordion-btn{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background-color:#f8fafc;border:1px solid var(--border, #dfe7f0);border-radius:8px;color:var(--text-main, #1e293b);font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer;text-align:left;transition:background-color .15s ease}.zre-accordion-btn:hover{background-color:#f1f5f9}.zre-accordion-content{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--border, #dfe7f0);border-top:none;border-bottom-left-radius:8px;border-bottom-right-radius:8px;background-color:var(--bg-card, #ffffff)}.zre-restrictions-list{display:flex;flex-direction:column;gap:10px}.zre-restriction-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.zre-select-cp,.zre-select-actuator{flex:1;min-width:140px}.zre-actions-bar{display:flex;align-items:center;gap:10px;padding-top:10px;flex-wrap:wrap}.zre-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 16px;border-radius:8px;font-family:inherit;font-size:13.5px;font-weight:500;border:1px solid transparent;cursor:pointer;outline:none;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.zre-btn:focus-visible{outline:2px solid var(--blue, #2375d8);outline-offset:2px}.zre-btn:disabled{opacity:.55;cursor:not-allowed}.zre-btn--primary{background-color:var(--blue, #2375d8);color:#fff}.zre-btn--primary:hover:not(:disabled){background-color:#1b63bd}.zre-btn--secondary{background-color:#fff;border-color:var(--border, #dfe7f0);color:var(--text-main, #1e293b)}.zre-btn--secondary:hover:not(:disabled){background-color:#f8fafc;border-color:#cbd5e1}.zre-btn--danger{background-color:#fff;border-color:#f5c2c7;color:#c93b43}.zre-btn--danger:hover:not(:disabled){background-color:#fdebed;border-color:#c93b43}.zre-btn--icon{width:38px;height:38px;padding:0}.zre-btn--sm{height:32px;padding:0 12px;font-size:12.5px}.zre-groups-editor{gap:20px}.zre-groups-nav{display:flex;flex-direction:column}.zre-groups-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.zre-group-tab{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;background-color:#fff;border:1px solid var(--border, #dfe7f0);border-radius:8px;color:var(--text-main, #1e293b);font-family:inherit;font-size:13.5px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .15s ease}.zre-group-tab:hover{background-color:#f8fafc}.zre-group-tab--active{border-color:var(--blue, #2375d8);background-color:#eff6ff;color:var(--blue, #2375d8);font-weight:600}.zre-group-tab--active .zre-badge{background-color:#dbeafe;color:var(--blue, #2375d8)}.zre-btn--new-group{white-space:nowrap}.zre-btn--new-active{border-color:var(--blue, #2375d8);background-color:#eff6ff;color:var(--blue, #2375d8)}.zre-group-content{display:flex;flex-direction:column;gap:20px}.zre-btn--delete-group{margin-left:auto}@media(max-width:520px){.zre-passages-header{display:none}.zre-passage-row{grid-template-columns:1fr;gap:8px;padding:12px}.zre-cp-name{padding:0 0 4px;border-bottom:1px dashed var(--border, #dfe7f0)}.zre-passage-cell{padding:4px 0}.zre-actions-bar{flex-direction:column;align-items:stretch}.zre-actions-bar .zre-btn{width:100%}.zre-btn--delete-group{margin-left:0}}@media(max-width:360px){.zre-tiles-grid{grid-template-columns:1fr}.zre-restriction-row{flex-direction:column;align-items:stretch}.zre-btn--icon{width:100%}}.op-panel{display:grid;gap:10px;margin-block:12px}.op-panel h3,.op-panel h4{margin:0}.op-checkpoint{display:grid;gap:6px;padding:10px;border:1px solid var(--line, #d0d5dd);border-radius:10px}.op-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.op-row>strong{min-width:64px}.op-row select{max-width:100%}.op-row .op-status{flex-basis:100%}.op-row.op-open{background:#f59e0b1f;border-radius:8px;padding:6px 8px}.op-banner{background:#f59e0b29;border:1px solid rgba(245,158,11,.5)}
