:root {
  --desk-gold: #dfc36f;
  --desk-cream: #f4f0e5;
  --desk-muted: #8b8d84;
  --desk-line: rgba(216, 193, 119, 0.16);
  --desk-panel: rgba(12, 14, 11, 0.88);
  --desk-green: #71d7ad;
  --desk-red: #ef8a7f;
}

.idea-desk-page { background: #050604; color: var(--desk-cream); }
.idea-desk-page .workspace { min-width: 0; }
.idea-scroll { padding: 0 34px 54px; }
.idea-actions { gap: 10px; }
.idea-search { align-items: center; background: rgba(255,255,255,.025); border: 1px solid rgba(255,255,255,.08); border-radius: 11px; display: flex; gap: 9px; min-width: 270px; padding: 0 12px; }
.idea-search input { background: transparent; border: 0; color: var(--desk-cream); font: 500 12px Manrope,sans-serif; outline: none; padding: 11px 0; width: 100%; }
.idea-search input::placeholder { color: #6f716b; }
.editor-toggle,.new-idea-button { border: 1px solid var(--desk-line); border-radius: 10px; color: var(--desk-cream); font: 500 11px "DM Mono",monospace; letter-spacing: .05em; padding: 11px 14px; }
.editor-toggle { background: transparent; }
.editor-toggle.is-active { background: rgba(223,195,111,.12); border-color: rgba(223,195,111,.4); color: var(--desk-gold); }
.new-idea-button { background: var(--desk-gold); color: #11120d; }

.desk-lock { align-items: center; background: radial-gradient(circle at 50% 28%,rgba(184,152,69,.13),transparent 35%),linear-gradient(135deg,rgba(12,15,11,.96),rgba(6,7,5,.98)); border: 1px solid var(--desk-line); border-radius: 24px; display: flex; flex-direction: column; justify-content: center; min-height: calc(100vh - 150px); overflow: hidden; padding: 70px 24px; position: relative; text-align: center; }
.desk-lock::before { border: 1px solid rgba(223,195,111,.08); border-radius: 50%; content:""; height: 620px; left: 50%; position:absolute; top:-370px; transform:translateX(-50%); width:620px; }
.lock-index { color:#6e7068; font:400 9px "DM Mono",monospace; left:28px; letter-spacing:.23em; position:absolute; top:27px; }
.lock-orbit { align-items:center; border:1px solid rgba(223,195,111,.2); border-radius:50%; display:flex; height:92px; justify-content:center; margin-bottom:28px; position:relative; width:92px; }
.lock-orbit::before,.lock-orbit::after { border:1px solid rgba(223,195,111,.15); border-radius:50%; content:""; inset:14px -10px; position:absolute; transform:rotate(31deg); }
.lock-orbit::after { transform:rotate(-31deg); }
.lock-orbit b { color:var(--desk-gold); font:600 26px "Plus Jakarta Sans",sans-serif; }
.lock-orbit i { background:var(--desk-gold); border-radius:50%; box-shadow:0 0 14px var(--desk-gold); height:5px; left:7px; position:absolute; top:24px; width:5px; }
.desk-lock .eyebrow,.idea-hero .eyebrow { color:#b8a668; font:400 9px "DM Mono",monospace; letter-spacing:.22em; text-transform:uppercase; }
.desk-lock .eyebrow span,.idea-hero .eyebrow span { background:var(--desk-gold); display:inline-block; height:1px; margin-right:9px; vertical-align:middle; width:24px; }
.desk-lock h1 { font:600 clamp(38px,5vw,70px)/.98 "Plus Jakarta Sans",sans-serif; letter-spacing:-.055em; margin:18px 0; }
.desk-lock h1 em,.idea-hero h1 em { color:var(--desk-gold); font-family:Georgia,serif; font-weight:400; }
.desk-lock>p:not(.eyebrow) { color:#999b92; font:400 14px/1.8 Manrope,sans-serif; max-width:650px; }
.lock-features { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin:27px 0; }
.lock-features span { border:1px solid rgba(255,255,255,.08); border-radius:999px; color:#aaaca2; font:400 9px "DM Mono",monospace; letter-spacing:.1em; padding:9px 12px; text-transform:uppercase; }
.desk-checkout { align-items:center; background:var(--desk-gold); border-radius:12px; color:#0b0c08; display:flex; font:700 12px Manrope,sans-serif; gap:10px; padding:15px 22px; text-decoration:none; }

.idea-hero { align-items:center; border-bottom:1px solid var(--desk-line); display:grid; gap:50px; grid-template-columns:minmax(0,1.5fr) minmax(300px,.65fr); padding:64px 8px 52px; }
.idea-hero h1 { font:600 clamp(40px,5vw,74px)/.98 "Plus Jakarta Sans",sans-serif; letter-spacing:-.06em; margin:18px 0 22px; }
.idea-hero>div>p:last-child { color:#8f9189; font:400 14px/1.8 Manrope,sans-serif; max-width:760px; }
.desk-standard { background:linear-gradient(145deg,rgba(19,22,17,.92),rgba(8,10,8,.9)); border:1px solid var(--desk-line); border-radius:18px; display:grid; gap:11px; padding:26px; }
.desk-standard>span { color:#77796f; font:400 8px "DM Mono",monospace; letter-spacing:.2em; }
.desk-standard strong { font:600 17px "Plus Jakarta Sans",sans-serif; }
.desk-standard i { background:linear-gradient(90deg,var(--desk-gold),transparent); height:1px; width:100%; }
.desk-standard small { color:#777a71; font:400 10px/1.6 Manrope,sans-serif; margin-top:7px; }

.idea-metrics { display:grid; grid-template-columns:repeat(4,1fr); margin:26px 0; }
.idea-metrics article { border:1px solid rgba(255,255,255,.07); border-right:0; padding:22px; }
.idea-metrics article:first-child { border-radius:14px 0 0 14px; }
.idea-metrics article:last-child { border-radius:0 14px 14px 0; border-right:1px solid rgba(255,255,255,.07); }
.idea-metrics span,.idea-metrics small { color:#777a72; display:block; font:400 9px "DM Mono",monospace; letter-spacing:.08em; }
.idea-metrics strong { display:block; font:600 31px "Plus Jakarta Sans",sans-serif; margin:11px 0 8px; }

.desk-toolbar { align-items:flex-end; display:flex; justify-content:space-between; margin:42px 0 17px; }
.panel-kicker { color:#85877e; font:400 8px "DM Mono",monospace; letter-spacing:.18em; text-transform:uppercase; }
.desk-toolbar h2 { font:600 26px "Plus Jakarta Sans",sans-serif; letter-spacing:-.035em; margin-top:7px; }
.desk-filters { border:1px solid rgba(255,255,255,.07); border-radius:10px; display:flex; padding:4px; }
.desk-filters button { background:transparent; border:0; border-radius:7px; color:#767870; font:500 10px "DM Mono",monospace; padding:8px 11px; }
.desk-filters button.is-active { background:rgba(223,195,111,.12); color:var(--desk-gold); }

.desk-grid { align-items:start; display:grid; gap:18px; grid-template-columns:minmax(320px,.78fr) minmax(0,1.4fr); }
.idea-feed,.idea-dossier { background:var(--desk-panel); border:1px solid rgba(255,255,255,.075); border-radius:18px; min-width:0; }
.idea-feed { display:grid; gap:1px; overflow:hidden; }
.idea-card { background:rgba(255,255,255,.012); border:0; border-bottom:1px solid rgba(255,255,255,.06); color:inherit; cursor:pointer; display:block; padding:20px; text-align:left; transition:.2s ease; width:100%; }
.idea-card:last-child { border-bottom:0; }
.idea-card:hover,.idea-card.is-selected { background:rgba(223,195,111,.055); }
.idea-card.is-selected { box-shadow:inset 2px 0 var(--desk-gold); }
.idea-card-top,.idea-card-footer { align-items:center; display:flex; justify-content:space-between; }
.idea-card-symbol { color:var(--desk-gold); font:500 11px "DM Mono",monospace; letter-spacing:.12em; }
.status-pill,.version-pill { border:1px solid rgba(255,255,255,.09); border-radius:999px; color:#8d8f87; font:400 8px "DM Mono",monospace; letter-spacing:.08em; padding:6px 8px; text-transform:uppercase; }
.status-pill.published { border-color:rgba(113,215,173,.25); color:var(--desk-green); }
.status-pill.archived { border-color:rgba(239,138,127,.2); color:#be938e; }
.status-pill.draft { border-color:rgba(223,195,111,.25); color:var(--desk-gold); }
.idea-card h3 { font:600 17px/1.35 "Plus Jakarta Sans",sans-serif; margin:14px 0 8px; }
.idea-card p { color:#85877f; font:400 11px/1.6 Manrope,sans-serif; }
.idea-card-footer { color:#6e7069; font:400 8px "DM Mono",monospace; letter-spacing:.06em; margin-top:17px; text-transform:uppercase; }
.idea-card-footer span:last-child { color:#a5a79d; }
.desk-loading,.desk-empty { align-items:center; display:flex; flex-direction:column; justify-content:center; min-height:360px; padding:35px; text-align:center; }
.desk-loading span { animation:desk-pulse 1.2s infinite; border:1px solid var(--desk-gold); border-radius:50%; height:28px; margin-bottom:16px; width:28px; }
.desk-loading strong,.desk-empty strong { font:600 18px "Plus Jakarta Sans",sans-serif; }
.desk-loading small,.desk-empty p { color:#74766f; font:400 11px/1.7 Manrope,sans-serif; margin-top:8px; }
@keyframes desk-pulse { 50% { box-shadow:0 0 0 10px rgba(223,195,111,0); opacity:.45; } }

.idea-dossier { min-height:660px; overflow:hidden; position:sticky; top:86px; }
.dossier-empty { align-items:center; display:flex; flex-direction:column; justify-content:center; min-height:650px; padding:40px; text-align:center; }
.dossier-empty span { color:#5e605a; font:400 9px "DM Mono",monospace; letter-spacing:.2em; }
.dossier-empty strong { font:600 24px "Plus Jakarta Sans",sans-serif; margin:15px 0 8px; }
.dossier-empty p { color:#74766f; font:400 12px/1.7 Manrope,sans-serif; max-width:390px; }
#dossier-content { padding:27px; }
.dossier-viewing { align-items:center; background:rgba(223,195,111,.08); border:1px solid rgba(223,195,111,.18); border-radius:10px; display:flex; gap:10px; margin-bottom:18px; padding:11px 13px; }
.dossier-viewing span { color:var(--desk-gold); font:400 8px "DM Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }
.dossier-viewing strong { flex:1; font:500 10px Manrope,sans-serif; }
.dossier-viewing button { background:transparent; border:0; color:var(--desk-cream); font:500 9px "DM Mono",monospace; text-decoration:underline; }
.dossier-head { align-items:center; display:flex; justify-content:space-between; }
.dossier-head>div { display:flex; gap:7px; }
.editor-actions button { background:transparent; border:1px solid rgba(255,255,255,.09); border-radius:8px; color:#aaaca3; font:500 9px "DM Mono",monospace; padding:7px 9px; }
.editor-actions button:hover { border-color:rgba(223,195,111,.35); color:var(--desk-gold); }
.idea-identity { border-bottom:1px solid rgba(255,255,255,.07); padding:28px 0; }
.idea-identity>span { color:var(--desk-gold); font:500 12px "DM Mono",monospace; letter-spacing:.14em; }
.idea-identity>small { color:#75776f; float:right; font:400 9px "DM Mono",monospace; text-transform:uppercase; }
.idea-identity h2 { clear:both; font:600 clamp(25px,3vw,38px)/1.12 "Plus Jakarta Sans",sans-serif; letter-spacing:-.045em; margin:14px 0 11px; }
.idea-identity p,.dossier-section p { color:#91938a; font:400 12px/1.75 Manrope,sans-serif; white-space:pre-wrap; }
.chart-section { border-bottom:1px solid rgba(255,255,255,.06); padding:22px 0; }
.chart-section>header { align-items:flex-end; display:flex; justify-content:space-between; margin-bottom:14px; }
.chart-section>header span { color:#73756d; display:block; font:400 8px "DM Mono",monospace; letter-spacing:.15em; margin-bottom:6px; text-transform:uppercase; }
.chart-section h3 { font:600 18px "Plus Jakarta Sans",sans-serif; }
.chart-section>header small { color:#6f7169; font:400 8px "DM Mono",monospace; }
.chart-gallery { display:grid; gap:12px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.chart-card { background:#070906; border:1px solid rgba(255,255,255,.075); border-radius:12px; margin:0; overflow:hidden; position:relative; }
.chart-frame { align-items:center; aspect-ratio:16/10; background:linear-gradient(145deg,rgba(223,195,111,.045),rgba(0,0,0,.3)); display:flex; justify-content:center; overflow:hidden; }
.chart-frame img { display:block; height:100%; object-fit:contain; width:100%; }
.chart-frame span { color:#666960; font:400 8px "DM Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }
.chart-card figcaption { color:#8c8e85; font:400 10px/1.55 Manrope,sans-serif; min-height:46px; padding:11px 12px; }
.chart-remove { backdrop-filter:blur(8px); background:rgba(8,9,7,.82); border:1px solid rgba(239,138,127,.25); border-radius:7px; color:#d59a92; font:500 8px "DM Mono",monospace; padding:7px 8px; position:absolute; right:8px; top:8px; z-index:2; }
.dossier-section { border-bottom:1px solid rgba(255,255,255,.06); padding:22px 0; }
.dossier-section>span,.revision-section header span { color:#73756d; display:block; font:400 8px "DM Mono",monospace; letter-spacing:.15em; margin-bottom:10px; text-transform:uppercase; }
.condition-list { counter-reset:conditions; display:grid; gap:9px; list-style:none; }
.condition-list li { align-items:flex-start; color:#a3a59c; display:grid; font:400 11px/1.6 Manrope,sans-serif; gap:10px; grid-template-columns:25px 1fr; }
.condition-list li::before { border:1px solid var(--desk-line); border-radius:50%; color:var(--desk-gold); content:counter(conditions); counter-increment:conditions; font:400 8px/23px "DM Mono",monospace; height:23px; text-align:center; width:23px; }
.dossier-pair { display:grid; grid-template-columns:1fr 1fr; }
.dossier-pair .dossier-section { padding-right:19px; }
.dossier-pair .dossier-section+section { border-left:1px solid rgba(255,255,255,.06); padding-left:19px; padding-right:0; }
.invalidation>span { color:#b88c86; }
.risk-context { background:rgba(223,195,111,.035); margin:0 -27px; padding:22px 27px; }
.revision-section { padding:27px 0 8px; }
.revision-section header { align-items:flex-end; display:flex; justify-content:space-between; }
.revision-section h3 { font:600 18px "Plus Jakarta Sans",sans-serif; }
.revision-section header small { color:#6f7169; font:400 8px "DM Mono",monospace; }
.revision-list { display:grid; gap:8px; margin-top:17px; }
.revision-entry { align-items:start; background:rgba(255,255,255,.018); border:1px solid rgba(255,255,255,.065); border-radius:10px; display:grid; gap:10px; grid-template-columns:40px 1fr auto; padding:11px; text-align:left; width:100%; }
.revision-entry>span { color:var(--desk-gold); font:500 9px "DM Mono",monospace; }
.revision-entry strong { display:block; font:600 10px Manrope,sans-serif; text-transform:capitalize; }
.revision-entry p { color:#74766e; font:400 9px/1.5 Manrope,sans-serif; margin-top:3px; }
.revision-entry time { color:#65675f; font:400 8px "DM Mono",monospace; }
.research-boundary { border-top:1px solid var(--desk-line); margin-top:25px; padding-top:18px; }
.research-boundary strong { color:#ada077; font:500 9px "DM Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }
.research-boundary p { color:#6e7069; font:400 9px/1.6 Manrope,sans-serif; margin-top:7px; }

.idea-modal[hidden] { display:none; }
.idea-modal { align-items:center; display:flex; inset:0; justify-content:center; padding:24px; position:fixed; z-index:100; }
.modal-scrim { backdrop-filter:blur(12px); background:rgba(0,0,0,.78); border:0; inset:0; position:absolute; }
.idea-dialog,.action-dialog { background:#0c0e0b; border:1px solid rgba(223,195,111,.22); border-radius:18px; box-shadow:0 30px 100px rgba(0,0,0,.65); max-height:calc(100vh - 48px); overflow:auto; position:relative; width:min(880px,100%); }
.idea-dialog>header { align-items:center; border-bottom:1px solid rgba(255,255,255,.07); display:flex; justify-content:space-between; padding:20px 24px; }
.idea-dialog>header span,.action-dialog>span { color:#777a70; font:400 8px "DM Mono",monospace; letter-spacing:.17em; }
.idea-dialog h2,.action-dialog h2 { font:600 22px "Plus Jakarta Sans",sans-serif; margin-top:6px; }
.idea-dialog>header button { background:transparent; border:0; color:#8d8f86; font-size:24px; }
.idea-form-grid { display:grid; gap:15px; grid-template-columns:1fr 1fr; padding:24px; }
.field { display:grid; gap:7px; }
.field-wide { grid-column:1/-1; }
.field>span,.action-dialog label>span { color:#82847c; font:400 8px "DM Mono",monospace; letter-spacing:.12em; text-transform:uppercase; }
.field input,.field select,.field textarea,.action-dialog textarea { background:#080a07; border:1px solid rgba(255,255,255,.09); border-radius:9px; color:var(--desk-cream); font:400 11px/1.6 Manrope,sans-serif; outline:none; padding:11px 12px; resize:vertical; }
.chart-upload-field input[type="file"] { color:#8d8f87; cursor:pointer; padding:8px; }
.chart-upload-field input[type="file"]::file-selector-button { background:rgba(223,195,111,.12); border:1px solid rgba(223,195,111,.25); border-radius:7px; color:var(--desk-gold); cursor:pointer; font:500 9px "DM Mono",monospace; margin-right:12px; padding:8px 10px; }
.chart-upload-field small { color:#676a62; font:400 9px/1.5 Manrope,sans-serif; }
.field input:focus,.field select:focus,.field textarea:focus,.action-dialog textarea:focus { border-color:rgba(223,195,111,.46); box-shadow:0 0 0 3px rgba(223,195,111,.055); }
.idea-dialog form>footer,.action-dialog footer { border-top:1px solid rgba(255,255,255,.07); display:flex; gap:9px; justify-content:flex-end; padding:16px 24px; }
.idea-dialog footer button,.action-dialog button { border:1px solid rgba(255,255,255,.09); border-radius:9px; font:600 10px Manrope,sans-serif; padding:10px 15px; }
.idea-dialog footer .secondary,.action-dialog footer button:first-child { background:transparent; color:#96988f; }
.idea-dialog footer .primary,.action-dialog footer button:last-child { background:var(--desk-gold); color:#11120d; }
.action-dialog { padding:24px; width:min(470px,100%); }
.action-dialog>p { color:#85877f; font:400 11px/1.7 Manrope,sans-serif; margin:12px 0 18px; }
.action-dialog label { display:grid; gap:8px; }
.action-dialog footer { margin:22px -24px -24px; }
.modal-open { overflow:hidden; }

.toast { z-index:150; }

@media (max-width:1180px) {
  .idea-hero { grid-template-columns:1fr; }
  .desk-standard { grid-template-columns:1fr auto 1fr auto 1fr; }
  .desk-standard>span,.desk-standard small { grid-column:1/-1; }
  .desk-standard i { height:100%; width:1px; }
  .desk-grid { grid-template-columns:1fr; }
  .idea-dossier { position:static; }
}

@media (max-width:820px) {
  .idea-scroll { padding:0 14px 34px; }
  .idea-actions { width:auto; }
  .idea-search { display:none; }
  .idea-hero { padding:40px 0 35px; }
  .idea-hero h1 { font-size:44px; }
  .idea-metrics { grid-template-columns:1fr 1fr; }
  .idea-metrics article { border-bottom:0; border-radius:0!important; border-right:1px solid rgba(255,255,255,.07); }
  .idea-metrics article:nth-last-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.07); }
  .desk-toolbar { align-items:flex-start; flex-direction:column; gap:15px; }
  .desk-filters { max-width:100%; overflow:auto; }
  #dossier-content { padding:20px; }
  .risk-context { margin:0 -20px; padding:20px; }
}

@media (max-width:560px) {
  .new-idea-button { font-size:0; padding:10px 12px; }
  .new-idea-button span { font-size:18px; }
  .editor-toggle { padding:10px; }
  .desk-lock { min-height:calc(100vh - 112px); padding:58px 18px; }
  .desk-lock h1 { font-size:42px; }
  .lock-features { align-items:center; flex-direction:column; }
  .desk-standard { display:grid; grid-template-columns:1fr; }
  .desk-standard i { height:1px; width:100%; }
  .idea-metrics { grid-template-columns:1fr; }
  .idea-metrics article { border-bottom:0!important; }
  .idea-metrics article:last-child { border-bottom:1px solid rgba(255,255,255,.07)!important; }
  .dossier-pair { grid-template-columns:1fr; }
  .chart-gallery { grid-template-columns:1fr; }
  .dossier-pair .dossier-section+section { border-left:0; padding-left:0; }
  .idea-identity>small { display:block; float:none; margin-top:9px; }
  .dossier-head { align-items:flex-start; gap:12px; }
  .editor-actions { flex-wrap:wrap; justify-content:flex-end; }
  .revision-entry { grid-template-columns:36px 1fr; }
  .revision-entry time { grid-column:2; }
  .idea-form-grid { grid-template-columns:1fr; padding:18px; }
  .field-wide { grid-column:auto; }
  .idea-dialog>header { padding:17px 18px; }
}
