:root{
      --font-display:"Instrument Serif",Georgia,serif;
      --font-sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
      --font-mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
      --forest-950:#0b1510;--forest-900:#0e1a12;--forest-850:#142219;--forest-800:#1a2c20;--forest-700:#243b27;
      --green:#4d9958;--green-soft:#7dc28a;--cream:#f0ece2;--cream-100:#f7f5f0;--cream-200:#edebe4;--cream-300:#dfdbd1;--cream-500:#c8c0b0;--cream-700:#7a7468;
      --gold:#c4a355;--gold-soft:#dbbe7a;--ink:#171a18;--ink-700:#404640;--ink-500:#687069;--white:#fff;
      --danger:#b5453f;--danger-pale:#f7e3e1;--warning:#a76d17;--warning-pale:#f7ecd8;--success:#337844;--success-pale:#dfede2;--info:#3f6e8a;--info-pale:#e3edf3;
      --rule:#d8d4ca;--rule-dark:#2a3d2e;--sidebar:282px;--radius:14px;--radius-lg:22px;--shadow:0 1px 2px rgba(14,26,18,.04),0 12px 34px rgba(14,26,18,.07);--ease:cubic-bezier(.2,.75,.25,1)
    }
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--cream-100);color:var(--ink);font-family:var(--font-sans);font-size:14px;line-height:1.52;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{color:inherit}button,a{ -webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}img{display:block;max-width:100%}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;letter-spacing:-.025em;line-height:1.03}.hidden{display:none!important}
    .mono,.eyebrow,.nav-label,.metric-label,.field-label,.status-label,.step-number,.tiny{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em}.eyebrow{font-size:10px;color:#a89055;font-weight:600}.muted{color:var(--ink-500)}.subtle{color:#969b96}
    .app{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:var(--forest-900);color:var(--cream);padding:26px 18px 20px;display:flex;flex-direction:column;z-index:30}.brand{padding:4px 10px 28px;border-bottom:1px solid rgba(240,236,226,.1)}.brand img{width:178px}.brand small{display:block;margin-top:10px;color:rgba(240,236,226,.48);font-size:10px;font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase}.sidebar-section{padding:22px 0 0}.nav-label{font-size:9px;color:rgba(240,236,226,.36);padding:0 11px 9px}.nav{display:grid;gap:5px}.nav button{border:0;background:transparent;color:rgba(240,236,226,.66);padding:11px 12px;border-radius:9px;text-align:left;display:flex;align-items:center;gap:11px;cursor:pointer;transition:.18s ease}.nav button:hover{background:rgba(255,255,255,.05);color:var(--cream)}.nav button.active{background:rgba(196,163,85,.13);color:var(--cream);box-shadow:inset 2px 0 var(--gold-soft)}.nav svg{width:18px;height:18px;flex:none}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(240,236,226,.1);padding:18px 10px 0}.sidebar-footer .save-state{display:flex;align-items:center;gap:8px;color:rgba(240,236,226,.52);font-size:11px}.save-dot{width:7px;height:7px;border-radius:50%;background:var(--green-soft);box-shadow:0 0 0 4px rgba(125,194,138,.08)}.sidebar-footer button{margin-top:14px;width:100%;background:transparent;border:1px solid rgba(240,236,226,.12);color:rgba(240,236,226,.72);border-radius:9px;padding:9px;cursor:pointer}
    .main{margin-left:var(--sidebar);min-height:100vh}.topbar{height:78px;position:sticky;top:0;background:rgba(247,245,240,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;padding:0 32px;z-index:20}.project-switch{display:flex;align-items:center;gap:12px}.project-switch .avatar{width:36px;height:36px;border-radius:10px;background:var(--forest-800);color:var(--gold-soft);display:grid;place-items:center;font-family:var(--font-display);font-size:20px}.project-switch strong{display:block;font-size:13px}.project-switch span{display:block;color:var(--ink-500);font-size:11px;margin-top:1px}.top-actions{display:flex;gap:9px;align-items:center}.content{max-width:1560px;margin:0 auto;padding:34px 32px 70px}.view{display:none}.view.active{display:block}.view-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:26px}.view-head h1{font-size:44px;margin:4px 0 6px}.view-head p{max-width:720px;margin:0;color:var(--ink-500)}
    .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 14px;border-radius:9px;border:0;font-weight:600;cursor:pointer;transition:transform .18s var(--ease),background .18s ease,border-color .18s ease}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--forest-800);color:var(--cream)}.button.primary:hover{background:var(--forest-700)}.button.gold{background:var(--gold);color:var(--forest-950)}.button.secondary{background:var(--white);border:1px solid var(--rule)}.button.ghost{background:transparent;border:1px solid var(--rule)}.button.small{min-height:33px;padding:7px 10px;font-size:12px}.button.danger{background:var(--danger);color:white}.button svg{width:16px;height:16px}.icon-button{width:40px;height:40px;border:1px solid var(--rule);background:var(--white);border-radius:9px;display:grid;place-items:center;cursor:pointer}.icon-button svg{width:18px;height:18px}
    .hero{background:linear-gradient(135deg,var(--forest-900),var(--forest-800));color:var(--cream);border-radius:24px;padding:34px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:34px;position:relative;overflow:hidden;box-shadow:var(--shadow);margin-bottom:18px}.hero:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(219,190,122,.15);border-radius:50%;right:-160px;top:-190px}.hero h2{font-size:44px;margin:8px 0 12px;color:var(--cream)}.hero h2 em{color:var(--gold-soft);font-weight:400}.hero p{color:rgba(240,236,226,.62);max-width:690px;margin-bottom:28px}.hero-progress-card{position:relative;z-index:1;background:rgba(11,21,16,.5);border:1px solid rgba(240,236,226,.1);padding:23px;border-radius:18px;align-self:stretch}.hero-progress-card .big{font-family:var(--font-display);font-size:66px;line-height:.9;color:var(--gold-soft)}.hero-progress-card .desc{color:rgba(240,236,226,.56);margin:9px 0 18px}.progress-track{height:8px;border-radius:99px;background:rgba(240,236,226,.1);overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--gold),var(--green-soft));border-radius:inherit;transition:width .4s var(--ease)}.hero-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.tag{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:6px 8px;background:rgba(240,236,226,.08);color:rgba(240,236,226,.68)}
    .metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0}.metric{background:var(--white);border:1px solid var(--rule);border-radius:var(--radius);padding:18px;box-shadow:0 1px 2px rgba(14,26,18,.03)}.metric-label{font-size:9px;color:var(--ink-500)}.metric strong{display:block;font-family:var(--font-display);font-size:34px;font-weight:400;margin-top:8px}.metric small{color:var(--ink-500)}
    .grid-2{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:16px}.card{background:var(--white);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:0 1px 2px rgba(14,26,18,.025)}.card-head{padding:20px 20px 15px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--rule)}.card-head h3{font-size:25px;margin:0}.card-body{padding:18px 20px}.next-list,.blocker-list{display:grid;gap:10px}.next-item,.blocker-item{border:1px solid var(--rule);border-radius:12px;padding:14px 15px;display:flex;gap:12px;align-items:flex-start;background:var(--cream-100)}.next-item .number{width:27px;height:27px;border-radius:8px;background:var(--forest-800);color:var(--gold-soft);display:grid;place-items:center;font-family:var(--font-mono);font-size:10px;flex:none}.next-item strong,.blocker-item strong{display:block;font-size:13px}.next-item span,.blocker-item span{color:var(--ink-500);font-size:11px}.blocker-item{background:var(--warning-pale);border-color:#ead8b8}.blocker-dot{width:9px;height:9px;border-radius:50%;background:var(--warning);margin-top:6px;flex:none}
    .phase-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:18px}.phase-mini{background:var(--white);border:1px solid var(--rule);border-radius:12px;padding:14px;min-width:0}.phase-mini .step-number{font-size:9px;color:var(--ink-500)}.phase-mini strong{display:block;font-size:12px;margin:6px 0 9px}.phase-mini .mini-track{height:4px;background:var(--cream-200);border-radius:99px;overflow:hidden}.phase-mini .mini-track span{display:block;height:100%;background:var(--green);border-radius:inherit}.phase-mini.complete{border-color:#bcd8c2;background:#f9fcf9}.phase-mini.current{border-color:var(--gold);box-shadow:0 0 0 2px rgba(196,163,85,.08)}
    .project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.project-card{background:var(--white);border:1px solid var(--rule);border-radius:18px;padding:21px;cursor:pointer;transition:.18s var(--ease);box-shadow:0 1px 2px rgba(14,26,18,.03)}.project-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#c6b98f}.project-top{display:flex;justify-content:space-between;gap:12px}.project-card h3{font-size:28px;margin:10px 0 5px}.project-card p{color:var(--ink-500);font-size:12px}.project-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.pill{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:6px 8px;background:var(--cream-200);color:var(--ink-700)}.pill.success{background:var(--success-pale);color:var(--success)}.pill.warning{background:var(--warning-pale);color:var(--warning)}.pill.dark{background:var(--forest-800);color:var(--cream)}
    .journey{display:grid;gap:14px}.phase-card{background:var(--white);border:1px solid var(--rule);border-radius:18px;overflow:hidden}.phase-header{padding:20px 22px;display:grid;grid-template-columns:60px 1fr auto;gap:15px;align-items:center}.phase-index{width:52px;height:52px;border-radius:14px;background:var(--forest-800);display:grid;place-items:center;color:var(--gold-soft);font-family:var(--font-display);font-size:28px}.phase-header h2{font-size:29px;margin:0 0 5px}.phase-header p{margin:0;color:var(--ink-500);font-size:12px}.phase-score{text-align:right}.phase-score strong{font-family:var(--font-display);font-weight:400;font-size:30px}.phase-docs{border-top:1px solid var(--rule);padding:10px;background:var(--cream-100);display:grid;gap:8px}.doc-row{border:1px solid var(--rule);background:var(--white);border-radius:12px;padding:13px 14px;display:grid;grid-template-columns:42px minmax(0,1fr) 150px 120px auto;gap:12px;align-items:center}.doc-number{width:37px;height:37px;border-radius:10px;background:var(--cream-200);display:grid;place-items:center;font-family:var(--font-mono);font-size:10px;color:var(--forest-800);font-weight:600}.doc-row h3{font-family:var(--font-sans);font-size:13px;letter-spacing:0;font-weight:600;margin:0 0 3px}.doc-row p{margin:0;color:var(--ink-500);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-progress{display:flex;align-items:center;gap:8px}.doc-progress .bar{height:6px;background:var(--cream-200);border-radius:99px;overflow:hidden;flex:1}.doc-progress .bar span{height:100%;display:block;background:var(--green);border-radius:inherit}.doc-progress small{font-family:var(--font-mono);font-size:9px;width:30px;text-align:right}.status{font-size:9px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;padding:6px 8px;border-radius:999px;display:inline-flex;justify-content:center}.status.todo{background:var(--cream-200);color:var(--ink-500)}.status.progress{background:var(--info-pale);color:var(--info)}.status.done{background:var(--success-pale);color:var(--success)}.status.locked{background:var(--warning-pale);color:var(--warning)}
    .docs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.doc-card{background:var(--white);border:1px solid var(--rule);border-radius:16px;padding:19px;display:flex;flex-direction:column;min-height:215px}.doc-card .doc-number{margin-bottom:16px}.doc-card h3{font-size:24px;margin:0 0 8px}.doc-card p{font-size:12px;color:var(--ink-500);flex:1}.doc-card .bottom{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:14px;border-top:1px solid var(--rule)}
    .master-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.master-section{background:var(--white);border:1px solid var(--rule);border-radius:16px;padding:21px}.master-section h3{font-size:25px;margin-bottom:17px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field-label{font-size:9px;color:var(--ink-500);font-weight:600}.field input,.field textarea,.field select{width:100%;border:1px solid var(--rule);background:var(--cream-100);border-radius:9px;padding:10px 11px;color:var(--ink);transition:.15s ease}.field textarea{min-height:92px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--gold);background:var(--white)}.help{font-size:10px;color:var(--ink-500)}
    .empty{padding:36px;text-align:center;border:1px dashed #c9c5bb;border-radius:14px;color:var(--ink-500)}
    .gate-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:14px 20px 20px}.check{display:flex;align-items:flex-start;gap:9px;border:1px solid var(--rule);border-radius:10px;padding:11px;background:var(--cream-100)}.check input{margin-top:2px;accent-color:var(--green)}.check strong{font-size:11px}.check span{display:block;color:var(--ink-500);font-size:10px;margin-top:2px}
    .editor-backdrop{position:fixed;inset:0;background:rgba(11,21,16,.48);backdrop-filter:blur(3px);z-index:70;display:none}.editor-backdrop.open{display:block}.editor{position:fixed;inset:0 0 0 auto;width:min(920px,calc(100vw - 48px));background:var(--cream-100);box-shadow:-30px 0 90px rgba(11,21,16,.22);z-index:80;transform:translateX(104%);transition:transform .26s var(--ease);display:flex;flex-direction:column}.editor.open{transform:translateX(0)}.editor-head{padding:20px 24px;background:var(--forest-900);color:var(--cream);display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.editor-head h2{font-size:32px;color:var(--cream);margin:4px 0 5px}.editor-head p{margin:0;color:rgba(240,236,226,.55);font-size:11px}.editor-head .icon-button{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:var(--cream)}.editor-progress{padding:13px 24px;background:var(--white);border-bottom:1px solid var(--rule);display:flex;align-items:center;gap:13px}.editor-progress .bar{height:6px;flex:1;background:var(--cream-200);border-radius:99px;overflow:hidden}.editor-progress .bar span{height:100%;display:block;background:var(--green)}.editor-progress small{font-family:var(--font-mono);font-size:9px}.editor-body{padding:22px 24px 80px;overflow:auto;flex:1}.editor-section{background:var(--white);border:1px solid var(--rule);border-radius:14px;margin-bottom:12px;overflow:hidden}.editor-section-head{padding:15px 17px;border-bottom:1px solid var(--rule)}.editor-section-head h3{font-family:var(--font-sans);font-weight:700;letter-spacing:0;font-size:13px;margin:0}.editor-section-body{padding:17px;display:grid;gap:15px}.question{display:grid;gap:7px}.question label{font-weight:600;font-size:12px}.question .hint{font-size:10px;color:var(--ink-500);margin-top:-3px}.question input,.question textarea,.question select{width:100%;border:1px solid var(--rule);background:var(--cream-100);border-radius:9px;padding:10px 11px}.question textarea{min-height:110px;resize:vertical}.editor-warning{background:var(--warning-pale);border:1px solid #ead5ae;color:#704b16;border-radius:11px;padding:12px 14px;font-size:11px;margin-bottom:12px}.editor-footer{position:absolute;bottom:0;left:0;right:0;padding:13px 24px;border-top:1px solid var(--rule);background:rgba(247,245,240,.96);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:space-between}.matrix-row{border:1px solid var(--rule);border-radius:11px;padding:13px;background:var(--cream-100);display:grid;grid-template-columns:1fr 1.2fr;gap:12px}.matrix-row h4{font-family:var(--font-sans);font-size:12px;letter-spacing:0;font-weight:700;margin:0 0 8px}.matrix-options{font-size:10px;color:var(--ink-500);line-height:1.5}.financial-result{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.financial-result div{background:var(--forest-800);color:var(--cream);border-radius:11px;padding:13px}.financial-result span{display:block;font-family:var(--font-mono);font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:rgba(240,236,226,.52)}.financial-result strong{display:block;font-family:var(--font-display);font-size:23px;font-weight:400;color:var(--gold-soft);margin-top:4px}
    .modal-backdrop{position:fixed;inset:0;background:rgba(11,21,16,.52);z-index:90;display:none;place-items:center;padding:22px}.modal-backdrop.open{display:grid}.modal{width:min(560px,100%);background:var(--white);border-radius:18px;box-shadow:0 30px 90px rgba(11,21,16,.3);overflow:hidden}.modal-head{padding:20px 22px;border-bottom:1px solid var(--rule)}.modal-head h2{font-size:30px;margin:0}.modal-body{padding:20px 22px;display:grid;gap:13px}.modal-actions{padding:14px 22px;background:var(--cream-100);border-top:1px solid var(--rule);display:flex;justify-content:flex-end;gap:8px}
    .toast{position:fixed;right:24px;bottom:24px;background:var(--forest-900);color:var(--cream);padding:11px 14px;border-radius:10px;box-shadow:0 16px 40px rgba(11,21,16,.25);z-index:120;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s ease;font-size:11px}.toast.show{opacity:1;transform:translateY(0)}
    @media(max-width:1180px){.metrics{grid-template-columns:repeat(3,1fr)}.project-grid,.docs-grid{grid-template-columns:repeat(2,1fr)}.phase-strip{grid-template-columns:repeat(3,1fr)}.doc-row{grid-template-columns:42px 1fr 130px auto}.doc-row .status{display:none}.hero{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr}}
    @media(max-width:860px){:root{--sidebar:0px}.sidebar{transform:translateX(-100%)}.main{margin-left:0}.content{padding:24px 18px 60px}.topbar{padding:0 18px}.metrics{grid-template-columns:repeat(2,1fr)}.project-grid,.docs-grid,.master-grid{grid-template-columns:1fr}.phase-strip{grid-template-columns:repeat(2,1fr)}.doc-row{grid-template-columns:38px 1fr auto}.doc-row .doc-progress{display:none}.editor{width:100vw}.view-head{align-items:flex-start;flex-direction:column}.hero{padding:26px}.hero h2{font-size:38px}.form-grid{grid-template-columns:1fr}.gate-checks{grid-template-columns:1fr}.matrix-row{grid-template-columns:1fr}.financial-result{grid-template-columns:1fr}}
    @media(max-width:540px){.metrics{grid-template-columns:1fr 1fr}.phase-strip{grid-template-columns:1fr}.project-grid,.docs-grid{grid-template-columns:1fr}.top-actions .button.secondary{display:none}.project-switch span{display:none}.editor-body{padding-left:15px;padding-right:15px}.editor-head,.editor-progress,.editor-footer{padding-left:15px;padding-right:15px}}
    @media print{.sidebar,.topbar,.button,.icon-button{display:none!important}.main{margin:0}.content{padding:0}.card,.hero,.phase-card,.doc-card{box-shadow:none}}

    .auth-screen{min-height:100vh;background:var(--forest-900);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);color:var(--cream)}
    .auth-brand{padding:58px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;background:linear-gradient(145deg,var(--forest-950),var(--forest-800))}.auth-brand:after{content:"";position:absolute;width:680px;height:680px;border:1px solid rgba(219,190,122,.13);border-radius:50%;left:-300px;bottom:-410px}.auth-brand img{width:210px;position:relative;z-index:1}.auth-brand h1{font-size:64px;max-width:720px;margin:80px 0 18px}.auth-brand h1 em{color:var(--gold-soft);font-weight:400}.auth-brand p{max-width:620px;color:rgba(240,236,226,.62);font-size:16px}.auth-brand .auth-foot{position:relative;z-index:1;color:rgba(240,236,226,.38);font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase}.auth-panel{background:var(--cream-100);color:var(--ink);display:grid;place-items:center;padding:44px}.auth-card{width:min(440px,100%);background:var(--white);border:1px solid var(--rule);border-radius:22px;padding:32px;box-shadow:var(--shadow)}.auth-card h2{font-size:38px;margin:7px 0 10px}.auth-card>p{color:var(--ink-500);margin-bottom:24px}.auth-card .field{margin-bottom:14px}.auth-error{display:none;background:var(--danger-pale);color:#7f302d;border:1px solid #e9c3c0;border-radius:10px;padding:11px 12px;margin:12px 0;font-size:12px}.auth-error.show{display:block}.auth-demo{margin-top:18px;padding:14px;background:var(--cream-100);border:1px dashed var(--rule);border-radius:11px;font-size:11px;color:var(--ink-500)}
    .user-menu{display:flex;align-items:center;gap:10px;border-left:1px solid var(--rule);padding-left:12px}.user-badge{width:34px;height:34px;border-radius:50%;background:var(--forest-800);color:var(--gold-soft);display:grid;place-items:center;font-family:var(--font-display);font-size:18px}.user-copy strong{font-size:11px;display:block}.user-copy span{font-size:9px;color:var(--ink-500);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.role-chip{display:inline-flex;align-items:center;border-radius:999px;padding:5px 7px;background:var(--gold-soft);color:var(--forest-950);font:600 8px var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
    .files-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:16px}.file-list{display:grid;gap:10px}.file-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--rule);border-radius:12px;background:var(--cream-100)}.file-icon{width:42px;height:42px;border-radius:10px;background:var(--forest-800);color:var(--gold-soft);display:grid;place-items:center;font:500 10px var(--font-mono)}.file-row strong{font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-row small{display:block;color:var(--ink-500);margin-top:2px}.file-actions{display:flex;gap:6px}.upload-box{border:1px dashed #bbb5a8;border-radius:13px;padding:18px;background:var(--cream-100)}.upload-box input[type=file]{width:100%;padding:9px;background:white;border:1px solid var(--rule);border-radius:9px}.access-card{margin-top:14px;padding-top:14px;border-top:1px solid var(--rule)}.access-card h4{font-family:var(--font-display);font-size:21px;font-weight:400;margin:0 0 10px}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.access-grid .full{grid-column:1/-1}.empty-projects{max-width:720px;margin:90px auto;background:var(--white);border:1px solid var(--rule);border-radius:20px;padding:32px;text-align:center}.empty-projects h2{font-size:36px}.setup-box{font-family:var(--font-mono);font-size:10px;background:#111b14;color:#d7cfbf;border-radius:10px;padding:12px;overflow:auto}
    @media(max-width:900px){.auth-screen{grid-template-columns:1fr}.auth-brand{display:none}.auth-panel{min-height:100vh}.files-layout{grid-template-columns:1fr}.user-copy{display:none}.access-grid{grid-template-columns:1fr}.access-grid .full{grid-column:auto}}
  
    /* v2: jornada simplificada e fluxo de entregáveis */
    .journey-map{background:var(--white);border:1px solid var(--rule);border-radius:18px;padding:15px;margin-bottom:16px}
    .journey-timeline{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
    .journey-step{border:1px solid var(--rule);background:var(--cream-100);border-radius:12px;padding:12px;text-align:left;cursor:pointer;transition:.18s var(--ease);min-width:0}
    .journey-step:hover{transform:translateY(-1px);border-color:#c6b98f}.journey-step.selected{box-shadow:0 0 0 2px rgba(196,163,85,.12);border-color:var(--gold);background:var(--white)}
    .journey-step.current{background:var(--forest-800);border-color:var(--forest-800);color:var(--cream)}.journey-step.complete:not(.current){background:#f7fbf8;border-color:#bad5c0}
    .journey-step-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.journey-step-top strong{width:27px;height:27px;border-radius:8px;background:var(--cream-200);color:var(--forest-800);display:grid;place-items:center;font:500 9px var(--font-mono)}
    .journey-step.current .journey-step-top strong{background:rgba(240,236,226,.12);color:var(--gold-soft)}.journey-step-top span{font:500 8px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500)}.journey-step.current .journey-step-top span{color:rgba(240,236,226,.62)}
    .journey-step h3{font-family:var(--font-sans);font-size:11px;font-weight:700;letter-spacing:0;line-height:1.25;margin:0 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .journey-step .mini-track{height:4px;background:var(--cream-200);border-radius:99px;overflow:hidden}.journey-step.current .mini-track{background:rgba(240,236,226,.12)}.journey-step .mini-track span{display:block;height:100%;background:var(--green);border-radius:inherit}.journey-step.current .mini-track span{background:var(--gold-soft)}
    .phase-focus{background:var(--white);border:1px solid var(--rule);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
    .phase-focus-head{padding:24px;display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:16px;align-items:center;background:linear-gradient(135deg,var(--forest-900),var(--forest-800));color:var(--cream)}.phase-focus-head .phase-index{background:rgba(240,236,226,.1);border:1px solid rgba(240,236,226,.12)}
    .phase-focus-head h2{font-size:34px;color:var(--cream);margin:3px 0 7px}.phase-focus-head p{margin:0;color:rgba(240,236,226,.6);font-size:12px}.phase-focus-head .phase-score strong{color:var(--gold-soft);font-size:42px}.phase-focus-head .phase-score .muted{color:rgba(240,236,226,.52)}
    .phase-focus-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr)}.phase-work,.phase-gate{padding:22px}.phase-gate{border-left:1px solid var(--rule);background:var(--cream-100)}
    .panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.panel-title h3{font-size:25px;margin:2px 0 5px}.panel-title p{font-size:11px;color:var(--ink-500);margin:0;max-width:620px}
    .journey-doc-list{display:grid;gap:9px}.journey-doc{border:1px solid var(--rule);background:var(--cream-100);border-radius:13px;padding:13px;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center}.journey-doc h4{font-family:var(--font-sans);font-size:12px;font-weight:700;letter-spacing:0;margin:0 0 4px}.journey-doc p{font-size:10px;color:var(--ink-500);margin:0}.journey-doc-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
    .gate-note{font-size:10px;color:var(--ink-500);margin:0 0 12px;padding:10px 11px;background:var(--white);border:1px solid var(--rule);border-radius:10px}.gate-note strong,.gate-note span{display:block}.gate-note strong{color:var(--ink-800);margin-bottom:3px}.gate-list{display:grid;gap:9px}.gate-list .check{background:var(--white)}.phase-empty{padding:28px;border:1px dashed #c9c5bb;border-radius:13px;text-align:center;color:var(--ink-500);background:var(--cream-100)}
    .delivery-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:20px}.delivery-step{display:flex;gap:11px;align-items:flex-start;background:var(--white);border:1px solid var(--rule);border-radius:14px;padding:14px}.delivery-step b{width:29px;height:29px;border-radius:9px;background:var(--forest-800);color:var(--gold-soft);display:grid;place-items:center;font:500 9px var(--font-mono);flex:none}.delivery-step strong{font-size:11px;display:block;margin-bottom:3px}.delivery-step span{font-size:10px;color:var(--ink-500);display:block}
    .deliverable-groups{display:grid;gap:18px}.deliverable-group{background:var(--white);border:1px solid var(--rule);border-radius:18px;overflow:hidden}.deliverable-group-head{padding:18px 20px;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.deliverable-group-head h2{font-size:29px;margin:2px 0 5px}.deliverable-group-head p{font-size:11px;color:var(--ink-500);margin:0;max-width:800px}
    .deliverable-grid{padding:12px;background:var(--cream-100);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.deliverable-card{background:var(--white);border:1px solid var(--rule);border-radius:14px;padding:17px;display:flex;flex-direction:column;min-height:305px}.deliverable-card-top{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:14px}.deliverable-card h3{font-size:24px;margin:0 0 8px}.deliverable-card>p{font-size:11px;color:var(--ink-500);margin:0 0 13px}
    .responsibility,.workflow-chip{display:inline-flex;align-items:center;border-radius:999px;padding:6px 8px;font:500 8px var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.responsibility.client{background:var(--info-pale);color:var(--info)}.responsibility.joint{background:var(--warning-pale);color:var(--warning)}.workflow-chip.client_input{background:var(--info-pale);color:var(--info)}.workflow-chip.socio_production{background:var(--warning-pale);color:var(--warning)}.workflow-chip.completed{background:var(--success-pale);color:var(--success)}
    .expected-output{margin-top:auto;background:var(--cream-100);border:1px solid var(--rule);border-radius:11px;padding:11px}.expected-output span{display:block;font:500 8px var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-500);margin-bottom:4px}.expected-output strong{font-size:11px;line-height:1.45;display:block}.input-progress{margin-top:12px}.input-progress-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px;font:500 8px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500)}
    .deliverable-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:12px;padding-top:12px;border-top:1px solid var(--rule)}.admin-stage{display:grid;gap:5px;flex:1}.admin-stage span{font:500 8px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500)}.admin-stage select{width:100%;border:1px solid var(--rule);background:var(--cream-100);border-radius:8px;padding:8px;font-size:10px}.deliverable-empty{grid-column:1/-1;padding:28px;border:1px dashed #c9c5bb;border-radius:13px;text-align:center;color:var(--ink-500);background:var(--white)}
    .work-clarity{border:1px solid var(--rule);border-radius:13px;padding:14px 15px;margin-bottom:13px;background:var(--white);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}.work-clarity.client_input{border-left:4px solid var(--info)}.work-clarity.socio_production{border-left:4px solid var(--warning)}.work-clarity.completed{border-left:4px solid var(--success)}.work-clarity h3{font-family:var(--font-sans);font-size:12px;font-weight:700;letter-spacing:0;margin:7px 0 4px}.work-clarity p{font-size:10px;color:var(--ink-500);margin:0}.work-clarity .source{font-size:9px;color:var(--ink-500);text-align:right;max-width:230px}
    @media(max-width:1180px){.journey-timeline{grid-template-columns:repeat(3,minmax(0,1fr))}.deliverable-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.phase-focus-grid{grid-template-columns:1fr}.phase-gate{border-left:0;border-top:1px solid var(--rule)}}
    @media(max-width:760px){.journey-timeline,.delivery-flow,.deliverable-grid{grid-template-columns:1fr}.phase-focus-head{grid-template-columns:48px 1fr}.phase-focus-head .phase-score{grid-column:1/-1;text-align:left}.journey-doc{grid-template-columns:38px 1fr}.journey-doc-actions{grid-column:1/-1;justify-content:flex-start}.deliverable-card{min-height:0}.deliverable-group-head{flex-direction:column}.work-clarity{grid-template-columns:1fr}.work-clarity .source{text-align:left;max-width:none}}


/* Produção v3 — conteúdo integral, anexos por entregável e base metodológica */
.editor-tabs{display:flex;gap:6px;padding:10px 22px;border-bottom:1px solid var(--rule);background:var(--cream-100);overflow-x:auto}
.editor-tab{border:1px solid transparent;background:transparent;border-radius:8px;padding:8px 11px;font:600 10px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500);cursor:pointer;white-space:nowrap}
.editor-tab:hover{background:var(--white);border-color:var(--rule)}.editor-tab.active{background:var(--forest-800);border-color:var(--forest-800);color:var(--cream)}
.editor-footer .submit-ready{background:var(--gold);color:var(--forest-950)}.editor-footer .submit-ready[disabled]{opacity:.42;cursor:not-allowed;transform:none}
.editor-context{padding:14px 18px;border:1px solid var(--rule);border-radius:12px;background:var(--cream-100);margin-bottom:12px}
.editor-context h3{font-family:var(--font-sans);font-size:13px;font-weight:700;letter-spacing:0;margin:0 0 5px}.editor-context p{font-size:11px;color:var(--ink-500);margin:0}
.guidance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.guidance-card{border:1px solid var(--rule);border-radius:14px;background:var(--white);padding:18px}
.guidance-card.full{grid-column:1/-1}.guidance-card h3{font-size:24px;margin:0 0 10px}.guidance-card p,.guidance-card li{font-size:12px;color:var(--ink-700)}.guidance-card ul,.guidance-card ol{margin:0;padding-left:19px;display:grid;gap:7px}
.warning-list{display:grid;gap:8px}.warning-box{border:1px solid #ead8b8;background:var(--warning-pale);color:#6f4c16;padding:12px 13px;border-radius:10px;font-size:11px}
.source-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.source-transcript{white-space:pre-wrap;background:#101711;color:#e9e5dc;border-radius:14px;padding:18px;overflow:auto;max-height:calc(100vh - 300px);font:11px/1.65 var(--font-mono)}
.source-note{font-size:11px;color:var(--ink-500);margin-bottom:12px}
.repeater-wrap{display:grid;gap:12px}.repeater-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.repeater-head h4{font-family:var(--font-sans);font-size:13px;font-weight:700;letter-spacing:0;margin:0 0 4px}.repeater-head p{font-size:11px;color:var(--ink-500);margin:0}
.repeater-list{display:grid;gap:11px}.repeater-item{border:1px solid var(--rule);border-radius:14px;background:var(--cream-100);overflow:hidden}.repeater-item-head{padding:12px 14px;border-bottom:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--white)}
.repeater-item-head strong{font-size:12px}.repeater-item-body{padding:14px}.repeat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.repeat-grid .question.full{grid-column:1/-1}
.repeater-empty{border:1px dashed var(--rule);background:var(--cream-100);padding:18px;border-radius:12px;color:var(--ink-500);font-size:11px;text-align:center}
.question .example{margin:6px 0 9px;padding:8px 10px;background:var(--info-pale);border-radius:8px;color:#31586d;font-size:10px}.question .field-row{display:flex;gap:8px;align-items:center}.question .field-row>*:first-child{flex:1}
.finance-table{display:grid;gap:8px}.finance-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(130px,.45fr) 88px minmax(210px,1fr);gap:8px;align-items:center;border:1px solid var(--rule);border-radius:10px;padding:10px;background:var(--cream-100)}
.finance-row label{font-size:11px;font-weight:600}.finance-row input{width:100%}.finance-row .unit{font:500 9px var(--font-mono);text-transform:uppercase;color:var(--ink-500)}
.finance-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.finance-result{border:1px solid var(--rule);border-radius:11px;padding:12px;background:var(--cream-100)}.finance-result span{display:block;color:var(--ink-500);font-size:9px;text-transform:uppercase;font-family:var(--font-mono);letter-spacing:.06em}.finance-result strong{display:block;font-family:var(--font-display);font-size:25px;font-weight:400;margin-top:5px}
.attachment-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin-bottom:14px}.attachment-checklist{display:grid;gap:8px;margin-bottom:16px}.attachment-row{border:1px solid var(--rule);border-radius:11px;background:var(--cream-100);padding:11px 12px;display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:10px;align-items:center}
.attachment-row strong{font-size:11px}.attachment-row small{display:block;color:var(--ink-500);margin-top:2px}.attachment-row select{background:var(--white)}
.attachment-upload{border:1px dashed #b9ad86;background:#fbf8ee;border-radius:13px;padding:15px;margin-bottom:15px}.attachment-upload-grid{display:grid;grid-template-columns:1fr 180px auto;gap:9px;align-items:end}
.file-group{margin-bottom:18px}.file-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.file-group-head h3{font-family:var(--font-sans);font-size:12px;font-weight:700;letter-spacing:0;margin:0}
.file-row .file-copy{min-width:0}.file-row .file-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-row .file-copy p{font-size:10px;color:var(--ink-500);margin:3px 0 0}
.file-category{font:500 8px var(--font-mono);text-transform:uppercase;letter-spacing:.07em;padding:5px 7px;border-radius:999px;background:var(--cream-200);color:var(--ink-500)}
.file-category.final{background:var(--success-pale);color:var(--success)}.file-category.work_product{background:var(--info-pale);color:var(--info)}.file-category.client_input{background:var(--warning-pale);color:var(--warning)}
.phase-control-panel{border-top:1px solid var(--rule);padding:18px 20px;background:var(--cream-100)}.phase-control-panel h3{font-family:var(--font-sans);font-size:13px;font-weight:700;letter-spacing:0;margin:0 0 4px}
.phase-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.method-check{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--rule);background:var(--white);border-radius:10px;padding:11px}
.method-check input{margin-top:2px}.method-check strong{font-size:11px;display:block}.method-check small{display:block;color:var(--ink-500);font-size:9px;line-height:1.45;margin-top:3px}.method-fields{display:grid;gap:10px;margin-top:12px}.method-fields .form-grid{margin:0}
.method-page{display:grid;gap:16px}.method-hero{background:linear-gradient(135deg,var(--forest-900),var(--forest-800));color:var(--cream);border-radius:22px;padding:28px}.method-hero h2{font-size:42px;margin:7px 0 10px}.method-hero p{color:rgba(240,236,226,.65);max-width:900px}
.principles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.principle-card{border:1px solid var(--rule);background:var(--white);border-radius:13px;padding:16px}.principle-card b{font-family:var(--font-display);font-size:27px;font-weight:400;color:var(--gold)}.principle-card p{font-size:11px;color:var(--ink-700);margin:8px 0 0}
.method-phase-list{display:grid;gap:12px}.method-phase-card{border:1px solid var(--rule);background:var(--white);border-radius:16px;overflow:hidden}.method-phase-head{padding:17px 18px;background:var(--forest-800);color:var(--cream);display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center}
.method-phase-head .phase-index{width:42px;height:42px}.method-phase-head h3{font-family:var(--font-sans);font-size:13px;font-weight:700;letter-spacing:0;margin:0 0 3px}.method-phase-head p{font-size:10px;color:rgba(240,236,226,.62);margin:0}
.method-phase-body{display:grid;grid-template-columns:1.2fr .8fr;gap:0}.method-phase-body>div{padding:17px 18px}.method-phase-body>div+div{border-left:1px solid var(--rule);background:var(--cream-100)}.method-phase-body h4{font-family:var(--font-sans);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin:0 0 9px;color:var(--ink-500)}.method-phase-body ol,.method-phase-body ul{margin:0;padding-left:18px;display:grid;gap:6px;font-size:11px}
.table-wrap{overflow:auto}.method-table{width:100%;border-collapse:collapse;font-size:11px}.method-table th,.method-table td{border:1px solid var(--rule);padding:10px;text-align:left;vertical-align:top}.method-table th{background:var(--forest-800);color:var(--cream);font:500 9px var(--font-mono);letter-spacing:.06em;text-transform:uppercase}
.coverage-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #bcd8c2;background:var(--success-pale);color:#285c34;padding:13px 15px;border-radius:12px;margin-bottom:15px}.coverage-banner strong{font-size:12px}.coverage-banner span{font-size:10px}
.source-chip{display:inline-flex;align-items:center;gap:6px;font:500 8px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;padding:5px 7px;border-radius:999px;background:var(--cream-200);color:var(--ink-500)}
.version-chip{font:500 8px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500)}
.state-conflict{position:fixed;inset:auto 22px 22px auto;z-index:100;background:var(--danger);color:#fff;padding:13px 15px;border-radius:11px;box-shadow:var(--shadow);max-width:380px;font-size:11px}
@media(max-width:1180px){.guidance-grid,.principles-grid{grid-template-columns:1fr 1fr}.method-phase-body{grid-template-columns:1fr}.method-phase-body>div+div{border-left:0;border-top:1px solid var(--rule)}.finance-row{grid-template-columns:1fr 160px 80px}.finance-row input[data-finance-observation]{grid-column:1/-1}.finance-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.guidance-grid,.principles-grid,.phase-control-grid,.repeat-grid,.finance-results{grid-template-columns:1fr}.guidance-card.full{grid-column:auto}.finance-row{grid-template-columns:1fr}.attachment-row,.attachment-upload-grid{grid-template-columns:1fr}.editor-tabs{padding:8px 14px}.method-phase-head{grid-template-columns:38px 1fr}.method-phase-head>span{grid-column:1/-1}.attachment-intro{grid-template-columns:1fr}}

.auth-error:not(.hidden){display:block}

.mobile-nav-toggle,.mobile-nav-overlay{display:none}
@media(max-width:860px){
  .app{display:block}
  .main{margin-left:0;width:100%;min-width:0}
  .sidebar{display:flex;transform:translateX(-105%);width:min(86vw,320px);max-width:320px;z-index:70;transition:transform .22s var(--ease);box-shadow:18px 0 45px rgba(11,21,16,.22)}
  .app.mobile-nav-open .sidebar{transform:translateX(0)}
  .mobile-nav-toggle{display:inline-grid;place-items:center;width:40px;height:40px;flex:none;border:1px solid var(--rule);border-radius:9px;background:var(--white);font-size:21px;line-height:1;cursor:pointer}
  .mobile-nav-overlay{display:block;position:fixed;inset:0;border:0;background:rgba(11,21,16,.45);z-index:60;opacity:0;pointer-events:none;transition:opacity .2s ease}
  .app.mobile-nav-open .mobile-nav-overlay{opacity:1;pointer-events:auto}
  .topbar{height:auto;min-height:70px;padding:10px 14px;gap:10px}
  .project-switch{min-width:0;flex:1}.project-switch>div:last-child{min-width:0}.project-switch strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .top-actions{gap:6px}.user-menu{min-width:0}.content{padding:22px 14px 60px}
  .editor-footer{align-items:stretch;gap:10px}.editor-footer>.top-actions{display:grid;grid-template-columns:1fr 1fr}.editor-footer>.top-actions .button{width:100%}
}
@media(max-width:540px){
  .topbar .button.gold{padding:8px 10px;min-height:38px}.topbar .user-menu{display:none}
  .editor-footer>.top-actions{grid-template-columns:1fr}.editor-footer{padding-bottom:calc(15px + env(safe-area-inset-bottom))}
  .file-row{grid-template-columns:38px minmax(0,1fr);align-items:start}.file-row>.file-category,.file-row>.file-actions{grid-column:2}
}

