:root{--green:#143d33;--green-mid:#1b5748;--green-light:#e8efeb;--orange:#e5682c;--ink:#112a38;--muted:#63717a;--line:#dfe4e2;--paper:#f7f7f4;--danger:#b42318;--warn:#9a6700;--sim:#6b4c9a;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}body{background:var(--paper);font:14px/1.45 var(--font);color:var(--ink);margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit;background:0 0;border:0}a.link-btn{color:var(--orange);cursor:pointer;font-weight:700;text-decoration:none}#app{min-height:100vh}.app-shell{min-height:100vh;display:flex}.sidebar{color:#fff;z-index:10;background:linear-gradient(160deg,#174438,#103b32);flex-direction:column;width:238px;padding:26px 15px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:start;gap:15px;padding:0 12px 24px;display:flex}.home{color:#f57738;font-size:38px;line-height:30px}.brand strong{font:700 27px var(--font-display)}.brand small{color:#b3ccc2;margin-top:3px;font-size:15px;line-height:18px;display:block}.sidebar nav{gap:7px;display:grid}.nav{text-align:left;border-radius:8px;align-items:center;gap:15px;width:100%;padding:16px 15px;font-size:16px;display:flex}.nav.selected{background:#3d7666;font-weight:700}.nav:disabled{opacity:.45;cursor:not-allowed}.ico{flex-shrink:0;place-items:center;width:23px;font-size:22px;display:inline-grid}.help{background:#27574a;border-radius:7px;gap:12px;margin-top:auto;padding:14px;display:flex}.help>b{border:2px solid #dce9e3;border-radius:50%;place-items:center;width:28px;height:28px;font-size:18px;display:grid}.help strong,.help span{display:block}.help span{color:#c3d9d0;margin:4px 0 14px;font-size:13px;line-height:18px}.help button{color:#fff;border:1px solid #cfddd7;border-radius:6px;width:100%;padding:10px;font-weight:700}main.content{flex:1;min-width:0;margin-left:238px}header.topbar{border-bottom:1px solid var(--line);background:#fffdfa;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;height:auto;min-height:55px;padding:10px 24px;display:flex}.topbar h1{font:700 20px var(--font-display);margin:0}.workspace{max-width:1200px;padding:20px 24px 40px}.card{border:1px solid var(--line);background:#fff;border-radius:8px;margin-bottom:16px;padding:16px}.card h2{font:700 18px var(--font-display);margin:0 0 12px}.badge{text-transform:uppercase;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-block}.badge.sim{color:var(--sim);background:#ede7f6}.badge.draft{color:var(--muted);background:#eef1ef}.badge.active{color:var(--green-mid);background:#dceae0}.badge.closed{color:#555;background:#f0f0f0}.alert{border-radius:6px;margin-bottom:14px;padding:12px 14px;font-size:13px}.alert.error{color:var(--danger);background:#fdecea;border:1px solid #f5c2c0}.alert.warn{color:var(--warn);background:#fff8e6;border:1px solid #f0d78c}.alert.info{background:var(--green-light);color:var(--green-mid);border:1px solid #b8d4c8}.btn{border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:700;display:inline-flex}.btn-primary{background:var(--orange);color:#fff}.btn-secondary{border-color:var(--line);color:var(--ink);background:#fff}.btn-ghost{border-color:var(--line);background:0 0}.btn-danger{background:var(--danger);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.form-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;display:grid}.form-grid label,.field{gap:6px;font-size:13px;font-weight:600;display:grid}.form-grid input,.form-grid select,.form-grid textarea{background:#fff;border:1px solid #d5dbd8;border-radius:7px;width:100%;padding:10px;font-size:15px}.form-grid textarea{resize:vertical;min-height:80px}.table-wrap{-webkit-overflow-scrolling:touch;margin:0 -4px;padding:0 4px;overflow-x:auto}table.data{border-collapse:collapse;width:100%;min-width:520px}table.data th{text-align:left;white-space:nowrap;background:#eef1ef;padding:10px 12px;font-size:12px}table.data td{vertical-align:middle;border-bottom:1px solid #e4e7e5;padding:8px 12px}table.data input,table.data select{border:1px solid #d5dbd8;border-radius:4px;width:100%;min-width:70px;padding:6px 8px;font-size:13px}table.data input:disabled,table.data select:disabled{color:var(--muted);background:#f5f5f5}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.project-list{margin:0;padding:0;list-style:none}.project-list li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.project-list .meta{flex:1;min-width:180px}.project-list .meta strong{font-size:16px;display:block}.project-list .meta small{color:var(--muted)}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;margin-bottom:16px;padding-bottom:8px;display:flex}.tab{color:var(--muted);border-radius:6px 6px 0 0;padding:8px 14px;font-weight:600}.tab.active{color:var(--ink);border-bottom:3px solid var(--orange);background:#fff8f2}.summary-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.summary-grid .stat{background:var(--green-light);border-radius:7px;padding:12px}.summary-grid .stat small{color:var(--muted);font-size:11px;display:block}.summary-grid .stat strong{font:700 18px var(--font-display);margin-top:4px;display:block}.planta-preview{border:1px solid var(--line);background:#fafaf8;border-radius:8px;min-height:120px;padding:12px}.planta-preview img{max-width:100%;max-height:280px;margin:8px auto;display:block}.planta-preview .file-name{color:var(--muted);word-break:break-all;font-size:13px}.upload-zone{background:#f6fbf7;border:1.5px dashed #9ebcaf;border-radius:8px;gap:8px;padding:16px;display:grid}.modal-backdrop{z-index:100;background:#00000073;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:10px;width:100%;max-width:520px;max-height:90vh;padding:20px;overflow:auto}.modal h3{font:700 20px var(--font-display);margin:0 0 12px}.toast{background:var(--green);color:#fff;z-index:200;border-radius:7px;max-width:420px;margin-left:auto;padding:14px 18px;transition:all .3s;position:fixed;bottom:16px;left:16px;right:16px;transform:translateY(120%);box-shadow:0 12px 30px #0003}.toast.show{transform:translateY(0)}.toast.error{background:var(--danger)}.dossier-print{background:#fff;padding:24px}@media print{.sidebar,.topbar,.tabs,.btn-row,.no-print{display:none!important}main.content{margin:0!important}.dossier-print{padding:0}}@media (width<=900px){.sidebar{width:72px;padding:22px 9px}.brand div,.nav:not(.selected){font-size:0}.nav{justify-content:center;padding:14px}.nav.selected{font-size:0}.help div{display:none}.help{justify-content:center;padding:10px}main.content{margin-left:72px}}@media (width<=600px){.sidebar{display:none}main.content{margin-left:0}.workspace{padding:14px 12px 32px}.topbar{padding:10px 12px}.form-grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:1fr 1fr}}@media (width<=390px){body{font-size:13px}.summary-grid{grid-template-columns:1fr}.btn{justify-content:center;width:100%}.btn-row .btn{flex:100%}}:root{--ink:#203d33;--paper:#f8f8f3;--orange:#d16b3d}body{font-size:16px}.btn{border-radius:12px;min-height:46px;padding:12px 19px;font-size:15px;transition:background .18s,transform .18s}.btn-primary{background:#245b47}.btn-primary:hover{background:#194532;transform:translateY(-1px)}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #bc854b}.card{border-color:#e3e7de;border-radius:18px;padding:24px}.card h2{font-size:20px}.form-grid label,.field{font-size:14px}.form-grid input,.form-grid select,.field input,.field select{border-radius:10px;min-height:46px;font-size:16px}.topbar h1{letter-spacing:-.7px}.create-intro{color:#68766b;max-width:640px;margin:0 0 25px;font-size:17px;line-height:1.6}.welcome-page{max-width:1120px;min-height:100svh;margin:0 auto;padding:0 42px}.welcome-header{border-bottom:1px solid #e2e7dc;justify-content:space-between;align-items:center;padding:27px 0;display:flex}.welcome-brand{color:#214737;letter-spacing:-1px;align-items:center;gap:10px;font-size:26px;font-weight:760;text-decoration:none;display:flex}.welcome-brand img{object-fit:contain;border-radius:10px;width:42px;height:42px}.welcome-motto{color:#7c877a;font-size:13px}.welcome-hero{grid-template-columns:1.12fr 1fr;align-items:center;gap:18px;padding:66px 0 58px;display:grid}.welcome-eyebrow{color:#65806a;letter-spacing:2.1px;font-size:11px;font-weight:750}.welcome-copy h1{letter-spacing:-2.7px;margin:20px 0;font-size:clamp(36px,4.3vw,58px);font-weight:700;line-height:1.09}.welcome-copy h1 em{color:#517553;letter-spacing:-2px;font-family:Georgia,Times New Roman,serif;font-weight:400}.welcome-copy>p{color:#6c776a;max-width:450px;margin:0 0 27px;font-size:17px;line-height:1.75}.welcome-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.welcome-start{padding:16px 25px;font-size:16px;box-shadow:0 6px 18px #234f3714}.welcome-demo{color:#42664f;text-underline-offset:5px;padding:13px 0;font-size:14px;text-decoration:underline}.welcome-local{color:#899080;margin-top:20px;font-size:12px;display:block}.welcome-visual{align-self:center;padding-bottom:22px;position:relative}.welcome-visual>img{width:100%;display:block}.welcome-note{background:#fffdf5;border:1px solid #e6e7dc;border-radius:14px;align-items:center;gap:12px;padding:13px 20px;display:flex;position:absolute;bottom:2px;left:22%;transform:rotate(-3deg);box-shadow:0 12px 35px #2649320a}.welcome-note>span{color:#9e7544;font-size:31px}.welcome-note strong,.welcome-note small{display:block}.welcome-note strong{font-size:13px;font-weight:650}.welcome-note small{color:#8a8d78;margin-top:4px;font-size:11px}.welcome-steps{border-top:1px solid #e2e7dc;grid-template-columns:repeat(3,1fr);gap:36px;padding:34px 0 42px;display:grid}.welcome-step>span{color:#a9b99e;font-family:Georgia,serif;font-size:25px}.welcome-step h2{margin:11px 0 8px;font-size:16px;font-weight:650}.welcome-step p{color:#7e8578;max-width:245px;margin:0;font-size:14px;line-height:1.7}.welcome-footer{color:#89917e;border-top:1px solid #e2e7dc;justify-content:space-between;align-items:center;padding:22px 0;font-size:12px;display:flex}.welcome-restore{color:#74846d;text-underline-offset:4px;padding:10px 0;font-size:12px;text-decoration:underline}.welcome-section-title{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.welcome-section-title h2{letter-spacing:-.7px;font-size:24px}.welcome-section-title>span{color:#7e897a;font-size:13px}.welcome-projects{padding:12px 0 30px}.welcome-projects .project-list li{background:#fff;border:1px solid #e1e7da;border-radius:16px;margin-bottom:12px;padding:22px}@media (width<=700px){.welcome-page{padding:0 24px}.welcome-header{padding:20px 0 17px}.welcome-brand{font-size:25px}.welcome-brand img{width:36px;height:36px}.welcome-motto{display:none}.welcome-hero{flex-direction:column;align-items:stretch;gap:6px;padding:32px 0 30px;display:flex}.welcome-copy h1{letter-spacing:-1.8px;margin:15px 0;font-size:40px;line-height:1.12}.welcome-copy h1 em{letter-spacing:-1.5px}.welcome-eyebrow{letter-spacing:1.8px;font-size:9px}.welcome-copy>p{margin-bottom:21px;font-size:15px;line-height:1.75}.welcome-actions{gap:5px;display:grid}.welcome-start{justify-content:center;width:100%;min-height:53px}.welcome-demo{text-align:center;width:100%;padding:12px}.welcome-local{text-align:center;margin-top:7px;font-size:11px}.welcome-visual{width:100%;max-width:370px;margin:0 auto;padding-bottom:22px}.welcome-visual>img{width:100%;max-height:230px}.welcome-note{width:max-content;padding:10px 17px;left:50%;transform:translate(-50%)rotate(-3deg)}.welcome-steps{grid-template-columns:1fr;gap:22px;padding:26px 0 30px}.welcome-step{grid-template-columns:38px 1fr;column-gap:10px;display:grid}.welcome-step>span{grid-row:span 2;padding-top:1px}.welcome-step h2{margin:0 0 5px}.welcome-step p{max-width:none}.welcome-footer{gap:10px;font-size:10px}.welcome-restore{font-size:11px}.welcome-section-title{display:block}.welcome-section-title h2{margin-bottom:6px;font-size:22px}.card{padding:20px 16px}.topbar h1{font-size:23px}.welcome-projects .project-list li{flex-wrap:wrap;gap:12px;padding:18px}}@media (prefers-reduced-motion:reduce){.btn{transition:none}}
