/* Skunkworks Australia software theme v1.0 — 2026-11-04.
   Site-derived dark brand; app and light-mode extensions. */
@font-face{font-family:Geist;src:url('./assets/fonts/Geist-Variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'Geist Mono';src:url('./assets/fonts/GeistMono-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
:root,[data-sw-theme="dark"]{
  color-scheme:dark;
  --sw-canvas:#0b0b0c;--sw-panel:#131315;--sw-raised:#1a1a1d;
  --sw-text:#ededea;--sw-text-secondary:#a3a3a0;--sw-text-muted:#8a8a87;
  --sw-action:#ffffff;--sw-action-text:#0b0b0c;--sw-action-hover:#d9d9d6;
  --sw-line:rgba(237,237,234,.12);--sw-line-strong:rgba(237,237,234,.34);
  --sw-control-border:#68686a;--sw-focus:#ffffff;--sw-selection:rgba(237,237,234,.08);
  --sw-success:#a7d7b8;--sw-success-bg:#17271d;
  --sw-warning:#e8cc95;--sw-warning-bg:#302718;
  --sw-danger:#f0b3b3;--sw-danger-bg:#321e20;
  --sw-info:#b8cee5;--sw-info-bg:#1c2834;
  --sw-font:Geist,ui-sans-serif,system-ui,sans-serif;
  --sw-font-mono:'Geist Mono',ui-monospace,monospace;
  --sw-space-1:4px;--sw-space-2:8px;--sw-space-3:12px;--sw-space-4:16px;
  --sw-space-5:20px;--sw-space-6:24px;--sw-space-8:32px;--sw-space-10:40px;
  --sw-space-12:48px;--sw-space-16:64px;
  --sw-radius-control:8px;--sw-radius-panel:14px;--sw-radius-dialog:16px;
  --sw-max-width:1360px;--sw-sidebar-width:248px;--sw-header-height:72px;
  --sw-ease-out:cubic-bezier(.16,1,.3,1);--sw-ease-io:cubic-bezier(.65,0,.35,1);
  --sw-duration-fast:150ms;--sw-duration-normal:220ms;--sw-duration-reveal:350ms;
}
[data-sw-theme="light"]{
  color-scheme:light;
  --sw-canvas:#f2f2ef;--sw-panel:#ffffff;--sw-raised:#e8e8e4;
  --sw-text:#0b0b0c;--sw-text-secondary:#45454a;--sw-text-muted:#606064;
  --sw-action:#0b0b0c;--sw-action-text:#ffffff;--sw-action-hover:#303033;
  --sw-line:#d3d3ce;--sw-line-strong:#989894;--sw-control-border:#858580;
  --sw-focus:#0b0b0c;--sw-selection:rgba(11,11,12,.06);
  --sw-success:#235b39;--sw-success-bg:#e5f0e7;
  --sw-warning:#715000;--sw-warning-bg:#f7eed6;
  --sw-danger:#963536;--sw-danger-bg:#fae8e8;
  --sw-info:#2b5279;--sw-info-bg:#e7eff8;
}
.sw-app,.sw-app *,.sw-app *::before,.sw-app *::after{box-sizing:border-box}
.sw-app{margin:0;background:var(--sw-canvas);color:var(--sw-text);font:400 16px/1.5 var(--sw-font);-webkit-font-smoothing:antialiased;min-height:100vh}
.sw-app ::selection{background:var(--sw-action);color:var(--sw-action-text)}
.sw-app :focus-visible{outline:2px solid var(--sw-focus);outline-offset:3px}
.sw-app a{color:inherit;text-underline-offset:.25em}
.sw-app img{max-width:100%;height:auto}
.sw-title{margin:0;font-size:clamp(28px,3vw,40px);font-weight:650;line-height:1.1;letter-spacing:-.035em;text-wrap:balance}
.sw-heading{margin:0;font-size:22px;font-weight:650;line-height:1.2;letter-spacing:-.02em}
.sw-muted{color:var(--sw-text-secondary)}
.sw-meta{font-size:13px;color:var(--sw-text-muted)}
.sw-mono{font:500 13px/1.5 var(--sw-font-mono)}
.sw-numeric{font-variant-numeric:tabular-nums}
.sw-shell{display:grid;grid-template-columns:var(--sw-sidebar-width) minmax(0,1fr);min-height:100vh}
.sw-sidebar{background:var(--sw-panel);border-right:1px solid var(--sw-line);padding:24px 16px}
.sw-main{min-width:0}
.sw-topbar{min-height:var(--sw-header-height);border-bottom:1px solid var(--sw-line);padding:12px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.sw-content{max-width:var(--sw-max-width);margin-inline:auto;padding:32px;display:grid;gap:24px}
.sw-page-header{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.sw-brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none}
.sw-brand-mark{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:8px;background:#0b0b0c}
.sw-brand-mark img{display:block;width:34px;height:auto}
.sw-brand-name{display:block;font-size:17px;font-weight:700;letter-spacing:-.01em;line-height:1.2}
.sw-brand-region{display:block;font:500 11px/1.5 var(--sw-font-mono);letter-spacing:.24em;color:var(--sw-text-secondary);margin-top:2px}
.sw-nav{display:grid;gap:4px;margin-top:32px}
.sw-nav a{display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:8px;text-decoration:none;color:var(--sw-text-secondary);font-size:14px}
.sw-nav a:hover{background:var(--sw-raised);color:var(--sw-text)}
.sw-nav a[aria-current="page"]{background:var(--sw-raised);color:var(--sw-text);font-weight:600}
.sw-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;max-width:100%;padding:10px 16px;border:1px solid transparent;border-radius:var(--sw-radius-control);background:var(--sw-action);color:var(--sw-action-text);font:600 14px/1.4 var(--sw-font);text-decoration:none;cursor:pointer;transition:background var(--sw-duration-fast) var(--sw-ease-out),border-color var(--sw-duration-fast) var(--sw-ease-out)}
.sw-button:hover{background:var(--sw-action-hover)}
.sw-button--secondary{background:transparent;color:var(--sw-text);border-color:var(--sw-control-border)}
.sw-button--secondary:hover{background:var(--sw-raised);border-color:var(--sw-text)}
.sw-button--ghost{background:transparent;color:var(--sw-text-secondary)}
.sw-button--ghost:hover{background:var(--sw-raised);color:var(--sw-text)}
.sw-button--danger{background:var(--sw-danger-bg);color:var(--sw-danger);border-color:var(--sw-danger)}
.sw-button--danger:hover{background:var(--sw-danger);color:var(--sw-danger-bg)}
.sw-button:disabled{opacity:.45;cursor:not-allowed}
.sw-button:disabled:hover{background:var(--sw-action)}
.sw-button--secondary:disabled:hover,.sw-button--ghost:disabled:hover{background:transparent}
.sw-button--danger:disabled:hover{background:var(--sw-danger-bg);color:var(--sw-danger)}
.sw-panel{background:var(--sw-panel);border:1px solid var(--sw-line);border-radius:var(--sw-radius-panel);padding:24px;min-width:0}
.sw-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sw-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.sw-field{display:grid;gap:8px;align-content:start}
.sw-label{font-size:14px;font-weight:500}
.sw-input,.sw-select,.sw-textarea{width:100%;min-width:0;min-height:44px;border:1px solid var(--sw-control-border);border-radius:var(--sw-radius-control);background:var(--sw-panel);color:var(--sw-text);padding:10px 12px;font:400 16px/1.5 var(--sw-font);transition:border-color var(--sw-duration-fast) var(--sw-ease-out)}
.sw-input::placeholder,.sw-textarea::placeholder{color:var(--sw-text-muted);opacity:1}
.sw-input:hover,.sw-select:hover,.sw-textarea:hover{border-color:var(--sw-text-secondary)}
.sw-input:focus-visible,.sw-select:focus-visible,.sw-textarea:focus-visible{background:var(--sw-raised)}
.sw-input[aria-invalid="true"],.sw-select[aria-invalid="true"],.sw-textarea[aria-invalid="true"]{border-color:var(--sw-danger)}
.sw-input:disabled,.sw-select:disabled,.sw-textarea:disabled{opacity:.55;cursor:not-allowed}
.sw-textarea{min-height:120px;resize:vertical}
.sw-help,.sw-error{margin:0;font-size:13px;color:var(--sw-text-secondary)}
.sw-error{color:var(--sw-danger)}
.sw-table-region{max-width:100%;overflow:auto}
.sw-table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}
.sw-table th{font-weight:500;color:var(--sw-text-secondary)}
.sw-table th,.sw-table td{padding:16px 12px;border-bottom:1px solid var(--sw-line);vertical-align:middle}
.sw-table tbody tr:hover{background:var(--sw-raised)}
.sw-table tr[aria-selected="true"]{background:var(--sw-selection)}
.sw-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--sw-line);border-radius:6px;background:var(--sw-raised);color:var(--sw-text-secondary);font-size:13px;font-weight:500}
.sw-badge--success,.sw-alert--success{background:var(--sw-success-bg);color:var(--sw-success)}
.sw-badge--warning,.sw-alert--warning{background:var(--sw-warning-bg);color:var(--sw-warning)}
.sw-badge--danger,.sw-alert--danger{background:var(--sw-danger-bg);color:var(--sw-danger)}
.sw-badge--info,.sw-alert--info{background:var(--sw-info-bg);color:var(--sw-info)}
.sw-alert{padding:16px;border:1px solid currentColor;border-radius:8px;font-size:14px}
.sw-empty{text-align:center;padding:48px 24px}
.sw-skip{position:fixed;z-index:100;top:12px;left:12px;transform:translateY(-200%);padding:12px 16px;background:var(--sw-action);color:var(--sw-action-text)!important;border-radius:8px}
.sw-skip:focus{transform:none}
.sw-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:800px){
  .sw-shell{grid-template-columns:1fr}.sw-sidebar{border-right:0;border-bottom:1px solid var(--sw-line);padding:16px 20px}
  .sw-nav{display:flex;flex-wrap:wrap;margin-top:16px}.sw-content{padding:24px 20px}
  .sw-topbar{padding:12px 20px}.sw-grid{grid-template-columns:1fr}.sw-panel{padding:20px}
}
@media(prefers-reduced-motion:reduce){.sw-app *,.sw-app *::before,.sw-app *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
