:root{--citiq-green: #79c000;--citiq-green-dark: #3a6b00;--citiq-green-light: #92e800;--citiq-dark-green: #042222;--citiq-deep-black: #021a1a;--citiq-grey: #58595b;--citiq-white: #f9ffff;--bg: var(--citiq-white);--surface: #ffffff;--border: #dde6e4;--border-strong: #c5d1cf;--text: var(--citiq-deep-black);--muted: var(--citiq-grey);--primary: var(--citiq-green);--primary-hover: var(--citiq-green-light);--primary-contrast: var(--citiq-deep-black);--primary-strong: var(--citiq-green-dark);--primary-soft: #f2fae4;--primary-border: #cbe89a;--danger: #d92d20;--danger-hover: #b42318;--radius: .75rem;--radius-sm: .5rem;--shadow-sm: 0 1px 2px rgb(2 26 26 / .05);--shadow-md: 0 8px 24px -12px rgb(2 26 26 / .18);--shadow-lg: 0 24px 48px -12px rgb(2 26 26 / .25);--ring: 0 0 0 3px rgb(121 192 0 / .28);--sidebar-width: 15rem;--topbar-height: 4rem}html,body{height:100%}body{margin:0;font-family:Inter,Open Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}.app-stack{display:flex;flex-direction:column;gap:1.5rem}.app-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-sm)}.app-card__title{margin:0 0 1rem;font-size:1rem;font-weight:600;letter-spacing:-.01em}.app-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.app-row--between{justify-content:space-between}.app-muted,.app-status{color:var(--muted)}.app-dl{display:grid;grid-template-columns:max-content 1fr;gap:.625rem 1.5rem;margin:0}.app-dl dt{color:var(--muted);font-size:.875rem}.app-dl dd{margin:0;overflow-wrap:anywhere}.app-button{font:inherit;font-weight:500;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);padding:.5rem .875rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.375rem;box-shadow:var(--shadow-sm);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .05s ease}.app-button:hover:not(:disabled){background:var(--bg);border-color:var(--border-strong)}.app-button:active:not(:disabled){transform:translateY(1px)}.app-button:focus-visible{outline:2px solid var(--primary-strong);outline-offset:2px}.app-button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.app-button--primary{background:var(--primary);border-color:var(--primary);color:var(--primary-contrast);font-weight:600}.app-button--primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.app-button--danger{background:var(--danger);border-color:var(--danger);color:#fff}.app-button--danger:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover)}.app-link{color:var(--primary-strong);text-decoration:none;font-weight:500}.app-link:hover{text-decoration:underline}.app-field{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1rem}.app-label{font-size:.875rem;font-weight:500}.app-optional{color:var(--muted);font-weight:400}.app-input,.app-textarea,.app-select{font:inherit;min-height:2.5rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.5rem .625rem;background:var(--surface);color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}.app-input:focus,.app-textarea:focus,.app-select:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.app-input--invalid,.app-textarea--invalid{border-color:var(--danger)}.app-input--invalid:focus,.app-textarea--invalid:focus{box-shadow:0 0 0 3px #d92d2024}.app-textarea{min-height:6rem;resize:vertical}.app-help{font-size:.8125rem;line-height:1.5;color:var(--muted)}.app-error-text{font-size:.8125rem;color:var(--danger-hover)}.app-counter{align-self:flex-end;font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}.app-counter--over{color:var(--danger-hover)}.app-notice{border:1px solid #fda29b;background:#fef3f2;border-radius:var(--radius-sm);padding:.75rem 1rem}.app-notice__code{font-family:ui-monospace,monospace;font-size:.75rem;color:var(--muted)}.app-notice--info{border-color:var(--primary-border);background:var(--primary-soft)}.app-table-scroll{overflow-x:auto;border-radius:var(--radius)}.app-table-scroll>.app-table{min-width:44rem}.app-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.9375rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.app-table th,.app-table td{text-align:left;padding:.75rem 1rem;border-bottom:1px solid var(--border);vertical-align:middle}.app-table th{font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;background:var(--bg)}.app-table tbody tr:last-child td{border-bottom:none}.app-table tbody tr:hover td{background:var(--primary-soft)}.app-modal-backdrop{position:fixed;inset:0;background:#021a1a80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.app-modal{background:var(--surface);border-radius:var(--radius);padding:1.25rem;width:min(32rem,100%);display:flex;flex-direction:column;gap:1rem;box-shadow:var(--shadow-lg)}.app-modal h2{margin:0;font-size:1.125rem;letter-spacing:-.01em}.app-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-skeleton{display:block;height:.875rem;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--border) 25%,#eef4f2 37%,var(--border) 63%);background-size:400% 100%;animation:app-shimmer 1.4s ease infinite}.app-skeleton--title{height:1.5rem;width:40%}.app-skeleton--short{width:30%}.app-skeleton--medium{width:60%}.app-skeleton--pill{height:1.375rem;width:5rem;border-radius:999px}.app-skeleton--field{height:2.5rem}.app-skeleton-stack{display:flex;flex-direction:column;gap:.75rem}@keyframes app-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.app-spinner{display:inline-block;flex:none;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:999px;animation:app-spin .7s linear infinite}@keyframes app-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.app-skeleton{animation:none}.app-spinner{animation-duration:2s}}
