:root{--color-primary: #0d1b2e;--color-primary-light: #1a2f4e;--color-accent: #c0157a;--color-success: #16a34a;--color-warning: #d97706;--color-danger: #dc2626;--color-bg: #f4f5f7;--color-surface: #ffffff;--color-border: #e0e2e7;--color-text: #1a2332;--color-text-muted: #8b92a5;--color-text-secondary: #374151;--color-text-faint: #9ca3b0;--color-success-dark: #1a8a45;--color-warning-dark: #c06a00;--color-danger-dark: #b91c1c;--color-info: #3b82f6;--color-purple: #7c3aed;--color-teal: #0d9488;--color-bg-subtle: #fafbfc;--color-bg-soft: #f0f4f8;--color-border-light: #f0f1f4;--color-text-soft: #5b6475;--color-danger-bg: #fef2f2;--color-danger-border: #fecaca;--color-warning-bg: #fffbeb;--color-warning-border: #fde68a;--color-success-bg: #e8f9ef;--color-success-border: #b8e6c8;--color-info-bg: #e8f0fe;--color-purple-bg: #efe8ff;--color-accent-bg: #fde8f0;--color-accent-border: #f9c6e0;--radius: 12px;--shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;height:100%}body{font-family:var(--font);background:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased;height:100%;overscroll-behavior:none}#root{min-height:100dvh;background:var(--color-bg)}.status-perspective{background:var(--color-info-bg);color:var(--color-info)}.status-active{background:var(--color-success-bg);color:var(--color-success)}.status-suspended{background:var(--color-warning-bg);color:var(--color-warning-dark)}.status-closed{background:var(--color-bg-soft);color:var(--color-text-soft)}.status-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600}table{width:100%;border-collapse:collapse}th,td{padding:var(--cell-py, 8px) var(--cell-px, 12px);text-align:left;border-bottom:1px solid var(--color-border)}td{font-size:var(--cell-font, 13px);font-variant-numeric:tabular-nums}th{background:var(--color-bg-subtle);font-weight:600;font-size:11px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}tr:hover td{background:var(--color-bg-subtle)}.table-compact{--cell-py: 4px;--cell-px: 10px;--cell-font: 13px;line-height:1.35}.table-compact th{position:sticky;top:-24px;z-index:2;padding-top:7px;padding-bottom:7px}.registry-table{--cell-py: 6px;--cell-px: 8px;--cell-font: 12px}.registry-table th{font-size:10.5px;letter-spacing:.02em;white-space:normal;vertical-align:bottom}.icon-btn{width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--color-border);background:#fff;color:var(--color-text-muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.icon-btn:hover{background:var(--color-bg-soft);color:var(--color-primary)}.icon-btn--warn:hover{background:var(--color-warning-bg);color:var(--color-warning-dark);border-color:var(--color-warning-border)}.icon-btn--ok{color:var(--color-success-dark)}.icon-btn--ok:hover{background:var(--color-success-bg);color:var(--color-success-dark);border-color:var(--color-success-border)}.icon-btn--danger:hover{background:var(--color-accent-bg);color:var(--color-accent);border-color:var(--color-accent-border)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:var(--radius);font-size:14px;font-weight:500;cursor:pointer;transition:opacity .15s}.btn:hover{opacity:.85}.btn-primary{background:var(--color-accent);color:#fff}.btn-secondary{background:var(--color-border-light);color:var(--color-text);border:1px solid var(--color-border)}.btn-danger{background:var(--color-danger);color:#fff}.btn-sm{padding:4px 10px;font-size:13px}.btn-outline{background:transparent;color:var(--color-accent);border:1px solid var(--color-accent)}.card{background:var(--color-surface);border-radius:var(--radius);border:.5px solid var(--color-border);box-shadow:var(--shadow);padding:20px}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}input,select,textarea{width:100%;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:14px;font-family:var(--font);color:var(--color-text);background:var(--color-surface)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #c0157a1a}label{display:block;font-size:13px;font-weight:500;margin-bottom:4px;color:var(--color-text-muted)}.nav-arrow{display:flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;border:.5px solid var(--color-border);border-radius:6px;background:#fff;color:var(--color-text-muted);cursor:pointer;transition:border-color .15s,color .15s}.nav-arrow:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.nav-arrow:disabled{opacity:.3;cursor:not-allowed}.sidebar-user{display:flex;align-items:center;gap:10px;padding:12px 14px;border-top:1px solid rgba(255,255,255,.07)}.sidebar-user__logout{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border:none;background:transparent;cursor:pointer;color:#ffffffb3;border-radius:8px;opacity:0;transition:opacity .2s ease,background .15s,color .15s}.sidebar-user:hover .sidebar-user__logout{opacity:1}.sidebar-user__logout:hover{background:#c0157a26;color:var(--color-accent)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--color-surface);border-radius:var(--radius);padding:24px;width:480px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0003}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-header h2{font-size:18px}.modal-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--color-text-muted)}:root{--modal-sm: 400px;--modal-md: 480px;--modal-lg: 720px;--modal-xl: 900px;--modal-padding: 24px;--modal-backdrop: rgba(0, 0, 0, .4)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-backdrop);display:flex;align-items:center;justify-content:center;padding:16px;z-index:1000}.modal-backdrop.modal-level-2{z-index:1100}.modal{background:var(--color-surface);border-radius:var(--radius);box-shadow:0 8px 32px #0003;padding:var(--modal-padding);width:100%;max-height:calc(100dvh - 32px);overflow-y:auto}.modal-sm{max-width:var(--modal-sm)}.modal-md{max-width:var(--modal-md)}.modal-lg{max-width:var(--modal-lg)}.modal-xl{max-width:var(--modal-xl)}
