.ui-panel{border:1px solid var(--color-panel-border);border-radius:var(--radius-md);background:var(--color-panel-bg);box-shadow:var(--shadow-panel);padding:1.1rem 1.25rem}.ui-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.35rem;display:flex}.ui-panel-head h2{font-size:var(--font-size-title);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 .2rem}.ui-panel-hint{font-size:var(--font-size-meta);color:var(--color-text-secondary);margin:0 0 1rem;line-height:1.45}.ui-panel-title,h2.ui-panel-title,h3.ui-panel-title{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 .65rem}.ui-status{background:color-mix(in srgb, var(--color-text-secondary) 12%, white);color:var(--color-text-secondary);border-radius:999px;padding:.15rem .45rem;font-size:.72rem;font-weight:650}.ui-status-ok{background:var(--color-status-ok-bg);color:var(--color-status-ok-fg)}.ui-status-risk{background:var(--color-status-risk-bg);color:var(--color-status-risk-fg)}.ui-status-due{background:var(--color-status-due-bg);color:var(--color-status-due-fg)}.ui-status-neutral{background:var(--color-status-neutral-bg);color:var(--color-status-neutral-fg)}.ui-toolbar{flex-wrap:wrap;align-items:center;gap:.6rem .75rem;margin-top:.85rem;display:flex}.ui-search{border:1px solid var(--color-border-sutil);border-radius:var(--radius-sm);min-width:10rem;max-width:18rem;font:inherit;background:var(--color-panel-bg);color:var(--color-text-primary);flex:12rem;padding:.4rem .65rem}.ui-search:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px;border-color:var(--color-primary)}.ui-chips{flex-wrap:wrap;gap:.3rem;display:flex}.ui-chip{appearance:none;border:1px solid var(--color-border-sutil);background:var(--color-panel-bg);font:inherit;cursor:pointer;color:var(--color-text-secondary);border-radius:999px;padding:.28rem .65rem;font-size:.8rem}.ui-chip:hover{border-color:color-mix(in srgb, var(--color-primary) 40%, var(--color-border-sutil))}.ui-chip-active{background:var(--color-status-neutral-bg);border-color:var(--color-primary);color:var(--color-primary);font-weight:600}.ui-kpi-strip{grid-template-columns:repeat(auto-fit,minmax(9rem,13rem));justify-content:start;gap:.6rem;margin:0 0 1.5rem;padding:0;list-style:none;display:grid}.ui-kpi-strip>li{border-radius:var(--radius-md);border:1px solid var(--color-panel-border);background:var(--color-panel-bg);box-shadow:var(--shadow-panel);gap:.2rem;padding:.75rem .9rem;display:grid}.ui-kpi-label{color:var(--color-text-secondary);letter-spacing:.01em;font-size:.75rem;font-weight:500}.ui-kpi-value{color:var(--color-text-primary);font-size:1.2rem;font-weight:700}.ui-kpi-delta{font-size:.78rem;font-weight:600}.ui-kpi-up{color:var(--color-status-ok-fg)}.ui-kpi-down{color:var(--color-status-risk-fg)}.ui-alerts{gap:.5rem;margin:1rem 0 1.5rem;padding:0;list-style:none;display:grid}.ui-alert{border-radius:var(--radius-sm);border:1px solid var(--color-border-sutil);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.65rem .85rem;display:flex}.ui-alert strong{font-size:.9rem;line-height:1.3;display:block}.ui-alert span{color:var(--color-text-secondary);margin-top:.1rem;font-size:.8rem;display:block}.ui-alert-warn{background:var(--color-status-due-bg);border-color:color-mix(in srgb, var(--color-warning) 35%, var(--color-border-sutil))}.ui-alert-risk,.ui-alert-critical{background:var(--color-status-risk-bg);border-color:color-mix(in srgb, var(--color-error) 35%, var(--color-border-sutil))}.ui-alert-watch{background:var(--color-status-due-bg);border-color:color-mix(in srgb, var(--color-warning) 35%, var(--color-border-sutil))}.ui-modal-backdrop{z-index:50;background:color-mix(in srgb, var(--color-surface-dark) 35%, transparent);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.ui-modal{background:var(--color-bg-main);border-radius:var(--radius-md);border:1px solid var(--color-border-sutil);width:min(28rem,100%);max-height:min(90vh,40rem);box-shadow:0 12px 40px color-mix(in srgb, var(--color-surface-dark) 18%, transparent);padding:1rem 1.15rem 1.25rem;overflow:auto}.ui-modal-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.ui-modal-head h2{color:var(--color-text-primary);margin:0;font-size:1.1rem}.ui-back{margin:0 0 .75rem}.ui-back a{color:inherit;opacity:.75;text-decoration:none}.ui-back a:hover{opacity:1;text-decoration:underline}.ui-shell-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.25rem;display:flex}.ui-shell-header h1{margin:0 0 .35rem}.ui-toast{border-radius:var(--radius-sm);background:var(--color-status-neutral-bg);justify-content:space-between;align-items:center;gap:.5rem;margin:.5rem 0 0;padding:.45rem .65rem;font-size:.88rem;display:flex}.ui-toast button{appearance:none;cursor:pointer;opacity:.6;background:0 0;border:0;font-size:1.1rem;line-height:1}.proj-modal-backdrop{z-index:50;background:color-mix(in srgb, var(--color-surface-dark) 35%, transparent);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.proj-modal{background:var(--color-bg-main);border-radius:var(--radius-md);border:1px solid var(--color-border-sutil);width:min(28rem,100%);max-height:min(90vh,40rem);box-shadow:0 12px 40px color-mix(in srgb, var(--color-surface-dark) 18%, transparent);padding:1rem 1.15rem 1.25rem;overflow:auto}.proj-modal-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.proj-modal-head h2{margin:0;font-size:1.1rem}.config-back{margin:0 0 .75rem}.config-back a{color:inherit;opacity:.75;text-decoration:none}.config-back a:hover{opacity:1;text-decoration:underline}.ui-empty{gap:.45rem;display:grid}.ui-empty-reason{color:var(--color-text-primary);margin:0;font-size:.92rem;font-weight:650}.ui-empty .ui-panel-hint{margin:0}.ui-empty-action{margin-top:.25rem}.ui-empty-action .btn{justify-self:start}.ui-section-gap{margin-top:1.75rem}.ui-block+.ui-block{margin-top:1.5rem}.ui-list-skeleton{gap:.6rem;margin-top:.85rem;display:grid}.ui-list-skeleton span{border-radius:var(--radius-sm);background:linear-gradient(90deg, color-mix(in srgb, var(--color-border-sutil) 80%, white), color-mix(in srgb, var(--color-surface-light) 40%, white), color-mix(in srgb, var(--color-border-sutil) 80%, white));background-size:200% 100%;height:.7rem;animation:1.2s ease-in-out infinite ui-skeleton-shimmer;display:block}.ui-list-skeleton span:nth-child(2){width:85%}.ui-list-skeleton span:nth-child(3){width:70%}@keyframes ui-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.ui-search-select{width:100%;min-width:0;position:relative}.ui-search-select-input{box-sizing:border-box;border:1px solid var(--color-border-sutil);border-radius:var(--radius-sm);background:var(--color-panel-bg,#fff);width:100%;color:var(--color-text-primary);font:inherit;padding:.5rem 1.85rem .5rem .7rem;font-size:.92rem;line-height:1.35}.ui-search-select-input:focus{border-color:var(--color-primary);outline:2px solid color-mix(in srgb, var(--color-accent) 45%, transparent);outline-offset:1px}.ui-search-select-input:disabled{opacity:.55;cursor:not-allowed}.ui-search-select-chevron{pointer-events:none;color:var(--color-text-secondary);opacity:.75;font-size:.7rem;position:absolute;top:50%;right:.55rem;transform:translateY(-50%)}.ui-search-select.is-open .ui-search-select-chevron{transform:translateY(-50%)rotate(180deg)}.ui-search-select-list{z-index:40;border:1px solid var(--color-border-sutil);border-radius:var(--radius-sm);background:var(--color-panel-bg,#fff);max-height:14rem;box-shadow:var(--shadow-panel), 0 8px 24px color-mix(in srgb, var(--color-surface-dark) 12%, transparent);margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .25rem);left:0;right:0;overflow:auto}.ui-search-select-option{cursor:pointer;color:var(--color-text-primary);border-radius:.3rem;padding:.45rem .6rem;font-size:.9rem}.ui-search-select-option:hover,.ui-search-select-option.is-active{background:color-mix(in srgb, var(--color-primary) 10%, white)}.ui-search-select-option[aria-selected=true]{font-weight:650}.ui-search-select-empty{color:var(--color-text-secondary);padding:.55rem .6rem;font-size:.85rem}.fb-message{margin:0 0 1rem;font-size:.9rem;line-height:1.45}.fb-message-page{border-radius:var(--radius-sm);border:1px solid #0000;padding:.7rem .95rem}.fb-message-field{margin:.35rem 0 0;font-size:.82rem}.fb-message-error{color:var(--color-status-risk-fg)}.fb-message-page.fb-message-error{background:var(--color-status-risk-bg);border-color:color-mix(in srgb, var(--color-error) 28%, var(--color-border-sutil))}.fb-message-success{color:var(--color-status-ok-fg)}.fb-message-page.fb-message-success{background:var(--color-status-ok-bg);border-color:color-mix(in srgb, var(--color-success) 28%, var(--color-border-sutil))}.fb-message-warning{color:var(--color-status-due-fg)}.fb-message-page.fb-message-warning{background:var(--color-status-due-bg);border-color:color-mix(in srgb, var(--color-warning) 28%, var(--color-border-sutil))}.fb-message-dev{color:#000000a6;white-space:pre-wrap;word-break:break-word;border-top:1px dashed #0000001f;margin-top:.5rem;padding-top:.45rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem}.fb-field{gap:.15rem;display:grid}.infotip{vertical-align:middle;align-items:center;margin-left:.25rem;display:inline-flex;position:relative}.infotip-btn{color:#00000073;cursor:help;background:0 0;border:none;justify-content:center;align-items:center;width:1.15rem;height:1.15rem;padding:0;font-size:.85rem;line-height:1;display:inline-flex}.infotip-btn:hover,.infotip-btn:focus-visible{color:#000000bf;outline:none}.infotip-circled{border:1.5px solid;border-radius:999px;font-size:.7rem;font-weight:600}.infotip-balloon{z-index:40;background:var(--color-surface-dark);min-width:11rem;max-width:18rem;color:var(--color-text-on-dark);box-shadow:0 6px 18px color-mix(in srgb, var(--color-surface-dark) 28%, transparent);pointer-events:none;border-radius:.4rem;padding:.55rem .7rem;font-size:.78rem;line-height:1.35;position:absolute;bottom:calc(100% + .4rem);left:50%;transform:translate(-50%)}.infotip-balloon:after{content:"";border:5px solid #0000;border-top-color:var(--color-surface-dark);margin-left:-5px;position:absolute;top:100%;left:50%}.record-grid{gap:.6rem;display:grid}.record-grid h3,.record-grid-block h3{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.record-grid-legend{font-size:var(--font-size-meta);color:var(--color-text-secondary);margin:0}.record-grid-empty{font-size:var(--font-size-meta);color:var(--color-text-secondary);margin:0;padding:.75rem .5rem}.record-grid-wrap{overflow:auto}.record-grid table{border-collapse:collapse;width:100%;font-size:var(--font-size-meta)}.record-grid th,.record-grid td{border:1px solid var(--color-border-sutil);text-align:left;vertical-align:stretch;padding:0}.record-grid th{background:var(--color-panel-bg-muted);font-weight:var(--font-weight-semibold);white-space:nowrap;padding:.35rem .5rem}.record-grid-th-flag,.record-grid-td-flag{text-align:center;width:3.5rem}.record-grid td input,.record-grid td textarea,.record-grid td select{box-sizing:border-box;width:100%;min-width:6.5rem;font:inherit;color:var(--color-text-primary);background:0 0;border:0;padding:.4rem .5rem;display:block}.record-grid td textarea{resize:vertical;min-height:2.5rem}.record-grid td input:focus,.record-grid td textarea:focus,.record-grid td select:focus{outline:2px solid var(--color-primary);outline-offset:-2px}.record-grid-flag{justify-content:center;align-items:center;min-height:2.2rem;margin:0;display:flex}.record-grid-row-new td{background:color-mix(in srgb, var(--color-text-secondary) 6%, transparent)}.record-grid-row-new td input,.record-grid-row-new td textarea{color:var(--color-text-primary)}.record-grid-row-new td input::placeholder,.record-grid-row-new td textarea::placeholder{color:var(--color-text-secondary)}.factory-form .record-grid input,.factory-form .record-grid textarea,.factory-form .record-grid select,.factory-form .record-grid .ui-search-select-input{background:0 0;border:0;border-radius:0}.record-grid-block{border:1px solid var(--color-border-sutil);border-radius:var(--radius-sm);background:var(--color-panel-bg);gap:.6rem;padding:.85rem 1rem 1rem;display:grid}.record-grid-block>label{font-size:var(--font-size-meta);color:var(--color-text-secondary);gap:.2rem;display:grid}.record-grid-block>label input{font:inherit;color:var(--color-text-primary);border:1px solid var(--color-border-sutil);border-radius:var(--radius-sm);background:var(--color-panel-bg);padding:.35rem .5rem}.crud-form-page-body{max-width:min(52rem,100%);margin-inline:0;padding-bottom:5.5rem}.crud-form-page--wide .crud-form-page-body{max-width:min(60rem,100%)}.crud-form-page .ui-shell-header h1{font-size:var(--font-size-page);font-weight:var(--font-weight-bold)}.crud-form-page .ops-svc-form,.crud-form-page .mock-form{width:100%}.tag-ms{gap:var(--space-2);min-width:0;display:grid}.tag-ms-tags{gap:var(--space-2);min-height:2.25rem;padding:var(--space-2);border:1px solid var(--color-border-sutil);border-radius:var(--radius-sm);background:var(--color-panel-bg,#fff);flex-wrap:wrap;display:flex}.tag-ms-empty{font-size:var(--font-size-meta);color:var(--color-text-secondary,#666);align-self:center}.tag-ms-tag{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-primary) 12%, white);color:var(--color-primary);font-size:var(--font-size-meta);font-weight:var(--font-weight-semibold);align-items:center;gap:.35rem;padding:.2rem .45rem .2rem .55rem;display:inline-flex}.tag-ms-tag-x{color:inherit;cursor:pointer;opacity:.75;background:0 0;border:none;margin:0;padding:0 .2rem;font-size:1.1rem;line-height:1}.tag-ms-tag-x:hover{opacity:1}.tag-ms-toolbar{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.tag-ms-search{border:1px solid var(--color-border-sutil);border-radius:var(--radius-sm);min-width:0;font:inherit;font-size:var(--font-size-body);flex:12rem;padding:.45rem .6rem}.tag-ms-options{border:1px solid var(--color-border-sutil);border-radius:var(--radius-sm);background:var(--color-panel-bg,#fff);gap:.15rem;max-height:12rem;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.tag-ms-option{text-align:left;width:100%;font:inherit;font-size:var(--font-size-label);cursor:pointer;background:0 0;border:none;padding:.45rem .65rem}.tag-ms-option:hover{background:color-mix(in srgb, var(--color-primary) 8%, white)}
