:root{--radius: .625rem;--background: #ffffff;--foreground: #0a0a0a;--muted: #f5f5f5;--muted-foreground: #737373;--accent: #f5f5f5;--destructive: #e7000b;--border: #e5e5e5;--input: #e5e5e5;--ring: #a1a1a1;--sipnav-primary: #0a223b;--sipnav-secondary: #f2f5ff;--main-background: #f2f5ff;--sidebar-background: #0a223b;--topbar-background: #f2f5ff;--forms-background: #ffffff;--forms-titles: #0a223b;--forms-text: #0a223b;--common-buttons-background: #0a223b;--common-buttons-text: #ffffff;--common-inputs-background: #ffffff;--common-inputs-border: #e0e0e0;--common-inputs-text: #0a223b;--common-inputs-titles: #0a223b;--common-inputs-active: #d4a527;--tables-header-background: #f2f5ff;--tables-header-text: #0a223b;--tables-body-background: #ffffff;--tables-body-text: #000000;--links-color: #00315b;--links-color-strong: #3d6aff;--separator-gray: #e0e0e0;--gray-placeholder-text: #cccccc;--enabled-color: #0d730d;--disabled-color: #9e9e9e;--black-70: #7a7a7a;color:var(--foreground);background:var(--main-background);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;background:var(--main-background);color:var(--foreground)}.app-shell{min-height:100vh;background:var(--main-background)}.app-shell.app-shell--login{background:var(--accent);display:flex;flex-direction:column}.app-header{display:flex;gap:1rem;align-items:baseline;padding:.85rem 1.25rem;background:var(--sidebar-background);color:var(--common-buttons-text)}.app-header .muted{opacity:.75;font-size:.9rem;color:#dadada}.app-main{max-width:960px;margin:1.5rem auto;padding:0 1rem}.app-shell--login .app-main{flex:1;display:flex;align-items:center;justify-content:center;max-width:none;margin:0;padding:1.5rem 1rem;width:100%}.panel{background:var(--forms-background);border:1px solid var(--separator-gray);border-radius:var(--radius);padding:1.25rem;box-shadow:0 1px 2px #0a223b0a}.login-panel{width:min(28rem,90dvw);min-height:18rem;padding:1.5rem;border-radius:calc(var(--radius) + .25rem);border:none;box-shadow:0 10px 30px -5px #00000040,0 -10px 30px -5px #00000026}.login-panel h1{text-align:center;font-size:1.25rem;font-weight:600;color:var(--forms-titles)}.login-panel>.muted{text-align:center;font-size:.875rem}.panel h1{margin-top:0;font-size:1.35rem;color:var(--forms-titles)}.panel h2{margin-top:1.5rem;font-size:1.1rem;color:var(--forms-titles)}label{display:block;margin:.75rem 0 .25rem;font-weight:600;color:var(--common-inputs-titles);font-size:.9rem}label.checkbox-row{display:flex;align-items:center;gap:.5rem;font-weight:600;margin-top:1rem}input,select,.combobox-input{width:100%;max-width:24rem;height:2.25rem;padding:.5rem .75rem;border:1px solid var(--common-inputs-border);border-radius:calc(var(--radius) - 2px);background:var(--common-inputs-background);color:var(--common-inputs-text);font-size:.95rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease}input::placeholder,.combobox-input::placeholder{color:var(--gray-placeholder-text)}input:focus,select:focus,.combobox-input:focus{border-color:var(--common-inputs-active);box-shadow:0 0 0 3px #d4a52740}input:disabled,.combobox-input:disabled{background:var(--muted);color:var(--black-70);cursor:not-allowed;opacity:.85}.login-panel input,.login-panel select,.login-panel .combobox-input{max-width:none}.combobox{position:relative;max-width:24rem}.combobox-list{position:absolute;z-index:20;left:0;right:0;margin:0;padding:0;list-style:none;max-height:14rem;overflow:auto;background:var(--forms-background);border:1px solid var(--common-inputs-border);border-radius:calc(var(--radius) - 2px);box-shadow:0 4px 12px #0a223b1f}.combobox-option{display:block;width:100%;margin:0;padding:.45rem .6rem;border:0;border-radius:0;background:transparent;color:var(--foreground);text-align:left;font-size:.95rem;cursor:pointer}.combobox-option:hover,.combobox-option:focus{background:var(--sipnav-secondary)}.combobox-empty{padding:.5rem .6rem}.field-hint{margin:.2rem 0 0;font-size:.85rem;max-width:24rem}label.checkbox-row input{width:auto;max-width:none;height:auto;box-shadow:none}button,.button-link{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;margin-top:1rem;min-height:2.25rem;padding:.5rem 1rem;border:1px solid var(--common-buttons-background);border-radius:calc(var(--radius) - 2px);background:var(--common-buttons-background);color:var(--common-buttons-text);cursor:pointer;text-decoration:none;font-size:.875rem;font-weight:400;transition:background .15s ease,opacity .15s ease}button:hover,.button-link:hover{background:#0c2d4f}button:disabled{opacity:.5;cursor:not-allowed}.login-panel button[type=submit]{width:100%;margin-top:1.25rem}.toolbar button,.toolbar .button-link{margin-top:0}button.secondary{background:var(--background);color:var(--common-buttons-background)}button.secondary:hover{background:var(--sipnav-secondary)}.error{color:var(--destructive);margin-top:.75rem}.info{color:var(--links-color);margin-top:.75rem}.toolbar{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem 1.25rem;margin-bottom:1rem}.filters-grid .combobox,.filters-grid .combobox-input{max-width:none;width:100%}.pagination{margin-top:1rem}.table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;background:var(--tables-body-background);color:var(--tables-body-text)}th,td{border-bottom:1px solid var(--separator-gray);text-align:left;padding:.5rem .4rem;font-size:.95rem}th{background:var(--tables-header-background);color:var(--tables-header-text);font-weight:600}th.sortable-th{padding:.25rem}.sort-header-btn{display:inline-flex;align-items:center;gap:.35rem;width:100%;margin:0;padding:.35rem .25rem;border:none;border-radius:0;background:transparent;color:inherit;font:inherit;font-weight:600;text-align:left;cursor:pointer;min-height:0}.sort-header-btn:hover{color:var(--links-color);background:transparent}th.sortable-th.sort-asc .sort-header-btn,th.sortable-th.sort-desc .sort-header-btn{color:var(--links-color)}.sort-indicator{font-size:.7rem;color:var(--muted-foreground)}th.sortable-th.sort-asc .sort-indicator,th.sortable-th.sort-desc .sort-indicator{color:var(--links-color)}table a{color:var(--links-color);font-weight:600}table a:hover{color:var(--links-color-strong)}.muted{color:var(--muted-foreground)}
