:root{--blue-900: #1b2f7a;--blue-700: #2443b5;--blue-600: #2f56d3;--blue-100: #e8eefc;--blue-50: #f4f7fe;--gray-900: #1d2433;--gray-700: #4a5468;--gray-500: #6b7488;--gray-200: #dde2ec;--gray-100: #eef1f6;--white: #ffffff;--red-700: #b42318;--red-50: #fef1f0;--green-700: #1c7a46;--green-50: #ecf8f1;--amber-800: #8a5300;--amber-50: #fff6e5;--radius: 14px;--radius-sm: 10px;--shadow: 0 1px 2px rgb(16 24 40 / 6%), 0 2px 8px rgb(16 24 40 / 5%);--focus: 0 0 0 3px rgb(47 86 211 / 35%);font-family:Segoe UI,system-ui,-apple-system,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--gray-900);background:var(--blue-50);line-height:1.5;font-size:15px}*{box-sizing:border-box}body{margin:0}h1{font-size:1.6rem;margin:0;color:var(--blue-900)}h2,h3{color:var(--blue-900)}a{color:var(--blue-700)}code{font-family:ui-monospace,Consolas,monospace;font-size:.85em;background:var(--gray-100);padding:1px 5px;border-radius:5px}.muted{color:var(--gray-500);margin:0}.small{font-size:.85rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:absolute;left:-999px;top:8px;background:var(--white);padding:8px 12px;z-index:10;border-radius:8px}.skip-link:focus{left:8px}:focus-visible{outline:none;box-shadow:var(--focus)}.shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:var(--white);border-right:1px solid var(--gray-200);padding:20px 14px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar nav{display:flex;flex-direction:column;gap:2px}.sidebar nav a{padding:9px 12px;border-radius:var(--radius-sm);text-decoration:none;color:var(--gray-700);font-weight:500}.sidebar nav a:hover{background:var(--blue-50)}.sidebar nav a.active{background:var(--blue-100);color:var(--blue-700)}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:6px}.brand{display:flex;gap:10px;align-items:center}.brand strong{display:block;color:var(--blue-600);font-size:1.2rem;letter-spacing:-.01em}.brand small{color:var(--gray-500)}.brand-lg strong{font-size:1.6rem}.content{padding:28px 32px 48px;max-width:1400px;width:100%}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;border:1px solid var(--gray-200)}.card-title{font-size:1.05rem;margin:0 0 14px}.stack{display:flex;flex-direction:column;gap:16px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.grid-2.tight{gap:10px}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-bottom:10px}.tile{display:flex;flex-direction:column;gap:4px}.tile-value{font-size:2rem;font-weight:700;color:var(--blue-700);font-variant-numeric:tabular-nums}.tile-label{color:var(--gray-700)}.tile-warn{border-color:#f3c46b;background:var(--amber-50)}.tile-warn .tile-value{color:var(--amber-800)}.btn{border:1px solid transparent;border-radius:var(--radius-sm);padding:10px 16px;font:inherit;font-weight:600;cursor:pointer;min-height:44px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--blue-600);color:var(--white)}.btn-primary:hover:not(:disabled){background:var(--blue-700)}.btn-ghost{background:var(--white);border-color:var(--gray-200);color:var(--blue-700)}.btn-ghost:hover:not(:disabled){background:var(--blue-50)}.btn-danger-ghost{background:var(--white);border-color:#f2c4bf;color:var(--red-700)}.btn-sm{padding:6px 10px;min-height:36px;font-size:.875rem}.btn-block{width:100%}.actions,.row-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.row-between{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}input,select,textarea{font:inherit;padding:10px 12px;border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--white);color:var(--gray-900);min-height:44px;width:100%}input[type=checkbox]{width:18px;height:18px;min-height:0}input:disabled,select:disabled{background:var(--gray-100)}.form{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:5px}.field label,.upload>label{font-weight:600;color:var(--gray-700)}.field-error{color:var(--red-700)}.ok{color:var(--green-700)}.check{display:inline-flex;gap:8px;align-items:center}.checks{border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:10px 14px;display:flex;flex-wrap:wrap;gap:14px;margin:12px 0}.checks label{display:inline-flex;gap:6px;align-items:center}.toolbar{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}.toolbar input,.toolbar select{max-width:340px}.inline-form{display:flex;gap:8px;align-items:flex-end;margin-top:10px;flex-wrap:wrap}.inline-form input{max-width:300px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-500);border-bottom:1px solid var(--gray-200);padding:8px 10px}td{padding:10px;border-bottom:1px solid var(--gray-100);vertical-align:top}table.dense td{padding:6px 10px;font-size:.9rem}.list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.list>li{border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:12px 14px}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--gray-100);color:var(--gray-700);margin-left:4px}.badge-published,.badge-active,.badge-approved,.badge-confirmed,.badge-completed,.badge-success{background:var(--green-50);color:var(--green-700)}.badge-in_review,.badge-pending,.badge-received,.badge-in_progress,.badge-pending_verification{background:var(--amber-50);color:var(--amber-800)}.badge-retired,.badge-suspended,.badge-rejected,.badge-cancelled,.badge-denied,.badge-failure,.badge-no_show{background:var(--red-50);color:var(--red-700)}.badge-draft{background:var(--blue-100);color:var(--blue-700)}.alert{border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:14px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.alert-error{background:var(--red-50);color:var(--red-700);border:1px solid #f2c4bf}.alert-info{background:var(--blue-100);color:var(--blue-900)}.alert-success{background:var(--green-50);color:var(--green-700)}.alert-warning{background:var(--amber-50);color:var(--amber-800);border:1px solid #f3dca8}.state{padding:28px;text-align:center;color:var(--gray-700);display:flex;flex-direction:column;align-items:center;gap:6px}.spinner{width:18px;height:18px;border:3px solid var(--blue-100);border-top-color:var(--blue-600);border-radius:50%;display:inline-block;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:14px;color:var(--gray-700);font-size:.9rem}.tabs{display:flex;gap:6px;margin-bottom:14px}.tab{background:none;border:1px solid transparent;border-radius:999px;padding:4px;cursor:pointer}.tab.active{border-color:var(--blue-600)}.upload{display:flex;flex-direction:column;gap:6px;margin:10px 0}.upload-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.upload-row input[type=file]{max-width:280px;padding:7px}.upload-row input[type=text],.upload-row input:not([type]){max-width:260px}.preview{width:100%;max-height:260px;border-radius:var(--radius-sm);background:#000}.thumb{max-width:160px;border-radius:var(--radius-sm)}.checklist{padding-left:18px}.checklist .ok{color:var(--green-700)}.checklist .missing{color:var(--red-700)}.checklist .optional{color:var(--gray-500)}.steps{padding-left:20px;display:flex;flex-direction:column;gap:12px}.secret{display:block;font-size:1.05rem;padding:10px;word-break:break-all}.login{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(160deg,var(--blue-50),var(--blue-100))}.login-card{width:100%;max-width:420px;display:flex;flex-direction:column;gap:16px;padding:32px}@media(max-width:960px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{flex-direction:row;flex-wrap:wrap}.grid-2{grid-template-columns:1fr}.content{padding:20px 16px}}.form>.btn{align-self:flex-start}.card.mb{margin-bottom:16px}
