:root{--night:#14253d;--blue:#58758f;--ivory:#f7f4ec;--ink:#1d2733;--muted:#687482;--line:#d6dee6;--white:#fff;--ok:#356c58;--warn:#a54a3a}*{box-sizing:border-box}html{background:#f4f7f8}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:linear-gradient(180deg,#f6f8f8 0,#f4f7f8 100%);min-height:100vh;position:relative}body:before,body:after{content:"";position:fixed;pointer-events:none;z-index:0;border:1px solid rgba(88,117,143,.07);border-radius:50%}body:before{width:420px;height:420px;left:-250px;top:46%;box-shadow:155px 98px 0 -154px rgba(88,117,143,.09)}body:after{width:620px;height:620px;right:-430px;bottom:-330px;box-shadow:-180px -105px 0 -179px rgba(88,117,143,.08)}.topbar{position:relative;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 28px;border-bottom:1px solid rgba(20,37,61,.10);background:#fff}.topbar-brand{display:flex;align-items:center;gap:12px;min-width:0}.topbar-crystal{width:34px;height:42px;object-fit:contain;flex:none}.topbar-name{color:var(--night);font-size:13px;letter-spacing:.20em;font-weight:800;padding-left:2px}.top-actions{display:flex;gap:9px;flex-wrap:wrap}button,.button{font:inherit;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--night);padding:10px 15px;font-weight:700;cursor:pointer;text-decoration:none;transition:.2s ease}button:hover,.button:hover{transform:translateY(-1px);border-color:#9fb0bf}.primary{background:var(--night)!important;color:#fff!important;border-color:var(--night)!important}.visual-hero{position:relative;width:100%;height:auto;aspect-ratio:4.15/1;min-height:260px;max-height:440px;overflow:hidden;background:#dfeaf0;z-index:1}.hero-scene{display:block;width:100%;height:100%;object-fit:cover;object-position:center bottom;filter:none}.hero-ship-label-overlay{position:absolute;inset:0;display:none;width:100%;height:100%;object-fit:cover;object-position:center center;pointer-events:none;z-index:2}.hero-logo{display:block;position:absolute;z-index:3;left:3.8%;top:18.7%;transform:none;width:clamp(185px,17vw,310px);height:auto;filter:drop-shadow(0 2px 8px rgba(255,255,255,.82));pointer-events:none}.shell{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:34px 28px 70px}.projects-section{position:relative}.projects-section:before{content:"";position:absolute;left:-65px;top:118px;width:145px;height:1px;background:linear-gradient(90deg,transparent,rgba(88,117,143,.28));transform:rotate(-13deg);transform-origin:right}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:0 0 20px}.kicker{color:var(--blue);font-weight:800;text-transform:uppercase;letter-spacing:.13em;font-size:12px}.section-head h1{font-size:clamp(30px,4vw,48px);margin:8px 0;color:var(--night);line-height:1}.section-head p{margin:0;color:var(--muted);font-size:16px}.section-symbol{font-size:52px;color:#a4b8c5;font-weight:200}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:20px}.project-card{position:relative;overflow:hidden;background:rgba(255,255,255,.97);border:1px solid var(--line);border-radius:22px;padding:24px;display:grid;gap:18px;box-shadow:0 10px 28px rgba(20,37,61,.055);transition:.22s ease}.project-card:before{content:"";position:absolute;right:-74px;bottom:-101px;width:242px;height:242px;border:1px solid rgba(88,117,143,.14);border-radius:50%;box-shadow:0 0 0 34px rgba(88,117,143,.035),0 0 0 72px rgba(88,117,143,.018)}.project-card:after{content:"";position:absolute;right:78px;bottom:60px;width:9px;height:9px;border-radius:50%;border:1px solid rgba(88,117,143,.35);background:#fff}.project-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(20,37,61,.09);border-color:#b6c5d0}.project-head{display:flex;justify-content:space-between;align-items:flex-start;position:relative}.project-logo{width:72px;height:72px;border-radius:18px;background:var(--ivory);display:grid;place-items:center;font-weight:800;color:var(--night);overflow:hidden;border:1px solid rgba(20,37,61,.08)}.project-logo img{width:100%;height:100%;object-fit:contain;padding:8px}.status{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;background:#eef1f4;color:var(--muted)}.status.active{background:#e1eee8;color:var(--ok)}.lock-state{display:inline-flex;gap:6px;align-items:center;color:var(--muted);font-size:12px;font-weight:700}.client{margin:0 0 5px;color:var(--blue);font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.project-card h2{margin:0;color:var(--night);font-size:26px;line-height:1.18}.output-status{display:flex;gap:8px;flex-wrap:wrap;position:relative}.output-status span{font-size:12px;border:1px solid var(--line);border-radius:999px;padding:6px 9px;background:#fff}.output-status .done{color:var(--ok);border-color:#bdd8cb;background:#edf6f1}.output-status .todo{color:var(--muted);border-style:dashed}.next-step{position:relative;border-left:3px solid var(--blue);padding:10px 0 10px 14px;display:grid;gap:3px}.next-step small{color:var(--muted);text-transform:uppercase;letter-spacing:.09em;font-size:10px}.next-step strong{color:var(--night);font-size:15px}.card-actions{display:flex;gap:8px;flex-wrap:wrap;position:relative}.card-actions a,.card-actions button{font-size:13px;padding:10px 12px}.danger{color:var(--warn)!important}.empty{border:1px dashed var(--line);padding:30px;border-radius:16px;text-align:center;color:var(--muted)}.modal[hidden]{display:none}.modal{position:fixed;inset:0;background:#0b1422aa;display:grid;place-items:center;padding:20px;z-index:20}.dialog{width:min(620px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;padding:24px}.dialog.wide{width:min(860px,100%)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog h2{margin:0;color:var(--night)}.dialog form{display:grid;gap:14px;margin-top:18px}.dialog label{display:grid;gap:6px;font-weight:700}.dialog input,.dialog select{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 12px;font:inherit}.hint{font-size:13px;color:var(--muted);line-height:1.45}.access-project-name{font-size:18px;font-weight:800;color:var(--night);margin:18px 0 2px}.form-error{min-height:20px;color:var(--warn);font-size:13px;margin:0}.dialog-actions{display:flex;justify-content:flex-end;gap:9px}.client-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.client-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;flex-wrap:wrap}.client-card h3{margin:0 0 3px;font-size:1rem}.client-card p{margin:0;color:var(--muted);font-size:.88rem}.client-card .status{margin-left:auto}.client-logo{width:54px;height:54px;border-radius:13px;background:#edf1f4;display:grid;place-items:center;font-weight:700;overflow:hidden;flex:none}.client-logo img{width:100%;height:100%;object-fit:contain;padding:5px}.client-card-copy{flex:1;min-width:120px}.logo-preview{min-height:72px;border:1px dashed #bdc7d0;border-radius:12px;display:grid;place-items:center;color:var(--muted);background:#f7f9fa;padding:8px}.logo-preview img{max-height:68px;max-width:220px;object-fit:contain}.color-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.color-grid input[type=color]{height:42px;padding:3px}.choice{display:grid;gap:10px;margin:18px 0}.choice label{display:flex;gap:8px;align-items:center}.choice input{width:auto}@media(max-width:760px){.topbar{align-items:flex-start;padding:12px 16px}.topbar-brand{padding-top:1px}.topbar-crystal{width:28px;height:34px}.topbar-name{display:none}.visual-hero{min-height:220px;aspect-ratio:3.35/1}.hero-scene{object-position:58% bottom}.hero-logo{left:3.8%;top:16%;width:min(55vw,270px)}.shell{padding:26px 16px 50px}.top-actions{justify-content:flex-end}.section-head{align-items:flex-start}.section-symbol{display:none}.project-grid{grid-template-columns:1fr}.project-card{padding:20px}}