/* HyDev V16 Blackhole Chroma. Functional builder CSS remains separate. */
:root {
  color-scheme: dark;
  --hydev-bg: #000204;
  --hydev-on-accent: #08101b;
  --hydev-action-start: #a657ff;
  --hydev-action-end: #35eaff;
  --hydev-shadow-ink: #000;
  --hydev-scrim: rgba(0,0,0,.68);
  --hydev-panel: rgba(3, 7, 15, .92);
  --hydev-panel-strong: #080e1c;
  --hydev-glass: var(--hydev-panel);
  --hydev-glass-strong: var(--hydev-panel-strong);
  --hydev-accent: var(--hydev-cyan);
  --hydev-glow-violet: color-mix(in srgb,var(--hydev-violet) 12%,transparent);
  --hydev-glow-cyan: color-mix(in srgb,var(--hydev-cyan) 8%,transparent);
  --hydev-glow-pink: color-mix(in srgb,var(--hydev-pink) 8%,transparent);
  --hydev-text: #f6f9ff;
  --hydev-muted: #91a1bd;
  --hydev-line: rgba(91, 132, 190, .28);
  --hydev-cyan: #35eaff;
  --hydev-violet: #a657ff;
  --hydev-blue: #438fff;
  --hydev-pink: #ff3fc8;
  --hydev-success: #35efb0;
  --hydev-warning: #ffd45f;
  --hydev-danger: #ff6688;
  --hydev-focus: #8beaff;
  --hydev-radius: 16px;
  --hydev-surface: rgba(3, 7, 15, .92);
  --hydev-surface-soft: rgba(8, 14, 28, .94);
  --hydev-input: rgba(8, 14, 28, .94);
  --hydev-table-head: rgba(12, 17, 29, .94);
  --hydev-hover: rgba(173, 140, 255, .06);
  --hydev-shadow: 0 14px 36px rgba(0, 0, 0, .16);
  --hydev-shadow-hover: 0 18px 44px rgba(0, 0, 0, .22);
  --bg: var(--hydev-bg); --panel: var(--hydev-panel); --panel2: var(--hydev-panel-strong);
  --text: var(--hydev-text); --muted: var(--hydev-muted); --line: var(--hydev-line);
  --blue: var(--hydev-blue); --cyan: var(--hydev-cyan); --pink: var(--hydev-pink);
  --green: var(--hydev-success); --yellow: var(--hydev-warning); --red: var(--hydev-danger); --purple: var(--hydev-violet);
}
:root[data-hydev-theme="light"] {
  color-scheme: light;
  --hydev-bg: #eaf1fb;
  --hydev-on-accent: #fff;
  --hydev-action-start: #6948be;
  --hydev-action-end: #087e9c;
  --hydev-blue: #245da8;
  --hydev-shadow-ink: #263149;
  --hydev-scrim: rgba(20,35,61,.28);
  --hydev-panel: rgba(255, 255, 255, .86);
  --hydev-panel-strong: #ffffff;
  --hydev-text: #14233d;
  --hydev-muted: #536783;
  --hydev-line: rgba(76, 92, 123, .22);
  --hydev-cyan: #087e9c;
  --hydev-violet: #6948be;
  --hydev-pink: #b72e81;
  --hydev-success: #167a61;
  --hydev-warning: #8a5a00;
  --hydev-danger: #a5294a;
  --hydev-focus: #075d78;
  --hydev-surface: rgba(255, 255, 255, .92);
  --hydev-surface-soft: rgba(248, 250, 252, .94);
  --hydev-input: #f7f9fc;
  --hydev-table-head: #f2f5fa;
  --hydev-hover: rgba(105, 72, 190, .045);
  --hydev-shadow: 0 10px 28px rgba(38, 49, 73, .07);
  --hydev-shadow-hover: 0 16px 38px rgba(38, 49, 73, .11);
  --bg: var(--hydev-bg); --panel: var(--hydev-panel); --panel2: var(--hydev-panel-strong);
  --text: var(--hydev-text); --muted: var(--hydev-muted); --line: var(--hydev-line);
  --blue: var(--hydev-blue); --cyan: var(--hydev-cyan); --pink: var(--hydev-pink);
  --green: var(--hydev-success); --yellow: var(--hydev-warning); --red: var(--hydev-danger); --purple: var(--hydev-violet);
}
html { font-family: Inter, system-ui, sans-serif; background: var(--hydev-bg); }
body {
  background: var(--hydev-bg);
  color: var(--hydev-text);
  accent-color: var(--hydev-cyan);
  transition: background-color .2s ease, color .2s ease;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    radial-gradient(circle at 12% 8%, color-mix(in srgb, var(--hydev-violet) 14%, transparent), transparent 30%),
    radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--hydev-cyan) 11%, transparent), transparent 28%),
    radial-gradient(circle at 54% 100%, color-mix(in srgb, var(--hydev-pink) 10%, transparent), transparent 34%);
}
:where(.card, .panel, .table-wrap, .modal-content, .loginbox, .site-card, .gjs-pn-panel) {
  background: var(--hydev-panel);
  color: var(--hydev-text);
  border-color: var(--hydev-line);
}
:where(.side, .top, .drawer-panel, .project-card, .tiny-card) {
  background: var(--hydev-panel);
  color: var(--hydev-text);
  border-color: var(--hydev-line);
}
:where(.card.chroma, .hero, .hydev-v16-chroma) { position: relative; isolation: isolate; }
:where(.card.chroma, .hero, .hydev-v16-chroma)::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  pointer-events: none;
  background: linear-gradient(115deg, color-mix(in srgb, var(--hydev-cyan) 52%, transparent), transparent 42%, color-mix(in srgb, var(--hydev-pink) 44%, transparent));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: .72;
}
:where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--hydev-focus);
  outline-offset: 2px;
}
:where(button, .btn, .nav a, .sidebar-item, .hydev-theme-toggle) { min-height: 44px; }
.hydev-theme-toggle {
  position: fixed;
  top: 14px;
  right: 16px;
  z-index: 1200;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 118px;
  justify-content: center;
  padding: 10px 14px;
  border: 1px solid var(--hydev-line);
  border-radius: 999px;
  background: color-mix(in srgb, var(--hydev-panel-strong) 86%, transparent);
  color: var(--hydev-text);
  box-shadow: 0 12px 32px rgba(0,0,0,.18);
  font: 700 12px/1.1 Inter, system-ui, sans-serif;
  cursor: pointer;
  backdrop-filter: blur(18px);
}
.hydev-theme-toggle:hover { border-color: var(--hydev-cyan); }
.hydev-theme-toggle .hydev-theme-swatch { width: 9px; height: 9px; border-radius: 50%; background: linear-gradient(135deg, var(--hydev-pink), var(--hydev-cyan)); }
:where(.muted, .sub, .tiny) { color: var(--hydev-muted); }
:where(.btn, .btn-primary, .btn-ghost) { color: var(--hydev-text); border-color: var(--hydev-line); }
:where(.btn.primary, .btn-primary) { background: linear-gradient(135deg, var(--hydev-action-start), var(--hydev-action-end)); color: var(--hydev-on-accent); border: 0; }
:where(.inp, .sel, .ta, input, select, textarea) { background: color-mix(in srgb, var(--hydev-panel-strong) 82%, transparent); color: var(--hydev-text); border-color: var(--hydev-line); }
:where(.green, .success) { color: var(--hydev-success) !important; }
.hydev-v16-note { border-left: 3px solid var(--hydev-cyan); padding-left: 12px; }
:root[data-hydev-theme="light"] .card,
:root[data-hydev-theme="light"] .panel,
:root[data-hydev-theme="light"] .table-wrap,
:root[data-hydev-theme="light"] .modal-content,
:root[data-hydev-theme="light"] .loginbox,
:root[data-hydev-theme="light"] .site-card,
:root[data-hydev-theme="light"] .tiny-card,
:root[data-hydev-theme="light"] .project-card,
:root[data-hydev-theme="light"] .side,
:root[data-hydev-theme="light"] .top {
  background: var(--hydev-panel) !important;
  color: var(--hydev-text) !important;
  border-color: var(--hydev-line) !important;
}
:root[data-hydev-theme="light"] .btn {
  color: var(--hydev-text) !important;
  background: color-mix(in srgb,var(--hydev-violet) 10%,var(--hydev-panel)) !important;
  border-color: color-mix(in srgb,var(--hydev-violet) 36%,var(--hydev-line)) !important;
}
:root[data-hydev-theme="light"] .btn.primary,
:root[data-hydev-theme="light"] .btn-primary {
  color: var(--hydev-on-accent) !important;
  background: linear-gradient(135deg,var(--hydev-action-start),var(--hydev-action-end)) !important;
  border-color: transparent !important;
}
:root[data-hydev-theme="light"] .drawer-panel,
:root[data-hydev-theme="light"] .drawer-head,
:root[data-hydev-theme="light"] .tabs {
  background: var(--hydev-bg) !important;
  color: var(--hydev-text) !important;
  border-color: var(--hydev-line) !important;
}
:root[data-hydev-theme="light"] .site-meta b { color: var(--hydev-text) !important; }
:root[data-hydev-theme="light"] :where(.inp,.sel,.ta,input,select,textarea,.table-filter,.table-filter-select,.fi) { background: var(--hydev-input) !important; color: var(--hydev-text) !important; border-color: var(--hydev-line) !important; }
:root[data-hydev-theme="light"] th { background: var(--hydev-table-head) !important; }
:root[data-hydev-theme="light"] tr:hover td { background: var(--hydev-hover) !important; }
html.hydev-embedded .hydev-theme-toggle { display:none !important; }
html.hydev-embedded body, html.hydev-embedded .main, html.hydev-embedded .content, html.hydev-embedded .ops-wrap { background: var(--hydev-bg) !important; }
@media (max-width: 720px) {
  .hydev-theme-toggle { top: 10px; right: 10px; min-width: 118px; padding: 10px 12px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* BeautifulUI-inspired HyDev primitives */
.hd-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}.hd-page-head-copy{min-width:0}.hd-kicker{color:var(--hydev-cyan);font:700 10px/1.4 'Roboto Mono',monospace;letter-spacing:.12em;text-transform:uppercase}.hd-page-title{margin:5px 0 4px;font:800 clamp(22px,3vw,34px)/1.02 Inter,sans-serif;letter-spacing:-.045em;color:var(--hydev-text)}.hd-page-copy{max-width:720px;color:var(--hydev-muted);font-size:13px;line-height:1.55}.hd-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.hd-command{display:flex;align-items:center;gap:9px;min-height:48px;padding:7px 10px 7px 13px;border:1px solid color-mix(in srgb,var(--hydev-violet) 24%,var(--hydev-line));border-radius:14px;background:var(--hydev-glass);box-shadow:var(--hydev-shadow);backdrop-filter:blur(18px)}.hd-command iconify-icon{color:var(--hydev-cyan);font-size:18px}.hd-command input{min-width:0;flex:1;border:0!important;outline:0!important;background:transparent!important;color:var(--hydev-text)!important;font-size:14px!important}.hd-command-key{flex:none;padding:4px 7px;border:1px solid var(--hydev-line);border-radius:7px;background:var(--hydev-surface-soft);color:var(--hydev-muted);font:10px/1.2 'Roboto Mono',monospace}
.hd-chip-row{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 18px}.hd-chip{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 10px;border:1px solid var(--hydev-line);border-radius:10px;background:var(--hydev-surface-soft);color:var(--hydev-muted);font-size:11px;font-weight:650;cursor:pointer}.hd-chip:hover,.hd-chip.active{color:var(--hydev-text);border-color:color-mix(in srgb,var(--hydev-cyan) 38%,var(--hydev-line));background:linear-gradient(90deg,color-mix(in srgb,var(--hydev-cyan) 9%,var(--hydev-surface-soft)),color-mix(in srgb,var(--hydev-violet) 7%,var(--hydev-surface-soft)));box-shadow:0 0 18px color-mix(in srgb,var(--hydev-cyan) 8%,transparent)}
.hd-surface{--hd-tone:var(--hydev-violet);position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--hd-tone) 22%,var(--hydev-line));border-radius:16px;background:var(--hydev-glass);box-shadow:var(--hydev-shadow);backdrop-filter:blur(18px) saturate(125%)}.hd-surface[data-tone="cyan"]{--hd-tone:var(--hydev-cyan)}.hd-surface[data-tone="green"]{--hd-tone:var(--hydev-success)}.hd-surface[data-tone="pink"]{--hd-tone:var(--hydev-pink)}.hd-surface[data-tone="amber"]{--hd-tone:var(--hydev-warning)}.hd-surface::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,var(--hd-tone),transparent);opacity:.85}.hd-surface-head{display:flex;align-items:center;gap:10px;padding:14px 16px 10px}.hd-surface-head iconify-icon{color:var(--hd-tone);font-size:19px;filter:drop-shadow(0 0 7px color-mix(in srgb,var(--hd-tone) 55%,transparent))}.hd-surface-title{flex:1;color:var(--hydev-text);font-size:13px;font-weight:750;letter-spacing:-.01em}.hd-surface-meta{color:var(--hydev-muted);font:10px 'Roboto Mono',monospace}.hd-surface-body{padding:0 16px 16px}
.hd-overview-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:14px;margin:0 0 18px}.hd-task-list{display:grid}.hd-task-row{--hd-task:var(--hydev-muted);display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:start;padding:11px 0;border-bottom:1px solid var(--hydev-line)}.hd-task-row:last-child{border-bottom:0}.hd-task-row[data-tone="violet"]{--hd-task:var(--hydev-violet)}.hd-task-row[data-tone="cyan"]{--hd-task:var(--hydev-cyan)}.hd-task-row[data-tone="green"]{--hd-task:var(--hydev-success)}.hd-task-row[data-tone="amber"]{--hd-task:var(--hydev-warning)}.hd-task-dot{display:grid;place-items:center;width:26px;height:26px;border:1px solid color-mix(in srgb,var(--hd-task) 42%,var(--hydev-line));border-radius:50%;background:color-mix(in srgb,var(--hd-task) 7%,var(--hydev-bg));color:var(--hd-task);font-size:12px}.hd-task-copy strong{display:block;color:var(--hydev-text);font-size:12px;font-weight:700}.hd-task-copy small{display:block;margin-top:3px;color:var(--hydev-muted);font-size:11px;line-height:1.45}.hd-task-action{align-self:center;padding:6px 9px;border:1px solid var(--hydev-line);border-radius:9px;background:var(--hydev-surface-soft);color:var(--hydev-muted);font-size:10px;cursor:pointer}.hd-task-action:hover{color:var(--hydev-text);border-color:var(--hd-task)}
.hd-insight{padding:12px 0}.hd-insight+.hd-insight{border-top:1px solid var(--hydev-line)}.hd-insight-label{color:var(--hydev-muted);font:700 9px 'Roboto Mono',monospace;text-transform:uppercase;letter-spacing:.08em}.hd-insight-value{margin-top:4px;color:var(--hydev-text);font-size:21px;font-weight:800;letter-spacing:-.035em}.hd-insight-copy{margin-top:3px;color:var(--hydev-muted);font-size:11px;line-height:1.45}
.hd-empty{display:grid;place-items:center;min-height:180px;padding:28px;text-align:center}.hd-empty-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:12px;border:1px solid color-mix(in srgb,var(--hydev-violet) 28%,var(--hydev-line));border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--hydev-violet) 10%,var(--hydev-surface-soft)),color-mix(in srgb,var(--hydev-cyan) 8%,var(--hydev-surface-soft)));color:var(--hydev-cyan);box-shadow:0 0 24px var(--hydev-glow-violet)}.hd-empty h3{color:var(--hydev-text);font-size:14px}.hd-empty p{max-width:420px;margin:5px auto 0;color:var(--hydev-muted);font-size:11px;line-height:1.55}
.hd-form-card{padding:16px}.hd-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hd-form-field label{display:block;margin-bottom:6px;color:var(--hydev-muted);font:700 9px 'Roboto Mono',monospace;text-transform:uppercase;letter-spacing:.07em}.hd-form-field.full{grid-column:1/-1}
.hd-approval-strip{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--hydev-line);background:linear-gradient(90deg,color-mix(in srgb,var(--hydev-warning) 6%,transparent),transparent)}.hd-approval-strip iconify-icon{color:var(--hydev-warning);font-size:18px}.hd-approval-copy{flex:1;min-width:0}.hd-approval-copy strong{display:block;color:var(--hydev-text);font-size:12px}.hd-approval-copy small{display:block;color:var(--hydev-muted);font-size:10px;margin-top:2px}
.hd-panel-stack{display:grid;gap:14px}.hd-table-shell{overflow:hidden}.hd-table-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--hydev-line)}.hd-table-toolbar .table-filter{margin-left:auto}.hd-record-count{color:var(--hydev-muted);font:10px 'Roboto Mono',monospace}
@media(max-width:900px){.hd-overview-grid{grid-template-columns:1fr}.hd-page-head{align-items:flex-start;flex-direction:column}.hd-head-actions{width:100%}.hd-head-actions .btn{flex:1}.hd-form-grid{grid-template-columns:1fr}.hd-command{position:relative}.hd-command-key{display:none}}
@media(max-width:560px){.hd-page-title{font-size:26px}.hd-page-copy{font-size:12px}.hd-chip-row{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.hd-chip{flex:none}.hd-task-row{grid-template-columns:28px minmax(0,1fr)}.hd-task-action{grid-column:2;justify-self:start}.hd-surface-head{padding:12px}.hd-surface-body{padding:0 12px 12px}}


/* Production readiness: forms, evidence and action dialogs share V16 tokens. */
:where(.portal,.portal-grid,.portal-actions,.drawer-panel,.tab-content,.build-grid,.payment-grid,.status-line,.project-card,.card){min-width:0}
:where(.portal,.drawer-panel,.tab-content) :where(p,small,b,strong,code){overflow-wrap:anywhere}
.portal-step{border-color:var(--hydev-line)}
.portal-step .dot{background:var(--hydev-line)}
.portal-step.locked{opacity:1;color:var(--hydev-muted)}
.portal-actions .btn{width:100%;white-space:normal;overflow-wrap:anywhere}
:where(.portal,.drawer-panel) :where(pre,code){white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}
dialog.card{width:min(960px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;margin:auto;border:1px solid var(--hydev-line);border-radius:var(--hydev-radius);background:var(--hydev-panel-strong);color:var(--hydev-text);padding:clamp(16px,3vw,28px)}
dialog.card::backdrop{background:var(--hydev-scrim)}
#portal-action-fields{display:grid;gap:10px}
#portal-action-fields textarea{min-height:140px}
[aria-invalid=true]{border-color:var(--hydev-danger)!important;outline:2px solid var(--hydev-danger);outline-offset:1px}
.auth-provider-options{display:grid;gap:8px;margin-top:16px}
.auth-provider-options button{min-height:44px;font:inherit;white-space:normal}
:where(.status-line,.action-row,.row){flex-wrap:wrap}
:where(.status-line,.action-row) :where(button,a){max-width:100%;white-space:normal}
:where(.portal,.drawer-panel) input[type=checkbox]{min-width:24px;min-height:24px;vertical-align:middle}
@media(max-width:600px){
 :where(.portal,.drawer-panel) :where(input,select,textarea){font-size:16px}
 .portal{padding:12px}.portal-grid{grid-template-columns:minmax(0,1fr)}
 .project-grid{grid-template-columns:minmax(0,1fr)!important}
 .status-line{align-items:flex-start;gap:8px}
 .status-line>*{min-width:0;overflow-wrap:anywhere}
 .action-row{display:grid;grid-template-columns:minmax(0,1fr)}
 .build-grid,.payment-grid,.overview-two-col,.client-details-grid{grid-template-columns:minmax(0,1fr)!important}
 dialog.card{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}
}
@media(prefers-reduced-motion:reduce){
 :where(.portal,.drawer-panel,.hdw-overlay,.hydev-theme-toggle) *{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
