@charset "UTF-8";:root{--color-primary: #003A46;--color-accent: #0097A7;--color-highlight: #4DD0E1;--color-text-dark: #1C1C1C;--color-text-light: #FFFFFF;--color-bg-light: #F5F9FA}body{font-family:Segoe UI,Arial,sans-serif;margin:0;background:var(--color-bg-light);color:var(--color-text-dark)}.layout{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--color-primary);color:var(--color-text-light);padding:20px 0;display:flex;flex-direction:column}.sidebar header{display:flex;align-items:center;padding:0 20px 20px}.sidebar header img{height:40px;margin-right:10px}.sidebar header h2{font-size:1.2rem;margin:0}.sidebar nav{flex-grow:1;display:flex;flex-direction:column}.sidebar nav a{padding:12px 20px;color:var(--color-text-light);text-decoration:none;transition:background .2s ease}.sidebar nav a:hover,.sidebar nav a.active{background:var(--color-accent)}.sidebar .btn--ghost{color:#fff;border-color:#ffffff59}.sidebar .btn--ghost:hover{background:#ffffff14}.sidebar .btn--ghost:focus-visible{outline-color:#fff9}.content{flex:1;padding:30px}.content .app-container{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 12px #00000014}.table-card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;border:1px solid #e5e7eb}.table-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e5e7eb}.table-count{font-size:.9rem;color:#6b7280}.table-responsive{width:100%;overflow:auto;border-bottom-left-radius:12px;border-bottom-right-radius:12px}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:.95rem}.table thead th{position:sticky;top:0;z-index:1;background:#f8fafc;color:#334155;text-align:left;font-weight:600;letter-spacing:.02em;padding:12px 16px;border-bottom:1px solid #e5e7eb}.table tbody td{padding:12px 16px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.table.zebra tbody tr:nth-child(2n){background:#f9fbfc}.table.hover tbody tr:hover{background:#4dd0e11f}.table .col-actions{width:1%;white-space:nowrap;text-align:right}.table td.empty{text-align:center;color:#6b7280;padding:24px 16px}.truncate{max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .9rem;border-radius:8px;border:1px solid transparent;background:#fff;color:var(--color-primary);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.btn:hover{background:#f3f4f6}.btn:focus-visible{outline:3px solid rgba(77,208,225,.5);outline-offset:2px}.btn--primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn--primary:hover{filter:brightness(.95)}.btn--danger{background:#fee2e2;color:#b91c1c;border-color:#fecaca}.btn--danger:hover{background:#fecaca}.btn--ghost{background:transparent;border-color:#e5e7eb;color:#374151}.btn--ghost:hover{background:#f9fafb}.btn--sm{padding:.35rem .6rem;font-size:.875rem;border-radius:6px}.form-inline{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end;margin-bottom:16px}.form-inline .form-row{display:grid;gap:6px;min-width:220px;flex:1 1 220px}.form-inline label{font-size:.9rem;color:#374151}.form-inline input,.form-inline select,.form-inline textarea{padding:.5rem .6rem;border-radius:8px;border:1px solid #e5e7eb;background:#fff;color:#111827;min-width:220px;width:100%;font:inherit;line-height:1.25;box-sizing:border-box}.form-inline input:focus,.form-inline select:focus,.form-inline textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #4dd0e14d;outline:none}.form-inline textarea{resize:vertical;min-height:2.5rem}.notice{margin-top:12px;padding:12px 14px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;color:#374151}.notice.success{background:#ecfeff;border-color:#cffafe;color:#065f46}.modal-backdrop{position:fixed;inset:0;background:#11182773;display:grid;place-items:center;z-index:50;padding:16px}.modal{background:#fff;border-radius:12px;width:100%;max-width:720px;box-shadow:0 20px 48px #0000002e;border:1px solid #e5e7eb;padding:16px;max-height:90vh;overflow:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:4px 4px 12px;border-bottom:1px solid #e5e7eb}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:12px;border-top:1px solid #e5e7eb}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px 16px;padding:12px 4px}.form-grid .form-row{display:grid;gap:6px}.form-grid .form-row.form-row--full{grid-column:1/-1}.form-grid label{font-size:.9rem;color:#374151}.form-grid input,.form-grid select,.form-grid textarea{padding:.5rem .6rem;border-radius:8px;border:1px solid #e5e7eb;background:#fff;color:#111827;width:100%;font:inherit;line-height:1.25;box-sizing:border-box}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #4dd0e14d;outline:none}.form-grid textarea{resize:vertical;min-height:2.5rem}@media (max-width: 720px){.content{padding:16px}.truncate{max-width:200px}.table thead th,.table tbody td{padding:10px 12px}.form-grid{grid-template-columns:1fr}}.select-wrap{position:relative;display:inline-block;max-width:420px;width:100%}.select-wrap--table{min-width:260px}.select{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100%;padding:.5rem 2.25rem .5rem .65rem;border-radius:8px;border:1px solid #e5e7eb;background:#fff;color:#111827;font:inherit;line-height:1.25;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 20 20' fill='none'><path d='M5.5 7.5l4.5 4.5 4.5-4.5' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right .6rem center;background-size:16px 16px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #4dd0e14d;outline:none}.select:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.select--sm{padding:.4rem 2rem .4rem .55rem;font-size:.95rem}@media (max-width: 900px){.select-wrap--table{min-width:200px}}
