:root {
  --ink: #1b1725;
  --ink-2: #12101d;
  --surface: #211d2e;
  --surface-2: #272238;
  --lime: #d4ff00;
  --lime-bright: #d4ff00;
  --lime-dim: #a8cc00;
  --violet: #6a5acd;
  --violet-soft: #9a8ce9;
  --platinum: #eaeaea;
  --muted: #9d99aa;
  --line: rgba(234, 234, 234, .13);
  --line-strong: rgba(234, 234, 234, .22);
  --danger: #ff6b63;
  --warning: #ffb84d;
  --success: #6fd79a;
  --radius: 10px;
  --sidebar: 194px;
  --shadow: 0 18px 50px rgba(0, 0, 0, .24);
  color-scheme: dark;
  font-family: "DM Sans", system-ui, sans-serif;
}
* { box-sizing: border-box; }
html { overflow-x: hidden; background: var(--ink-2); scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: radial-gradient(circle at 72% -20%, rgba(106,90,205,.08), transparent 36%), var(--ink-2); color: var(--platinum); font-size: 14px; line-height: 1.45; }
time { white-space: nowrap; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a, select, input, textarea { outline: none; }
:focus-visible { outline: 2px solid var(--lime); outline-offset: 3px; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.skip-link { position: fixed; z-index: 100; top: 8px; left: 8px; padding: 10px 14px; background: var(--lime); color: var(--ink); transform: translateY(-150%); }
.skip-link:focus { transform: none; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: var(--sidebar) minmax(0, 1fr); }
.sidebar { position: fixed; inset: 0 auto 0 0; width: var(--sidebar); z-index: 20; display: flex; flex-direction: column; padding: 24px 12px 14px; background: linear-gradient(180deg, #171526, #151323); border-right: 1px solid var(--line); }
.brand { padding: 0 10px 30px; font-size: 22px; font-weight: 700; letter-spacing: -.04em; }
.brand strong { color: var(--lime); }
.nav-list { display: grid; gap: 6px; }
.nav-item { min-height: 46px; display: flex; align-items: center; gap: 13px; padding: 0 13px; border-radius: 7px; color: #c4c1cb; font-weight: 500; }
.nav-item > span { width: 20px; text-align: center; font-size: 19px; color: #aaa6bb; }
.nav-item:hover { background: rgba(255,255,255,.05); color: white; }
.nav-item.is-active { position: relative; color: white; background: rgba(234,234,234,.075); }
.nav-item.is-active::before { content:""; position:absolute; left:-12px; top:6px; bottom:6px; width:4px; background:var(--lime); }
.nav-item.is-active > span { color: var(--lime); }
.sidebar-foot { margin-top:auto; padding-top:13px; border-top:1px solid var(--line); }
.user-chip { display:flex; gap:10px; align-items:center; margin: 10px 5px 4px; padding: 10px 5px; }
.user-chip > span:last-child { min-width:0; display:grid; }
.user-chip strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
.user-chip small { color:var(--muted); font-size:10px; }
.avatar { flex:none; width:32px; height:32px; display:grid; place-items:center; border-radius:50%; background: var(--violet); color:white; font-size:11px; font-weight:700; }
.sidebar-foot form { padding: 0 10px; }
.text-button { padding:0; border:0; color:var(--violet-soft); background:none; cursor:pointer; }
.app-frame { grid-column:2; min-width:0; }
.topbar { height:60px; display:flex; align-items:center; gap:16px; padding:0 26px; border-bottom:1px solid var(--line); background:rgba(18,16,29,.84); backdrop-filter:blur(12px); }
.search-box { width:320px; height:36px; display:flex; align-items:center; gap:10px; padding:0 11px; border:1px solid var(--line); border-radius:7px; background:rgba(255,255,255,.025); }
.search-box input { min-width:0; flex:1; border:0; background:none; color:white; }
.search-box input::placeholder { color:var(--muted); }
kbd { border:0; color:var(--muted); font-family:inherit; font-size:11px; }
.profile-shortcut { margin-left:auto; }
.mobile-menu { display:none; border:0; background:none; color:white; font-size:21px; }
.page { max-width: 1600px; margin:auto; padding:28px; }
.page-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:24px; }
.page-heading h1 { margin:0 0 4px; color:#fff; font-size:26px; letter-spacing:-.04em; line-height:1.2; }
.page-heading p { margin:0; color:var(--muted); }
.page-heading.compact { max-width:950px; margin-inline:auto; }
.back-link { display:inline-block; margin-bottom:10px; color:var(--violet-soft); font-size:12px; }
.button { min-height:39px; display:inline-flex; align-items:center; justify-content:center; padding:0 15px; border:1px solid transparent; border-radius:6px; font-weight:700; cursor:pointer; transition:.18s ease; }
.button:hover { transform:translateY(-1px); }
.button.primary { background:var(--lime); color:var(--ink); box-shadow:0 8px 24px rgba(212,255,0,.08); }
.button.secondary { border-color:rgba(106,90,205,.65); background:rgba(106,90,205,.12); color:#c8bfff; }
.button.ghost { color:var(--muted); }
.button-row { display:flex; gap:10px; flex-wrap:wrap; }
.metrics { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:14px; margin-bottom:14px; }
.metric { min-width:0; display:grid; gap:7px; padding:15px; border:1px solid var(--line); border-radius:var(--radius); background:linear-gradient(145deg, rgba(255,255,255,.035), rgba(255,255,255,.015)); }
.metric:hover { border-color:var(--line-strong); }
.metric span { color:#d3d0d9; font-weight:600; font-size:12px; }
.metric strong { color:white; font-size:21px; letter-spacing:-.035em; white-space:nowrap; }
.metric em { font-size:11px; font-style:normal; color:var(--muted); }
.metric small { margin-top:4px; color:var(--violet-soft); }
.dashboard-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(330px,1fr); gap:14px; }
.panel { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:rgba(33,29,46,.62); box-shadow:0 1px 0 rgba(255,255,255,.02) inset; }
.panel > header { min-height:44px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:0 14px; border-bottom:1px solid var(--line); }
.panel > header h2 { margin:0; font-size:15px; letter-spacing:-.02em; }
.panel > header a, .panel > header > span { color:var(--violet-soft); font-size:12px; }
.data-list { display:grid; }
.data-row { min-height:51px; display:grid; grid-template-columns:30px minmax(140px,.8fr) minmax(150px,1fr) auto; align-items:center; gap:10px; padding:7px 14px; border-bottom:1px solid var(--line); }
.data-row:hover, .table-row:hover, .today-row:hover { background:rgba(255,255,255,.025); }
.data-row strong, .data-row small { display:block; }
.data-row strong { font-size:12px; }
.data-row small, .row-detail { color:var(--muted); font-size:11px; }
.row-icon { width:22px; height:22px; display:grid; place-items:center; border:1px solid currentColor; border-radius:4px; font-weight:700; }
.row-icon.lime { color:var(--lime); }.row-icon.violet { color:var(--violet-soft); }.row-icon.warning { color:var(--warning); }
.danger, .status-overdue { color:var(--danger)!important; }.status-paid, .status-active { color:var(--success)!important; }.status-pending, .status-paused { color:var(--warning)!important; }
.today-row { min-height:50px; display:flex; align-items:center; gap:12px; padding:7px 14px; border:0; border-bottom:1px solid var(--line); background:none; color:inherit; text-align:left; }
.audit-panel { margin-bottom: 18px; }
.audit-form { padding: 18px 18px 4px; }
.audit-filters { display: grid; grid-template-columns: minmax(200px, 1.6fr) repeat(2, minmax(130px,1fr)) repeat(2, minmax(150px, .9fr)); gap: 10px; padding: 14px; border-bottom: 1px solid var(--line); }
.audit-filters input, .audit-filters select, .audit-form input, .audit-form select, .audit-form textarea { width: 100%; padding: 9px 10px; border: 1px solid var(--line); border-radius: 7px; background: rgba(255,255,255,.03); color: white; }
.audit-filters input::placeholder, .audit-form input::placeholder, .audit-form textarea::placeholder { color: var(--muted); }
.audit-table-wrap { overflow: auto; }
.audit-table { width: 100%; border-collapse: collapse; min-width: 1000px; }
.audit-table th, .audit-table td { padding: 11px 12px; border-bottom: 1px solid var(--line); vertical-align: top; text-align: left; }
.audit-table th { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.audit-table td { color: #f0edf4; font-size: 12px; }
.audit-pill { display:inline-flex; align-items:center; padding:4px 8px; border-radius:999px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.audit-pill.create { background: rgba(111, 215, 154, .15); color: var(--success); }
.audit-pill.update { background: rgba(106, 90, 205, .18); color: var(--violet-soft); }
.audit-pill.move { background: rgba(255, 184, 77, .15); color: var(--warning); }
.audit-pill.delete { background: rgba(255, 107, 99, .12); color: var(--danger); }
.audit-pill.archive, .audit-pill.cancel { background: rgba(255, 107, 99, .12); color: var(--danger); }
.audit-pill.restore { background: rgba(212, 255, 0, .14); color: var(--lime-text); }
.button.danger { border-color: var(--danger); color: var(--danger); background: transparent; }
.button.danger:hover { background: rgba(255, 107, 99, .12); }
.audit-compact { display: grid; gap: 4px; }
.audit-compact small { color: var(--muted); }
.audit-empty { padding: 18px 14px; color: var(--muted); }
.audit-form textarea { resize: vertical; min-height: 88px; }
.audit-form .form-grid { display: grid; grid-template-columns: repeat(2, minmax(200px, 1fr)); gap: 14px 18px; }
.audit-form label { display:grid; gap:7px; color:#dcd6e6; font-size:12px; }
.audit-form .span-2 { grid-column: span 2; }
.form-section-heading { margin-bottom: 12px; }
.form-section-heading h2 { margin: 0; font-size: 18px; }
.form-section-heading p { margin: 6px 0 0; color: var(--muted); }
.form-actions { display:flex; justify-content:flex-end; gap:10px; padding: 14px 0 12px; }
.audit-note { margin: 12px 14px 0; color: var(--muted); font-size: 11px; }
@media (max-width: 960px) {
  .audit-filters { grid-template-columns: 1fr 1fr; }
  .audit-form .form-grid { grid-template-columns: 1fr; }
  .audit-form .span-2 { grid-column: span 1; }
}
@media (max-width: 700px) {
  .audit-filters { grid-template-columns: 1fr; }
}
.today-row > a, .today-row > span:nth-child(2) { flex:1; display:grid; }
.today-row strong { font-size:12px; }.today-row small { color:var(--muted); }.today-row time { margin-left:auto; color:var(--muted); font-size:11px; }
.check-box { flex:none; width:18px; height:18px; padding:0; display:grid; place-items:center; border:1px solid #6c6877; border-radius:2px; background:none; color:var(--ink); font-size:11px; cursor:pointer; }
.task-row.is-done { opacity:.55; }.task-row.is-done strong { text-decoration:line-through; }.task-row.is-done .check-box { border-color:var(--lime); background:var(--lime); }
.stage-strip { display:flex; min-height:54px; overflow:auto; border-bottom:1px solid var(--line); }
.stage-strip a { min-width:95px; flex:1; display:grid; place-items:center; gap:2px; padding:8px; border-right:1px solid var(--line); background:linear-gradient(180deg, rgba(106,90,205,.18), transparent); }
.stage-strip span { color:#cbc7d3; font-size:10px; }.stage-strip strong { color:white; }
.stage-strip a:last-child { background:rgba(212,255,0,.1); }.stage-strip a:last-child strong { color:var(--lime); }
.snapshot-list a { display:grid; grid-template-columns:1fr 1fr auto; gap:12px; padding:7px 14px; border-bottom:1px solid var(--line); font-size:11px; }.snapshot-list small { color:var(--muted); }.snapshot-list strong { font-weight:500; }
.project-list a { min-height:49px; display:grid; grid-template-columns:minmax(140px,1fr) minmax(80px,.75fr) 40px; gap:12px; align-items:center; padding:7px 14px; border-bottom:1px solid var(--line); }.project-list span:first-child { display:grid; }.project-list strong { font-size:11px; }.project-list small { color:var(--muted); font-size:10px; }.project-list b { font-size:11px; font-weight:500; }
.progress { height:6px; overflow:hidden; border-radius:10px; background:rgba(234,234,234,.13); }.progress i { display:block; height:100%; border-radius:inherit; background:var(--violet); }.progress.large { height:9px; }
.empty-state { min-height:100px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:5px; padding:20px; color:var(--muted); }.empty-state strong { color:var(--platinum); }.empty-state .button { margin-top:8px; }.empty-state.large { align-items:center; min-height:260px; text-align:center; }
.message-stack { position:fixed; z-index:50; top:72px; right:18px; }.message { padding:11px 14px; border:1px solid rgba(212,255,0,.35); border-radius:7px; background:#242030; color:white; box-shadow:var(--shadow); }.message.error { border-color:var(--danger); }
.pipeline-toolbar { display:flex; justify-content:space-between; gap:18px; margin-bottom:13px; color:var(--muted); font-size:12px; }.pipeline-toolbar b { color:var(--lime); }
.mobile-stage-nav, .stage-action-label { display:none; }
.kanban { display:flex; gap:12px; overflow-x:auto; padding-bottom:18px; scroll-snap-type:x proximity; }
.kanban-column { flex:0 0 274px; min-height:540px; scroll-snap-align:start; border-top:2px solid var(--violet); border-radius:7px; background:rgba(255,255,255,.025); }
.kanban-column > header { height:44px; display:flex; align-items:center; justify-content:space-between; padding:0 10px; }.kanban-column h2 { margin:0; font-size:12px; text-transform:uppercase; letter-spacing:.04em; }.kanban-column header span { width:22px; height:22px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.07); font-size:10px; }.kanban-total { padding:0 10px 10px; border-bottom:1px solid var(--line); color:var(--muted); font-size:10px; }
.kanban-cards { min-height:470px; display:grid; align-content:start; gap:8px; padding:9px; }.kanban-column.is-over { background:rgba(212,255,0,.045); outline:1px solid var(--lime); }
.opportunity-card { border:1px solid var(--line); border-radius:7px; background:var(--surface); box-shadow:0 8px 20px rgba(0,0,0,.1); }.opportunity-card > a { display:block; padding:11px; }.opportunity-card small { color:var(--muted); font-size:10px; }.opportunity-card h3 { margin:4px 0 10px; font-size:13px; }.opportunity-card > a > strong { color:white; font-size:15px; }.opportunity-card p { min-height:33px; margin:10px 0; color:#c6c2cd; font-size:11px; }.warning-text { color:var(--warning)!important; }.opportunity-card footer { display:flex; justify-content:space-between; color:var(--muted); font-size:9px; }.opportunity-card form { padding:7px; border-top:1px solid var(--line); }.opportunity-card select { width:100%; padding:6px 7px; border:1px solid var(--line); border-radius:4px; background:#1b1826; color:#c8c3d0; font-size:10px; }.kanban-empty { padding:20px 10px; border:1px dashed var(--line); border-radius:7px; color:var(--muted); text-align:center; font-size:10px; }
.opportunity-card.is-moving { pointer-events:none; opacity:.62; }
.filter-tabs { display:flex; gap:5px; margin-bottom:12px; }.filter-tabs a { padding:7px 12px; border:1px solid var(--line); border-radius:5px; color:var(--muted); font-size:12px; }.filter-tabs a:hover { border-color:var(--violet); color:white; }
.resource-table .table-head, .table-head { display:grid; grid-template-columns:minmax(180px,1.5fr) 1fr 1fr 1fr; gap:12px; padding:9px 14px; border-bottom:1px solid var(--line); color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.04em; }
.table-row { min-height:58px; display:grid; grid-template-columns:minmax(180px,1.5fr) 1fr 1fr 1fr; gap:12px; align-items:center; padding:8px 14px; border-bottom:1px solid var(--line); }.table-row > span:first-child { display:grid; }.table-row strong { font-size:12px; }.table-row small { color:var(--muted); font-size:10px; }
.form-panel { max-width:950px; margin:0 auto; padding:22px; }.form-panel.narrow { max-width:700px; }.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.form-grid label { display:grid; gap:6px; color:#d3d0d9; font-size:12px; font-weight:600; }.form-grid label > span b { color:var(--lime); }.form-grid label small { color:var(--muted); font-weight:400; }.form-grid label em { color:var(--danger); font-style:normal; font-weight:400; }.span-2 { grid-column:1/-1; }
.field-control, .form-panel select, .form-panel input, .form-panel textarea, .activity-form input, .activity-form select, .activity-form textarea { width:100%; padding:10px 11px; border:1px solid var(--line-strong); border-radius:6px; background:#171421; color:white; }.field-control:focus, .form-panel input:focus, .form-panel textarea:focus { border-color:var(--lime); box-shadow:0 0 0 3px rgba(212,255,0,.08); }.form-panel textarea { resize:vertical; }.form-panel select[multiple] { min-height:110px; }.form-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:22px; padding-top:18px; border-top:1px solid var(--line); }.form-error { margin-bottom:14px; padding:10px; color:#ffd0cd; background:rgba(255,107,99,.1); border:1px solid rgba(255,107,99,.3); border-radius:6px; }
.detail-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(260px,.7fr); gap:14px; }.detail-main, .detail-side { display:grid; align-content:start; gap:14px; }.facts dl { margin:0; }.facts dl div { display:flex; justify-content:space-between; gap:15px; padding:11px 14px; border-bottom:1px solid var(--line); }.facts dt { color:var(--muted); }.facts dd { margin:0; text-align:right; }.activity-form { display:grid; grid-template-columns:145px 1fr auto; gap:8px; padding:12px; border-bottom:1px solid var(--line); }.activity-form textarea { grid-column:1/3; }.timeline { margin:0; padding:16px 18px 18px 34px; list-style:none; }.timeline li { position:relative; padding:0 0 20px 16px; border-left:1px solid var(--line); }.timeline li:last-child { padding-bottom:0; }.timeline i { position:absolute; left:-4px; top:4px; width:7px; height:7px; border-radius:50%; background:var(--violet); }.timeline strong,.timeline small { display:block; }.timeline p { margin:4px 0; color:#c1bdc8; }.timeline small { color:var(--muted); font-size:10px; }.contact-row { display:flex; align-items:center; gap:10px; padding:10px 14px; border-bottom:1px solid var(--line); }.contact-row > span:last-child { display:grid; }.contact-row small { color:var(--muted); }.focus-panel { padding:24px; border-color:rgba(212,255,0,.2); background:linear-gradient(110deg, rgba(212,255,0,.055), rgba(33,29,46,.5)); }.focus-panel > span { color:var(--lime); text-transform:uppercase; font-size:10px; letter-spacing:.06em; }.focus-panel h2 { margin:6px 0; font-size:20px; }.focus-panel p { margin:0; color:var(--muted); }.project-hero { display:grid; grid-template-columns:auto minmax(150px,1fr) auto; gap:20px; align-items:center; margin-bottom:14px; padding:16px 18px; border:1px solid var(--line); border-radius:var(--radius); background:rgba(33,29,46,.62); }.project-hero span { display:grid; }.project-hero small { color:var(--muted); }.project-hero strong { color:white; }.link-row,.maintenance-row { display:grid; grid-template-columns:1fr auto; gap:12px; padding:11px 14px; border-bottom:1px solid var(--line); }.link-row span { color:var(--muted); }.money-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr); gap:14px; }.maintenance-row { grid-template-columns:1fr auto auto auto; align-items:center; }.maintenance-row > span:first-child { display:grid; }.maintenance-row small { color:var(--muted); }.maintenance-row > span:nth-child(3) { font-size:11px; }.search-page { display:flex; max-width:850px; margin-bottom:20px; }.search-page input { flex:1; min-width:0; padding:14px; border:1px solid var(--line-strong); border-radius:7px 0 0 7px; background:var(--surface); color:white; font-size:16px; }.search-page .button { border-radius:0 7px 7px 0; }.search-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }.result-row { display:flex; justify-content:space-between; gap:15px; padding:12px 14px; border-bottom:1px solid var(--line); }.result-row small { color:var(--muted); }.milestones { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:18px; }.milestones label { display:grid; grid-template-columns:1fr auto; align-items:center; gap:7px; }.milestones label:first-child { color:var(--lime); }.milestones label:not(:first-child) { color:var(--violet-soft); }.milestones label > :first-child { grid-column:1/-1; }.muted { color:var(--muted); }.error-page { min-height:65vh; display:grid; place-items:center; align-content:center; gap:12px; text-align:center; }.error-page > strong { color:var(--lime); font-size:80px; line-height:1; }.error-page h1 { margin:0 0 12px; }
.mobile-tabs { display:none; }
.login-page { min-height:100vh; display:grid; place-items:center; padding:20px; background:radial-gradient(circle at 50% 30%, rgba(106,90,205,.18), transparent 34%),var(--ink-2); }.login-card { width:min(420px,100%); padding:36px; border:1px solid var(--line); border-radius:12px; background:var(--surface); box-shadow:var(--shadow); }.login-card .brand { padding:0 0 30px; }.login-card h1 { margin:0 0 4px; font-size:26px; }.login-card > p { margin:0 0 26px; color:var(--muted); }.stack-form { display:grid; gap:16px; }.stack-form label { display:grid; gap:6px; color:#d5d2da; font-weight:600; }.stack-form input { width:100%; padding:11px; border:1px solid var(--line-strong); border-radius:6px; background:var(--ink-2); color:white; }
@media (max-width: 1100px) { .metrics { grid-template-columns:repeat(2,1fr); }.dashboard-grid,.detail-grid,.money-grid { grid-template-columns:1fr; }.project-hero { grid-template-columns:auto 1fr; }.project-hero > span:last-child { grid-column:1/-1; }.projects-panel { grid-column:auto; } }
@media (max-width: 760px) {
  body { padding-bottom:64px; }.app-shell { display:block; }.app-frame { min-width:0; }.sidebar { width:min(290px,88vw); transform:translateX(-105%); transition:transform .2s ease; box-shadow:var(--shadow); }.sidebar.is-open { transform:none; }.topbar { height:54px; padding:0 14px; position:sticky; top:0; z-index:10; }.mobile-menu { display:block; }.search-box { width:auto; flex:1; }.search-box kbd { display:none; }.page { padding:20px 14px; }.page-heading { align-items:stretch; flex-direction:column; margin-bottom:18px; }.page-heading .button.primary { width:100%; }.page-heading h1 { font-size:23px; }.metrics { display:flex; overflow-x:auto; gap:10px; scroll-snap-type:x mandatory; scrollbar-width:none; }.metrics::-webkit-scrollbar { display:none; }.metric { flex:0 0 235px; scroll-snap-align:start; }.dashboard-grid { display:block; }.dashboard-grid .panel { margin-bottom:12px; }.data-row { grid-template-columns:26px minmax(0,1fr) auto; }.data-row .row-detail { grid-column:2/4; }.resource-table .table-head,.table-head { display:none; }.table-row { grid-template-columns:minmax(0,1fr) auto; }.table-row > span:nth-child(2),.table-row > span:nth-child(3) { font-size:11px; }.activity-form { grid-template-columns:1fr; }.activity-form textarea { grid-column:auto; }.form-grid { grid-template-columns:1fr; }.span-2 { grid-column:auto; }.form-panel { padding:16px; }.project-hero { grid-template-columns:1fr; }.project-hero > span:last-child { grid-column:auto; }.search-results { grid-template-columns:1fr; }.money-grid { grid-template-columns:1fr; }.maintenance-row { grid-template-columns:1fr auto; }.milestones { grid-template-columns:1fr; }.mobile-tabs { position:fixed; z-index:30; inset:auto 0 0; height:62px; display:grid; grid-template-columns:repeat(5,1fr); align-items:center; border-top:1px solid var(--line); background:#151321; }.mobile-tabs a { display:grid; place-items:center; color:var(--muted); }.mobile-tabs small { font-size:9px; }.mobile-tabs .mobile-add { color:var(--ink); }.mobile-add::before { content:""; position:absolute; z-index:-1; width:39px; height:39px; border-radius:50%; background:var(--lime); }.profile-shortcut { display:none; }
}
@media (max-width: 420px) { .page { padding-inline:10px; }.metric { flex-basis:215px; }.panel { border-radius:7px; }.snapshot-list a { grid-template-columns:1fr auto; }.snapshot-list small { display:none; }.table-row { padding-inline:10px; }.today-row { padding-inline:10px; } }
@media (max-width: 760px) {
  body { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  .pipeline-toolbar { display:none; }
  .mobile-stage-nav {
    position:sticky; top:62px; z-index:8; display:grid; grid-template-columns:44px minmax(0,1fr) 44px;
    align-items:center; gap:8px; margin:0 0 12px; padding:9px;
    border:1px solid var(--line-strong); border-radius:9px;
    background:rgba(27,23,37,.94); box-shadow:0 12px 30px rgba(0,0,0,.22); backdrop-filter:blur(14px);
  }
  .mobile-stage-nav label { min-width:0; display:grid; gap:2px; }
  .mobile-stage-select {
    width:100%; height:34px; padding:0 32px 0 10px; border:0; border-radius:5px;
    background:var(--surface-2); color:#fff; font-size:14px; font-weight:700;
  }
  .mobile-stage-position { color:var(--muted); font-size:10px; text-align:center; }
  .stage-step { width:44px; height:44px; display:grid; place-items:center; padding:0; border:1px solid var(--line); border-radius:7px; background:var(--surface); color:var(--platinum); }
  .stage-step:disabled { opacity:.25; }
  .stage-step svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
  .kanban { display:block; overflow:visible; padding:0; scroll-snap-type:none; }
  .kanban-column { display:none; width:100%; min-height:0; border-top-color:var(--lime); background:rgba(255,255,255,.018); }
  .kanban-column.is-mobile-active { display:block; }
  .kanban-column > header { height:50px; padding:0 14px; }
  .kanban-column h2 { font-size:13px; }
  .kanban-total { padding:0 14px 12px; font-size:11px; }
  .kanban-cards { min-height:0; gap:10px; padding:10px; }
  .kanban-empty { min-height:190px; display:grid; place-items:center; padding:24px; font-size:12px; }
  .opportunity-card { border-radius:8px; box-shadow:none; }
  .opportunity-card > a { padding:15px; }
  .opportunity-card small { font-size:11px; }
  .opportunity-card h3 { margin:5px 0 12px; font-size:16px; }
  .opportunity-card > a > strong { font-size:18px; }
  .opportunity-card p { min-height:0; margin:12px 0; font-size:13px; }
  .opportunity-card footer { font-size:11px; }
  .opportunity-card form { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:10px; padding:10px 12px; }
  .stage-action-label { display:block; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
  .opportunity-card select { min-height:38px; padding:7px 10px; font-size:13px; }
  .mobile-tabs {
    height:calc(72px + env(safe-area-inset-bottom)); grid-template-columns:repeat(4,1fr); padding:5px 8px env(safe-area-inset-bottom);
    border-top-color:var(--line-strong); background:rgba(18,16,29,.96); box-shadow:0 -10px 26px rgba(0,0,0,.2); backdrop-filter:blur(16px);
  }
  .mobile-tabs a { position:relative; min-height:58px; align-content:center; gap:3px; border-radius:9px; color:#8f8a9c; }
  .mobile-tabs a::before { content:""; position:absolute; top:-5px; left:50%; width:28px; height:2px; border-radius:2px; background:transparent; transform:translateX(-50%); }
  .mobile-tabs a.is-active { color:var(--lime); background:rgba(212,255,0,.055); }
  .mobile-tabs a.is-active::before { background:var(--lime); }
  .mobile-tabs small { font-size:10px; font-weight:600; line-height:1; }
  .tab-icon { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
}
/* Pipeline stage guidance */
.stage-heading { min-width:0; display:flex; align-items:center; gap:5px; }
.kanban-column h2 { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.stage-info-button { flex:none; width:30px; height:30px; display:grid; place-items:center; padding:0; border:0; border-radius:50%; background:transparent; color:var(--violet-soft); cursor:pointer; }
.stage-info-button:hover, .stage-info-button[aria-expanded="true"] { background:rgba(212,255,0,.09); color:var(--lime); }
.stage-info-button svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.stage-info-panel { margin:0 9px 9px; padding:11px; border:1px solid rgba(212,255,0,.24); border-left:3px solid var(--lime); border-radius:6px; background:#1a1725; box-shadow:0 10px 24px rgba(0,0,0,.18); }
.stage-info-panel[hidden] { display:none; }
.stage-info-panel strong { display:block; color:var(--lime); font-size:10px; letter-spacing:.05em; text-transform:uppercase; }
.stage-info-panel p { margin:4px 0 10px; color:#d0ccd6; font-size:11px; line-height:1.45; }
.stage-info-panel p:last-child { margin-bottom:0; }

/* Unified search control: the focus ring belongs to the whole group. */
.search-page { width:min(850px,100%); display:grid; grid-template-columns:minmax(0,1fr) auto; overflow:hidden; border:1px solid var(--line-strong); border-radius:8px; background:var(--surface); }
.search-page:focus-within { border-color:var(--lime); box-shadow:0 0 0 3px rgba(212,255,0,.08); }
.search-page input { min-width:0; padding:14px; border:0; border-radius:0; background:transparent; }
.search-page input:focus-visible { outline:0; }
.search-page .button { min-width:98px; min-height:100%; border-radius:0; }

@media (max-width:760px) {
  .stage-info-button { width:38px; height:38px; }
  .stage-info-button svg { width:22px; height:22px; }
  .stage-info-panel { margin:0 10px 10px; padding:13px; }
  .stage-info-panel strong { font-size:11px; }
  .stage-info-panel p { font-size:13px; }
}

.milestones label em { grid-column:1/-1; color:var(--danger); font-size:11px; font-style:normal; }
.opportunity-card select:disabled { cursor:wait; opacity:.65; }

/* Settings and persistent theme switch */
.settings-stack { max-width:700px; display:grid; gap:14px; margin:0 auto; }
.appearance-panel { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:20px 22px; }
.appearance-copy h2, .form-section-heading h2 { margin:0; font-size:17px; letter-spacing:-.02em; }
.appearance-copy p, .form-section-heading p { margin:4px 0 0; color:var(--muted); }
.appearance-copy small { display:block; margin-top:10px; color:var(--violet-soft); font-weight:700; }
.form-section-heading { margin-bottom:20px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.theme-control { flex:none; display:flex; align-items:center; gap:9px; color:var(--muted); font-size:11px; font-weight:700; }
.theme-switch { position:relative; width:54px; height:30px; display:block; cursor:pointer; }
.theme-switch input { position:absolute; width:1px; height:1px; opacity:0; }
.theme-switch-track { position:absolute; inset:0; display:flex; align-items:center; padding:3px; border:1px solid var(--line-strong); border-radius:999px; background:var(--surface-2); transition:background .18s ease, border-color .18s ease; }
.theme-switch-track > span { width:22px; height:22px; border-radius:50%; background:var(--platinum); box-shadow:0 2px 7px rgba(0,0,0,.22); transition:transform .18s ease, background .18s ease; }
.theme-switch input:checked + .theme-switch-track { border-color:var(--lime); background:var(--lime-bright); }
.theme-switch input:checked + .theme-switch-track > span { background:var(--ink); transform:translateX(24px); }
.theme-switch input:focus-visible + .theme-switch-track { outline:2px solid var(--lime); outline-offset:3px; }

html[data-theme="light"] {
  --ink-2:#f7f7fa;
  --surface:#ffffff;
  --surface-2:#efedf6;
  --lime:#5d7300;
  --lime-dim:#4d6000;
  --violet:#5f4fbe;
  --violet-soft:#5948ad;
  --platinum:#1b1725;
  --muted:#686271;
  --line:rgba(27,23,37,.12);
  --line-strong:rgba(27,23,37,.23);
  --shadow:0 18px 45px rgba(38,29,56,.12);
  color-scheme:light;
}
html[data-theme="light"] body { background:radial-gradient(circle at 72% -20%, rgba(106,90,205,.1), transparent 36%),var(--ink-2); }
html[data-theme="light"] .sidebar { background:linear-gradient(180deg,#fff,#f3f1f8); }
html[data-theme="light"] .nav-item { color:#4d4756; }
html[data-theme="light"] .nav-item > span { color:#756e80; }
html[data-theme="light"] .nav-item:hover { background:rgba(27,23,37,.055); color:var(--platinum); }
html[data-theme="light"] .nav-item.is-active { color:var(--platinum); background:rgba(106,90,205,.1); }
html[data-theme="light"] .topbar { background:rgba(255,255,255,.86); }
html[data-theme="light"] .search-box { background:rgba(27,23,37,.025); }
html[data-theme="light"] .search-box input,
html[data-theme="light"] .search-page input,
html[data-theme="light"] .field-control,
html[data-theme="light"] .form-panel select,
html[data-theme="light"] .form-panel input,
html[data-theme="light"] .form-panel textarea,
html[data-theme="light"] .activity-form input,
html[data-theme="light"] .activity-form select,
html[data-theme="light"] .activity-form textarea { color:var(--platinum); }
html[data-theme="light"] .mobile-menu,
html[data-theme="light"] .page-heading h1,
html[data-theme="light"] .metric strong,
html[data-theme="light"] .stage-strip strong,
html[data-theme="light"] .opportunity-card > a > strong,
html[data-theme="light"] .project-hero strong { color:var(--platinum); }
html[data-theme="light"] .metric span,
html[data-theme="light"] .form-grid label,
html[data-theme="light"] .stack-form label { color:#3f3947; }
html[data-theme="light"] .metric { background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(106,90,205,.035)); }
html[data-theme="light"] .panel { background:rgba(255,255,255,.88); box-shadow:0 1px 0 rgba(255,255,255,.8) inset; }
html[data-theme="light"] .data-row:hover,
html[data-theme="light"] .table-row:hover,
html[data-theme="light"] .today-row:hover { background:rgba(27,23,37,.025); }
html[data-theme="light"] .button.primary,
html[data-theme="light"] .skip-link { background:var(--lime-bright); color:var(--ink); }
html[data-theme="light"] .button.secondary { color:var(--violet-soft); }
html[data-theme="light"] .message { background:#fff; color:var(--platinum); }
html[data-theme="light"] .kanban-column { background:rgba(106,90,205,.035); }
html[data-theme="light"] .opportunity-card { background:var(--surface); }
html[data-theme="light"] .opportunity-card p,
html[data-theme="light"] .timeline p { color:#514a59; }
html[data-theme="light"] .opportunity-card select,
html[data-theme="light"] .field-control,
html[data-theme="light"] .form-panel select,
html[data-theme="light"] .form-panel input,
html[data-theme="light"] .form-panel textarea,
html[data-theme="light"] .activity-form input,
html[data-theme="light"] .activity-form select,
html[data-theme="light"] .activity-form textarea,
html[data-theme="light"] .stack-form input { background:#fff; }
html[data-theme="light"] .project-hero { background:rgba(255,255,255,.88); }
html[data-theme="light"] .mobile-stage-nav { background:rgba(255,255,255,.94); }
html[data-theme="light"] .mobile-stage-select { color:var(--platinum); }
html[data-theme="light"] .mobile-tabs { background:rgba(255,255,255,.96); }
html[data-theme="light"] .mobile-tabs a { color:#696271; }
html[data-theme="light"] .stage-info-panel { background:#fff; }
html[data-theme="light"] .stage-info-panel p { color:#494251; }
html[data-theme="light"] .login-page { background:radial-gradient(circle at 50% 30%,rgba(106,90,205,.12),transparent 34%),var(--ink-2); }

@media (max-width:760px) {
  .appearance-panel { align-items:flex-start; flex-direction:column; gap:18px; padding:18px; }
  .theme-control { width:100%; justify-content:flex-end; }
}

@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }

/* Lightweight project execution workspace */
.workspace-heading { margin-bottom:16px; }
.workspace-bar { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:13px; padding:8px; border:1px solid var(--line); border-radius:8px; background:rgba(33,29,46,.45); }
.workspace-tabs { display:flex; align-items:center; gap:4px; }
.workspace-tabs a { min-height:35px; display:grid; place-items:center; padding:0 15px; border-radius:5px; color:var(--muted); font-size:12px; font-weight:700; }
.workspace-tabs a:hover { color:var(--platinum); }
.workspace-tabs a.is-active { background:rgba(106,90,205,.22); color:#d4ceff; }
.workspace-filter label { display:grid; grid-template-columns:auto minmax(145px,1fr); align-items:center; gap:8px; color:var(--muted); font-size:11px; }
.workspace-filter select { min-height:35px; padding:0 30px 0 10px; border:1px solid var(--line); border-radius:5px; background:var(--surface-2); color:var(--platinum); }
.mobile-task-nav { display:none; }
.delivery-board { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(245px,1fr); gap:10px; overflow-x:auto; padding-bottom:16px; scroll-snap-type:x proximity; }
.delivery-column { min-height:530px; overflow:hidden; scroll-snap-align:start; border:1px solid var(--line); border-top:2px solid var(--violet); border-radius:8px; background:rgba(255,255,255,.018); }
.delivery-column[data-task-status="this_week"] { border-top-color:var(--lime-dim); }
.delivery-column[data-task-status="blocked"] { border-top-color:var(--warning); }
.delivery-column[data-task-status="done"] { border-top-color:var(--success); }
.delivery-column > header { min-height:46px; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:0 11px; border-bottom:1px solid var(--line); }
.delivery-column > header h2 { margin:0; font-size:11px; letter-spacing:.045em; text-transform:uppercase; }
.delivery-column > header span { min-width:23px; height:23px; display:grid; place-items:center; padding:0 6px; border-radius:999px; background:rgba(255,255,255,.07); color:var(--muted); font-size:10px; }
.delivery-column.is-over { outline:1px solid var(--lime); background:rgba(212,255,0,.045); }
.delivery-cards { min-height:475px; display:grid; align-content:start; gap:8px; padding:9px; }
.delivery-empty { min-height:92px; display:grid; place-items:center; padding:14px; border:1px dashed var(--line); border-radius:7px; color:var(--muted); text-align:center; font-size:10px; }
.delivery-card { overflow:hidden; border:1px solid var(--line); border-radius:7px; background:var(--surface); box-shadow:0 8px 22px rgba(0,0,0,.11); }
.delivery-card.priority-urgent { border-left:3px solid var(--danger); }
.delivery-card.priority-high { border-left:3px solid var(--warning); }
.delivery-card > a { display:block; padding:11px 11px 7px; }
.delivery-card h3 { margin:0; color:var(--platinum); font-size:13px; line-height:1.35; }
.delivery-card p { margin:6px 0 0; color:var(--muted); font-size:10px; line-height:1.45; }
.blocked-note { display:grid; gap:2px; margin:0 11px 8px; padding:7px 8px; border-left:2px solid var(--warning); background:rgba(255,184,77,.07); color:#d6c6ad; font-size:10px; }
.blocked-note strong { color:var(--warning); font-size:9px; letter-spacing:.05em; text-transform:uppercase; }
.delivery-card footer { display:flex; align-items:center; gap:7px; padding:4px 11px 10px; color:var(--muted); font-size:9px; }
.delivery-card footer .priority-label { margin-left:auto; color:var(--warning); }
.avatar.mini { width:22px; height:22px; font-size:8px; }
.task-status-form { padding:7px 9px; border-top:1px solid var(--line); }
.task-status-form label { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:7px; color:var(--muted); font-size:9px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.task-status-form select { width:100%; min-height:30px; padding:4px 7px; border:1px solid var(--line); border-radius:4px; background:#1b1826; color:#c8c3d0; font-size:10px; text-transform:none; }
.task-status-form select:disabled { cursor:wait; opacity:.65; }
.delivery-card.is-moving { pointer-events:none; opacity:.62; }
.task-step { width:42px; height:42px; display:grid; place-items:center; padding:0; border:1px solid var(--line); border-radius:7px; background:var(--surface); color:var(--platinum); }
.task-step:disabled { opacity:.25; }
.task-step svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.week-toolbar { min-height:52px; display:flex; align-items:center; justify-content:center; gap:14px; margin-bottom:12px; }
.week-toolbar > div { min-width:210px; display:grid; text-align:center; }
.week-toolbar strong { font-size:14px; }
.week-toolbar small { color:var(--muted); font-size:10px; }
.week-grid { display:grid; grid-template-columns:repeat(7,minmax(135px,1fr)); gap:8px; overflow-x:auto; padding-bottom:14px; }
.week-day { min-height:460px; border:1px solid var(--line); border-radius:8px; background:rgba(255,255,255,.018); }
.week-day.is-today { border-top:2px solid var(--lime); background:rgba(212,255,0,.025); }
.week-day > header { min-height:48px; display:flex; align-items:center; justify-content:space-between; padding:0 10px; border-bottom:1px solid var(--line); }
.week-day > header span { color:var(--muted); font-size:10px; font-weight:700; text-transform:uppercase; }
.week-day > header strong { width:27px; height:27px; display:grid; place-items:center; border-radius:50%; font-size:12px; }
.week-day.is-today > header strong { background:var(--lime); color:var(--ink); }
.week-day > div { display:grid; align-content:start; gap:7px; padding:8px; }
.week-day > div > p { margin:10px 2px; color:var(--muted); font-size:9px; }
.week-task { display:grid; gap:7px; padding:9px; border:1px solid var(--line); border-radius:6px; background:var(--surface); }
.week-task.priority-urgent { border-left:3px solid var(--danger); }
.week-task.priority-high { border-left:3px solid var(--warning); }
.week-task strong { font-size:10px; line-height:1.35; }
.week-task > span { display:flex; align-items:center; gap:5px; color:var(--muted); font-size:8px; }
.row-actions { display:flex; align-items:center; justify-content:flex-end; gap:9px; color:var(--violet-soft); font-size:10px; }
.row-actions form { display:inline; }
.link-row > a:first-child { display:grid; }

html[data-theme="light"] .workspace-bar,
html[data-theme="light"] .delivery-column,
html[data-theme="light"] .week-day { background:rgba(106,90,205,.035); }
html[data-theme="light"] .delivery-card,
html[data-theme="light"] .week-task { background:#fff; }
html[data-theme="light"] .task-status-form select { background:#fff; color:var(--platinum); }
html[data-theme="light"] .workspace-tabs a.is-active { color:var(--violet-soft); }

@media (max-width:760px) {
  .workspace-heading { margin-bottom:14px; }
  .workspace-bar { align-items:stretch; flex-direction:column; gap:8px; padding:7px; }
  .workspace-tabs { display:grid; grid-template-columns:repeat(2,1fr); }
  .workspace-filter label { grid-template-columns:1fr; gap:4px; }
  .mobile-task-nav { position:sticky; top:62px; z-index:8; display:grid; grid-template-columns:44px minmax(0,1fr) 44px; align-items:center; gap:8px; margin:0 0 12px; padding:9px; border:1px solid var(--line-strong); border-radius:9px; background:rgba(27,23,37,.94); box-shadow:0 12px 30px rgba(0,0,0,.22); backdrop-filter:blur(14px); }
  .mobile-task-nav label { min-width:0; display:grid; gap:2px; }
  .mobile-task-select { width:100%; height:34px; padding:0 32px 0 10px; border:0; border-radius:5px; background:var(--surface-2); color:var(--platinum); font-size:14px; font-weight:700; }
  .mobile-task-position { color:var(--muted); font-size:10px; text-align:center; }
  .delivery-board { display:block; overflow:visible; padding:0; }
  .delivery-column { display:none; width:100%; min-height:0; }
  .delivery-column.is-mobile-active { display:block; }
  .delivery-column > header { min-height:49px; padding-inline:13px; }
  .delivery-column > header h2 { font-size:13px; }
  .delivery-cards { min-height:0; gap:10px; padding:10px; }
  .delivery-empty { min-height:190px; font-size:12px; }
  .delivery-card { box-shadow:none; }
  .delivery-card > a { padding:14px 14px 8px; }
  .delivery-card h3 { font-size:15px; }
  .delivery-card p { font-size:12px; }
  .delivery-card footer { padding-inline:14px; font-size:10px; }
  .task-status-form { padding:10px 12px; }
  .task-status-form label { grid-template-columns:auto minmax(0,1fr); font-size:10px; }
  .task-status-form select { min-height:38px; font-size:13px; }
  .week-toolbar { justify-content:space-between; }
  .week-toolbar > div { min-width:0; }
  .week-grid { display:grid; grid-template-columns:1fr; overflow:visible; }
  .week-day { min-height:0; }
  .week-day > header { min-height:44px; }
  .week-day > div { min-height:70px; }
  .week-task strong { font-size:13px; }
  .week-task > span { font-size:10px; }
  .row-actions { grid-column:1/-1; justify-content:flex-start; }
  html[data-theme="light"] .mobile-task-nav { background:rgba(255,255,255,.94); }
}
