*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{margin:0;min-height:100%}body{background:var(--zp-bg);color:var(--zp-ink);font-family:var(--zp-font);font-size:var(--zp-fs-base);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01","cv11"}img,svg{display:block;max-width:100%}a{color:var(--zp-accent-strong);text-decoration-thickness:1px;text-underline-offset:2px}hr{border:0;border-top:1px solid var(--zp-line);margin:var(--zp-space-4) 0}:focus{outline:none}:focus-visible{outline:2px solid var(--zp-accent);outline-offset:2px;border-radius:6px}::selection{background:var(--zp-accent-soft);color:var(--zp-ink)}[hidden]{display:none!important}.zp-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.zp-skip-link{position:fixed;top:8px;left:8px;z-index:1000;padding:8px 14px;background:var(--zp-surface);color:var(--zp-ink);border-radius:var(--zp-radius-sm);box-shadow:var(--zp-shadow);transform:translateY(-200%)}.zp-skip-link:focus-visible{transform:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}::view-transition-old(root),::view-transition-new(root){animation-duration:.16s}h1,h2,h3,h4{margin:0;color:var(--zp-ink);font-weight:700;letter-spacing:-.015em;line-height:1.2}h1,.zp-h1{font-size:var(--zp-fs-2xl);letter-spacing:-.025em}h2,.zp-h2{font-size:var(--zp-fs-xl)}h3,.zp-h3{font-size:var(--zp-fs-lg);font-weight:650}h4,.zp-h4{font-size:var(--zp-fs-md);font-weight:600}p{margin:0 0 var(--zp-space-3);max-width:72ch}small,.zp-small{font-size:var(--zp-fs-sm)}.zp-muted{color:var(--zp-muted)}.zp-ink-2{color:var(--zp-ink-2)}.zp-mono,code,kbd{font-family:var(--zp-mono);font-size:.92em;letter-spacing:0}code{padding:1px 6px;border-radius:6px;background:var(--zp-surface-2);border:1px solid var(--zp-line)}.zp-num{font-variant-numeric:tabular-nums}.zp-label{display:block;font-size:var(--zp-fs-sm);font-weight:600;color:var(--zp-ink-2)}.zp-prose{line-height:1.65}.zp-prose h1,.zp-prose h2,.zp-prose h3{margin:1.2em 0 .5em}.zp-prose ul,.zp-prose ol{padding-left:1.3em}.zp-prose p{margin-bottom:.8em}.zp-btn{--_bg: var(--zp-surface);--_fg: var(--zp-ink);--_bd: var(--zp-line);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 16px;border:1px solid var(--_bd);border-radius:var(--zp-radius-sm);background:var(--_bg);color:var(--_fg);font:inherit;font-weight:600;font-size:var(--zp-fs-base);line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background-color .15s var(--zp-ease),border-color .15s var(--zp-ease),box-shadow .15s var(--zp-ease),transform .12s var(--zp-ease)}.zp-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--_bd) 60%,var(--zp-ink-2))}.zp-btn:active:not(:disabled){transform:translateY(1px)}.zp-btn:focus-visible{outline:none;box-shadow:var(--zp-focus)}.zp-btn:disabled,.zp-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.zp-btn--primary{--_bg: var(--zp-accent);--_fg: #fff;--_bd: var(--zp-accent);box-shadow:0 4px 12px #14a88f47}.zp-btn--primary:hover:not(:disabled){--_bg: var(--zp-accent-strong);--_bd: var(--zp-accent-strong)}.zp-btn--danger{--_bg: var(--zp-danger);--_fg: #fff;--_bd: var(--zp-danger)}.zp-btn--danger:hover:not(:disabled){filter:brightness(.94)}.zp-btn--ghost{--_bg: transparent;--_bd: transparent}.zp-btn--ghost:hover:not(:disabled){--_bg: var(--zp-surface-2);--_bd: transparent}.zp-btn--soft{--_bg: var(--zp-accent-soft);--_fg: var(--zp-accent-strong);--_bd: transparent}.zp-btn--sim{--_bg: var(--zp-sim-soft);--_fg: var(--zp-sim);--_bd: transparent}.zp-btn--sm{min-height:30px;padding:0 10px;font-size:var(--zp-fs-sm);gap:6px}.zp-btn--lg{min-height:48px;padding:0 22px;font-size:var(--zp-fs-md)}.zp-btn--icon{width:38px;padding:0}.zp-btn--icon.zp-btn--sm{width:30px}.zp-btn--block{width:100%}.zp-btn-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.zp-link-btn{background:none;border:0;padding:0;color:var(--zp-accent-strong);font:inherit;font-weight:600;cursor:pointer}.zp-link-btn:hover{text-decoration:underline}.zp-field{display:flex;flex-direction:column;gap:6px;min-width:0}.zp-field>label,.zp-field>.zp-field__label{font-size:var(--zp-fs-sm);font-weight:600;color:var(--zp-ink-2)}.zp-field .zp-req:after{content:" *";color:var(--zp-danger)}.zp-field__hint{font-size:var(--zp-fs-xs);color:var(--zp-muted)}.zp-field__error{display:flex;gap:6px;align-items:center;font-size:var(--zp-fs-xs);font-weight:600;color:var(--zp-danger)}.zp-input,.zp-select,.zp-textarea{width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--zp-line);border-radius:var(--zp-radius-sm);background:var(--zp-surface);color:var(--zp-ink);font:inherit;font-size:var(--zp-fs-base);transition:border-color .15s var(--zp-ease),box-shadow .15s var(--zp-ease)}.zp-input::placeholder,.zp-select::placeholder,.zp-textarea::placeholder{color:var(--zp-muted);opacity:.8}.zp-input:hover:not(:disabled),.zp-select:hover:not(:disabled),.zp-textarea:hover:not(:disabled){border-color:color-mix(in srgb,var(--zp-line) 50%,var(--zp-muted))}.zp-input:focus,.zp-input:focus-visible,.zp-select:focus,.zp-select:focus-visible,.zp-textarea:focus,.zp-textarea:focus-visible{outline:none;border-color:var(--zp-accent);box-shadow:var(--zp-focus)}.zp-input:disabled,.zp-select:disabled,.zp-textarea:disabled{background:var(--zp-surface-2);color:var(--zp-muted)}.zp-input[aria-invalid=true],.zp-input.is-invalid,.zp-select[aria-invalid=true],.zp-select.is-invalid,.zp-textarea[aria-invalid=true],.zp-textarea.is-invalid{border-color:var(--zp-danger)}.zp-select{appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%236B7A8C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.zp-textarea{min-height:96px;resize:vertical;line-height:1.5}.zp-input--mono{font-family:var(--zp-mono);font-size:var(--zp-fs-sm)}.zp-check{display:inline-flex;align-items:flex-start;gap:10px;cursor:pointer;line-height:1.4}.zp-check input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--zp-accent)}.zp-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--zp-space-4)}.zp-form-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.zp-form-grid .zp-span-all{grid-column:1/-1}@media(max-width:640px){.zp-form-grid--2{grid-template-columns:1fr}}.zp-fieldset{border:0;padding:0;margin:0 0 var(--zp-space-6)}.zp-fieldset legend{padding:0;margin-bottom:var(--zp-space-3);font-weight:700;font-size:var(--zp-fs-md)}.zp-search{position:relative}.zp-search .zp-input{padding-left:36px}.zp-search zp-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--zp-muted);pointer-events:none}.zp-toolbar{display:flex;flex-wrap:wrap;gap:var(--zp-space-3);align-items:flex-end;margin-bottom:var(--zp-space-4)}.zp-toolbar>.zp-field{min-width:160px}.zp-toolbar .zp-spacer{flex:1}.zp-table-wrap{overflow-x:auto;border:1px solid var(--zp-line);border-radius:var(--zp-radius);background:var(--zp-surface)}.zp-table{width:100%;border-collapse:collapse;font-size:var(--zp-fs-base)}.zp-table th,.zp-table td{padding:11px 14px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--zp-line)}.zp-table th{position:sticky;top:0;background:var(--zp-surface-2);color:var(--zp-ink-2);font-size:var(--zp-fs-xs);font-weight:600;white-space:nowrap}.zp-table tbody tr{transition:background-color .12s var(--zp-ease)}.zp-table tbody tr:hover{background:color-mix(in srgb,var(--zp-accent-soft) 40%,transparent)}.zp-table tbody tr:last-child td{border-bottom:0}.zp-table tbody tr.is-selected{background:var(--zp-accent-soft)}.zp-table tbody tr.is-clickable{cursor:pointer}.zp-table .zp-col-actions{text-align:right;white-space:nowrap;width:1%}.zp-table .zp-col-num{text-align:right;font-variant-numeric:tabular-nums}@media(max-width:760px){.zp-table thead{display:none}.zp-table tbody,.zp-table tr,.zp-table td{display:block;width:100%}.zp-table tr{padding:10px 14px;border-bottom:1px solid var(--zp-line)}.zp-table td{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border:0;text-align:right}.zp-table td:before{content:attr(data-label);color:var(--zp-muted);font-size:var(--zp-fs-xs);font-weight:600;text-align:left}.zp-table td.zp-col-actions{width:100%;justify-content:flex-end;padding-top:8px}.zp-table td.zp-col-actions:before{content:none}}.zp-card{background:var(--zp-surface);border-radius:var(--zp-radius-lg);box-shadow:var(--zp-shadow-sm);border:1px solid color-mix(in srgb,var(--zp-line) 70%,transparent);padding:var(--zp-space-5);min-width:0}.zp-card--flush{padding:0}.zp-card--raised{box-shadow:var(--zp-shadow);border-color:transparent}.zp-card--inset{background:var(--zp-surface-2);box-shadow:none}.zp-card--sim{background:var(--zp-sim-soft);border:1px dashed color-mix(in srgb,var(--zp-sim) 45%,transparent);box-shadow:none}.zp-card--warn{background:var(--zp-warn-soft);border-color:color-mix(in srgb,var(--zp-warn) 35%,transparent);box-shadow:none}.zp-card--danger{background:var(--zp-danger-soft);border-color:color-mix(in srgb,var(--zp-danger) 35%,transparent);box-shadow:none}.zp-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--zp-space-3);margin-bottom:var(--zp-space-4)}.zp-card__head h2,.zp-card__head h3{font-size:var(--zp-fs-md);font-weight:700}.zp-callout{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:var(--zp-radius);background:var(--zp-info-soft);color:var(--zp-ink);font-size:var(--zp-fs-sm);line-height:1.5}.zp-callout>zp-icon{flex:none;color:var(--zp-info);margin-top:1px}.zp-callout p:last-child{margin:0}.zp-callout--warn{background:var(--zp-warn-soft)}.zp-callout--warn>zp-icon{color:var(--zp-warn)}.zp-callout--danger{background:var(--zp-danger-soft)}.zp-callout--danger>zp-icon{color:var(--zp-danger)}.zp-callout--ok{background:var(--zp-ok-soft)}.zp-callout--ok>zp-icon{color:var(--zp-ok)}.zp-callout--sim{background:var(--zp-sim-soft)}.zp-callout--sim>zp-icon{color:var(--zp-sim)}.zp-dl{display:grid;grid-template-columns:minmax(110px,max-content) 1fr;gap:8px 16px;margin:0}.zp-dl dt{color:var(--zp-muted);font-size:var(--zp-fs-sm)}.zp-dl dd{margin:0;min-width:0;overflow-wrap:anywhere}.zp-list{list-style:none;margin:0;padding:0}.zp-list>li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--zp-line)}.zp-list>li:last-child{border-bottom:0}.zp-avatar{flex:none;display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--zp-accent-soft);color:var(--zp-accent-strong);font-weight:700;font-size:var(--zp-fs-sm)}.zp-avatar--visitor{background:var(--zp-info-soft);color:var(--zp-info)}.zp-avatar--contractor{background:var(--zp-warn-soft);color:var(--zp-warn)}.zp-secret{display:flex;gap:8px;align-items:center;padding:10px 12px;border-radius:var(--zp-radius-sm);background:var(--zp-surface-2);border:1px dashed var(--zp-line);font-family:var(--zp-mono);font-size:var(--zp-fs-sm);overflow-wrap:anywhere}.zp-secret>span{flex:1;min-width:0}.zp-page{padding:var(--zp-space-6) var(--zp-space-8) var(--zp-space-10);max-width:1480px;margin:0 auto;width:100%}@media(max-width:900px){.zp-page{padding:var(--zp-space-4) var(--zp-space-4) calc(var(--zp-bottomnav-h) + var(--zp-space-6))}}.zp-page--wide{max-width:none}.zp-page--narrow{max-width:920px}.zp-stack{display:flex;flex-direction:column;gap:var(--zp-space-4)}.zp-stack--sm{gap:var(--zp-space-2)}.zp-stack--lg{gap:var(--zp-space-6)}.zp-row{display:flex;align-items:center;gap:var(--zp-space-3);flex-wrap:wrap}.zp-row--between{justify-content:space-between}.zp-row--nowrap{flex-wrap:nowrap}.zp-row--start{align-items:flex-start}.zp-grid{display:grid;gap:var(--zp-space-4)}.zp-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.zp-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.zp-grid--kpi{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}@media(max-width:640px){.zp-grid--kpi{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--zp-space-3)}}.zp-grid--cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}@media(max-width:1100px){.zp-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.zp-grid--2,.zp-grid--3{grid-template-columns:1fr}}.zp-split{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:var(--zp-space-4);align-items:start}@media(max-width:1180px){.zp-split{grid-template-columns:1fr}}.zp-stage{background:var(--zp-stage-gradient);border-radius:var(--zp-radius-lg);overflow:hidden;position:relative}.zp-chip{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:2px 10px;border-radius:999px;background:var(--zp-surface-2);border:1px solid var(--zp-line);color:var(--zp-ink-2);font-size:var(--zp-fs-xs);font-weight:600;line-height:1.3;white-space:nowrap}.zp-chip--accent{background:var(--zp-accent-soft);border-color:transparent;color:var(--zp-accent-strong)}.zp-chip--zone{border-color:transparent;background:color-mix(in srgb,var(--_zone, var(--zp-zone-public)) 22%,var(--zp-surface));color:var(--zp-ink)}.zp-chip--zone:before{content:"";width:8px;height:8px;border-radius:2px;background:var(--_zone, var(--zp-zone-public))}.zp-chip-list{display:flex;flex-wrap:wrap;gap:6px}.zp-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}.zp-mt-0{margin-top:0!important}.zp-mt-2{margin-top:var(--zp-space-2)}.zp-mt-4{margin-top:var(--zp-space-4)}.zp-mt-6{margin-top:var(--zp-space-6)}.zp-mb-0{margin-bottom:0!important}.zp-mb-2{margin-bottom:var(--zp-space-2)}.zp-mb-4{margin-bottom:var(--zp-space-4)}.zp-mb-6{margin-bottom:var(--zp-space-6)}.zp-grow{flex:1;min-width:0}.zp-nowrap{white-space:nowrap}.zp-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.zp-right{text-align:right}.zp-center{text-align:center}@media(max-width:900px){.zp-hide-mobile{display:none!important}}@media(min-width:901px){.zp-only-mobile{display:none!important}}.zp-tone-ok{color:var(--zp-ok)}.zp-tone-warn{color:var(--zp-warn)}.zp-tone-danger{color:var(--zp-danger)}.zp-tone-info{color:var(--zp-info)}.zp-tone-sim{color:var(--zp-sim)}@keyframes zp-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes zp-spin{to{transform:rotate(360deg)}}@keyframes zp-pop-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes zp-pulse{0%,to{opacity:1}50%{opacity:.35}}.zp-spinner{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:zp-spin .7s linear infinite}@media print{@page{margin:12mm}body{background:#fff!important}body *{visibility:hidden}.zp-print-area,.zp-print-area *{visibility:visible}.zp-print-area{position:absolute;inset:0 auto auto 0;width:100%;box-shadow:none!important}.zp-no-print{display:none!important}}:root{--zp-font: "Plus Jakarta Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--zp-mono: "JetBrains Mono", ui-monospace, "Cascadia Code", monospace;--zp-stage: #8e9bae;--zp-stage-2: #7c8a9e;--zp-bg: #eef1f5;--zp-surface: #ffffff;--zp-surface-2: #f6f8fa;--zp-ink: #1e2b38;--zp-ink-2: #4a5a6b;--zp-muted: #6b7a8c;--zp-line: #e1e6ec;--zp-accent: #14a88f;--zp-accent-strong: #0e8a75;--zp-accent-soft: #ddf6ef;--zp-mint: #5be3c4;--zp-accent-gradient: linear-gradient(135deg, #5be3c4 0%, #16b394 100%);--zp-warm-gradient: linear-gradient(135deg, #ffc58a 0%, #ff8a6b 100%);--zp-ok: #1f9d55;--zp-ok-soft: #e1f5e9;--zp-warn: #c27c0e;--zp-warn-soft: #fdf1dc;--zp-danger: #d64545;--zp-danger-soft: #fbe5e5;--zp-info: #2f7dd1;--zp-info-soft: #e3effb;--zp-sim: #8b5cf6;--zp-sim-soft: #efe9fe;--zp-zone-public: #5be3c4;--zp-zone-internal: #7fb2f0;--zp-zone-restricted: #f2b36b;--zp-zone-secure: #f07b7b;--zp-zone-outdoor: #a6d785;--zp-radius: 12px;--zp-radius-sm: 10px;--zp-radius-lg: 16px;--zp-radius-xl: 20px;--zp-shadow-sm: 0 1px 2px rgba(30, 43, 56, .06), 0 1px 3px rgba(30, 43, 56, .08);--zp-shadow: 0 8px 24px rgba(30, 43, 56, .1), 0 2px 6px rgba(30, 43, 56, .06);--zp-shadow-lg: 0 24px 48px rgba(30, 43, 56, .16), 0 4px 12px rgba(30, 43, 56, .08);--zp-ease: cubic-bezier(.2, .7, .2, 1);--zp-rail-w: 232px;--zp-rail-w-collapsed: 72px;--zp-topbar-h: 60px;--zp-bottomnav-h: 64px;--zp-fs-xs: 12px;--zp-fs-sm: 13px;--zp-fs-base: 14px;--zp-fs-md: 16px;--zp-fs-lg: 18px;--zp-fs-xl: 22px;--zp-fs-2xl: 28px;--zp-fs-3xl: 36px;--zp-space-1: 4px;--zp-space-2: 8px;--zp-space-3: 12px;--zp-space-4: 16px;--zp-space-5: 20px;--zp-space-6: 24px;--zp-space-8: 32px;--zp-space-10: 40px;--zp-focus: 0 0 0 3px rgba(20, 168, 143, .35);--zp-overlay: rgba(20, 28, 38, .42);--zp-kpi-teal: linear-gradient(135deg, #5be3c4 0%, #14a88f 100%);--zp-kpi-blue: linear-gradient(135deg, #8cc4ff 0%, #3f86e0 100%);--zp-kpi-warm: linear-gradient(135deg, #ffc58a 0%, #ff8a6b 100%);--zp-kpi-rose: linear-gradient(135deg, #ff9fa8 0%, #e2566a 100%);--zp-kpi-violet: linear-gradient(135deg, #c3a8ff 0%, #8b5cf6 100%);--zp-stage-gradient: linear-gradient(160deg, var(--zp-stage) 0%, var(--zp-stage-2) 100%);color-scheme:light}:root[data-theme=dark]{--zp-stage: #2a3442;--zp-stage-2: #222b37;--zp-bg: #121821;--zp-surface: #1b2430;--zp-surface-2: #222c39;--zp-ink: #e8edf3;--zp-ink-2: #b9c4d0;--zp-muted: #93a1b1;--zp-line: #2e3a49;--zp-accent-soft: #123d36;--zp-ok-soft: #133524;--zp-warn-soft: #3a2c12;--zp-danger-soft: #3d1c1c;--zp-info-soft: #16304d;--zp-sim-soft: #2a1f47;--zp-accent-strong: #3fd1b4;--zp-ok: #3cc07a;--zp-warn: #e3a23c;--zp-danger: #f07272;--zp-info: #6aa8f0;--zp-sim: #a98bfa;--zp-overlay: rgba(4, 8, 14, .6);--zp-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--zp-shadow: 0 8px 24px rgba(0, 0, 0, .35), 0 2px 6px rgba(0, 0, 0, .25);--zp-shadow-lg: 0 24px 48px rgba(0, 0, 0, .45), 0 4px 12px rgba(0, 0, 0, .3);color-scheme:dark}
