@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#111019;--side:#15121e;--panel:#1e1b29;--panel2:#252031;--border:#373041;--text:#f4f0f8;--muted:#aaa3b5;--faint:#7a7489;--purple:#9155eb;--purple2:#b588ff;--green:#3fd09a;--red:#ff8a94;--radius:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:14px/1.5 'DM Sans',Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}b,strong{font-weight:800}p,h1,h2,h3,h4{margin-top:0}p{margin-bottom:0}h1,h2,h3,h4{font-family:'Manrope','DM Sans',Arial,sans-serif}input,textarea,select{width:100%;background:#121019;color:var(--text);border:1px solid #3c3546;border-radius:9px;padding:11px 12px;outline:0;transition:border .2s,box-shadow .2s}input:focus,textarea:focus,select:focus{border-color:var(--purple2);box-shadow:0 0 0 3px #9155eb20}input::placeholder,textarea::placeholder{color:#827c8d}textarea{resize:vertical;min-height:80px}option{background:#1b1622;color:#fff}label{display:block;font-size:12px;color:#d5cee0;font-weight:700;letter-spacing:.1px}label input,label select,label textarea{margin-top:7px;font-size:13px;font-weight:500}label small{font-size:10px;color:var(--muted);font-weight:500}.required,.purple-dot{color:var(--purple2)}.brand{display:inline-flex;align-items:center;gap:9px;font-family:Manrope,Arial,sans-serif;font-size:14px;font-weight:800;letter-spacing:1px;white-space:nowrap}.brand b{color:var(--purple2)}.brand-emblem{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:linear-gradient(130deg,#bf91ff,#6831d4);color:white;font-size:20px;font-weight:900;box-shadow:0 4px 20px #9155eb33}.eyebrow,.mini-kicker{letter-spacing:1.5px;color:var(--purple2);font-size:10px;font-weight:800}.mini-kicker{display:block;margin-bottom:4px;letter-spacing:1.1px}.muted,.small-muted{color:var(--muted)}.small-muted{font-size:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 17px;border-radius:9px;border:1px solid transparent;font-size:12px;font-weight:800;white-space:nowrap;transition:background .15s,border .15s,transform .15s;min-height:40px}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.35;cursor:not-allowed}.btn.primary{background:linear-gradient(130deg,#9b5cf0,#7939cf);color:white;box-shadow:0 6px 20px #8248d524}.btn.primary:hover{background:linear-gradient(130deg,#b27bf8,#8749df)}.btn.ghost{background:#282334;color:#e7deee;border-color:#41394c}.btn.ghost:hover{background:#342b45}.btn.outline{border-color:#7754a1;color:#dfc1ff;background:#261d33}.btn.block{display:flex;width:100%}.stack{display:flex;flex-direction:column}.gap16{gap:16px}.notice{padding:13px 15px;border-radius:10px;border:1px solid #51455b;margin:15px 0;font-size:12px}.notice.error{background:#40232b;color:#ffb9bb;border-color:#7a3e4c}.notice.good{background:#123d32;color:#a8ffe0;border-color:#28654e}.notice.muted-box{background:#201c2b;border-color:#393144;padding:19px}.notice.muted-box p{margin-top:6px;color:var(--muted)}.tip{font-size:11px;color:#aaa1b4;margin-top:12px;line-height:1.65}.footnote{font-size:11px;color:#736f7d;margin-top:22px;text-align:center}.auth-outer{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(ellipse at 20% 10%,#35204e 0,transparent 39%),#111019}.auth-panel{width:100%;max-width:460px;padding:38px;background:#1e1a29;border:1px solid #42334f;border-radius:19px;box-shadow:0 24px 90px #0005}.auth-brand{margin-bottom:37px}.auth-panel h1{font-size:29px;letter-spacing:-1.5px;margin-bottom:11px}.auth-panel>.muted{line-height:1.7;margin-bottom:23px}.auth-panel .btn{margin-top:9px;width:100%}.auth-panel code{font-size:11px;word-break:break-word}
/* dashboard */
.app-shell{display:flex;min-height:100vh}.side{width:235px;min-width:235px;background:#171420;border-right:1px solid #2a2532;display:flex;flex-direction:column;padding:31px 19px;min-height:100vh;position:sticky;top:0;height:100vh}.side .brand{margin-bottom:8px}.side-caption{font-size:9px;letter-spacing:2.2px;color:#7e6e91;margin-left:42px}.side-nav{margin-top:48px;display:flex;flex-direction:column;gap:7px}.navlink{padding:12px 13px;border-radius:10px;border:0;background:transparent;text-align:left;color:#a7a0b4;font-size:12px;font-weight:700;display:flex;align-items:center;gap:12px}.navlink span{font-size:18px}.navlink:hover,.navlink.active{background:#2a2138;color:#e9d7ff}.navlink.active{border:1px solid #523475}.side-bottom{margin-top:auto;padding:19px 7px 0;border-top:1px solid #332c3e}.side-bottom p{color:#9c93aa;font-size:15px;line-height:1.55}.side-bottom b{color:#d8baff}.side-year{font-size:9px;letter-spacing:1.1px;color:#6f687d;margin:14px 0 16px}.side .logout{width:100%;padding:10px}.main-content{padding:53px 55px 25px;max-width:1600px;flex:1;min-width:0}.page-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.page-top h1{font-size:31px;letter-spacing:-1.35px;margin:10px 0}.page-top>.muted{font-size:13px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:32px}.stat-card{border:1px solid var(--border);border-radius:13px;background:var(--panel);padding:23px 20px}.stat-card p{color:#b2a8c1;font-size:11px;margin-bottom:7px}.stat-card strong{font-size:33px;font-family:Manrope,Arial,sans-serif;line-height:1.3;letter-spacing:-1px}.stat-card span{font-size:10px;color:#898294;display:block;margin-top:9px}.stat-card.accent{background:linear-gradient(140deg,#442960,#221b2e);border-color:#69408d}.stat-card.accent strong{color:#d9b8ff}.list-panel{background:var(--panel);border:1px solid var(--border);border-radius:15px;margin-top:34px;overflow:visible}.section-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:24px 23px 17px}.section-heading h2{font-size:18px;margin:2px 0}.list-tools{display:flex;gap:8px}.list-tools input{width:230px}.list-tools select{width:170px}.list-tools input,.list-tools select{font-size:11px;padding:10px;background:#17141f}.project-table-wrap{overflow-x:auto}.project-table{width:100%;border-collapse:collapse;text-align:left}.project-table th{color:#888098;font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:.7px;border-bottom:1px solid #363040;padding:12px 22px}.project-table td{padding:19px 22px;border-bottom:1px solid #302b39;vertical-align:middle;font-size:12px;color:#d0c9d9;white-space:nowrap}.project-table tr:last-child td{border-bottom:0}.project-table tr:hover td{background:#262033}.project-table tr[hidden]{display:none}.project-name{font-weight:800;color:#f6eefc;font-size:13px}.project-name:hover,.small-link:hover{color:#c9a1ff}.project-secondary{display:block;font-size:10px;color:#90869e;margin-top:4px;max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status{display:inline-flex;align-items:center;white-space:nowrap;border:1px solid transparent;border-radius:6px;padding:5px 9px;font-size:10px;font-weight:800}.status.draft{background:#393021;color:#eac180;border-color:#675233}.status.complete{background:#163a2f;color:#6be0b1;border-color:#29644e}.actions-cell{display:flex;align-items:center;gap:13px}.small-link{color:#caa6ff;font-size:11px;font-weight:800}.more-menu{position:relative}.more-menu summary{list-style:none;cursor:pointer;font-size:20px;color:#9e8da9}.more-menu summary::-webkit-details-marker{display:none}.more-popup{position:absolute;right:0;top:26px;background:#30283e;border:1px solid #594764;border-radius:9px;min-width:150px;z-index:4;box-shadow:0 8px 25px #0006;padding:5px}.more-popup button{border:0;background:transparent;color:white;display:block;text-align:left;width:100%;padding:9px;font-size:11px}.more-popup button:hover{background:#443551}.more-popup .danger-text{color:#ffabab}.table-caption{padding:14px 22px;border-top:1px solid #322a3b;font-size:11px;color:#887f96}.empty-state{text-align:center;padding:48px 15px 60px}.empty-state .empty-icon{display:grid;place-items:center;margin:0 auto 18px;width:58px;height:58px;border-radius:14px;background:#36274e;color:#c59cff;font-size:28px}.empty-state h3{margin-bottom:7px;font-size:16px}.empty-state p{margin-bottom:23px;color:var(--muted)}.main-footer{color:#625b70;letter-spacing:.9px;font-size:9px;padding:27px 0 5px}
/* editor */
.editor-shell{min-height:100vh}.editor-topbar{height:69px;position:sticky;top:0;z-index:10;background:#15121df7;backdrop-filter:blur(10px);border-bottom:1px solid #34293e;display:flex;align-items:center;justify-content:space-between;padding:0 31px;gap:20px}.back-link{color:#aaa1b7;font-size:12px;font-weight:700}.back-link:hover{color:#e3c9ff}.editor-right{display:flex;align-items:center;gap:15px}.save-status{color:#8fcbac;font-size:11px}.save-status.working{color:#d8bd8c}.save-status.error{color:#ff9797}.editor-layout{max-width:1800px;margin:auto;display:grid;grid-template-columns:245px minmax(0,1fr) 275px;gap:30px;padding:28px 31px 70px}.wizard-nav{align-self:start;position:sticky;top:96px}.wizard-nav h2{font-size:18px;line-height:1.3;margin:13px 0 3px;overflow-wrap:anywhere}.wizard-nav .eyebrow{font-size:9px}.nav-steps{display:flex;flex-direction:column;gap:5px;margin-top:27px}.step-link{display:flex;gap:11px;align-items:center;width:100%;padding:11px 12px;border-radius:10px;text-align:left;border:1px solid transparent;background:none;color:#a5a0b0;font-weight:800;font-size:12px}.step-link small{font-size:10px;font-weight:500;color:#766e82;display:block;margin-top:2px}.step-link.active{background:#2d223b;color:#e8d5ff;border-color:#5d3d7e}.step-link.active small{color:#ba9bd6}.step-num{font-family:Manrope,Arial,sans-serif;font-size:11px;font-weight:800;color:#8b809a;background:#24202e;padding:7px;border-radius:7px;min-width:32px;text-align:center}.step-link.active .step-num{background:#8040cd;color:white}.progress-card{margin-top:26px;border:1px solid #362c40;background:#1d1927;border-radius:12px;padding:17px 14px}.progress-top{display:flex;justify-content:space-between;font-size:10px;color:#9d90ac}.progress-top b{color:#cda5ff}.progress-track{background:#352b43;height:5px;border-radius:9px;overflow:hidden;margin-top:11px}.progress-track div{height:100%;background:linear-gradient(90deg,#8242d4,#c18aff);width:0%;transition:width .2s}.progress-card p{font-size:10px;color:#7d748a;margin-top:10px}.wizard-content{min-width:0}.wizard-main-head{margin-bottom:26px}.wizard-main-head .eyebrow{margin-bottom:8px}.step-line{display:flex;align-items:center;justify-content:space-between;gap:15px}.wizard-main-head h1{font-size:26px;letter-spacing:-.8px;margin-bottom:5px}.wizard-main-head .muted{font-size:12px}.stage-pill,.tiny-badge{border:1px solid #544166;padding:6px 9px;border-radius:6px;font-size:9px;letter-spacing:.4px;color:#bea9d7;white-space:nowrap;font-weight:800}.wizard-stage{display:none}.wizard-stage.active{display:block}.hero-card{padding:31px 29px;background:linear-gradient(112deg,#4b2d6d,#2c1b3c 56%,#201a2d);border:1px solid #704994;border-radius:15px;margin-bottom:17px;position:relative;overflow:hidden}.hero-card:after{content:'✦';position:absolute;font-size:165px;color:#c7a4ff09;right:24px;top:-46px;pointer-events:none}.hero-card h2{font-size:25px;line-height:1.42;letter-spacing:-.6px;margin:12px 0}.hero-card h2 em{color:#d0a1ff;font-style:normal}.hero-card p:not(.eyebrow){font-size:12px;color:#d4c7df;line-height:1.8;max-width:550px}.hero-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.hero-meta span{color:#e4c9ff;background:#ffffff0d;border:1px solid #ffffff21;border-radius:20px;padding:6px 10px;font-size:9px;font-weight:800}.panel{background:var(--panel);border:1px solid var(--border);border-radius:13px;padding:24px;margin-bottom:17px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:19px}.panel h3{font-size:17px;margin:0;letter-spacing:-.3px}.panel-heading .muted{font-size:11px;margin-top:6px;line-height:1.6}.fields-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.fields-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.label-spaced{margin-top:18px}.field-label{font-weight:800;font-size:12px}.chips,.check-list{display:flex;gap:8px;flex-wrap:wrap}.chip-check{position:relative;cursor:pointer}.chip-check input{position:absolute;opacity:0;width:1px;height:1px;top:0;left:0}.chip-check span{display:inline-flex;padding:9px 13px;border-radius:8px;border:1px solid #4b4058;background:#272131;color:#d0c5da;font-size:11px;transition:all .1s;line-height:1.2;user-select:none}.chip-check input:checked+span{background:#583580;border-color:#a06cee;color:#f0dfff;box-shadow:inset 0 0 0 1px #714ca4}.chip-check input:focus-visible+span{outline:2px solid #ae82fc;outline-offset:2px}.check-list{flex-direction:column}.check-list .chip-check span{display:flex;padding:13px;align-items:center;font-size:12px}.check-list .chip-check span:before{content:'□';color:#9a86ac;font-size:16px;margin-right:11px}.check-list .chip-check input:checked+span:before{content:'☑';color:#dfc8ff}.timeline{display:flex;flex-direction:column}.timeline-item{display:flex;align-items:start;gap:15px;padding:16px 0;border-bottom:1px solid #353040}.timeline-item:first-child{padding-top:4px}.timeline-item:last-child{border-bottom:0;padding-bottom:4px}.timeline-date{background:#31253f;padding:10px;min-width:74px;color:#d8b4ff;font-weight:900;letter-spacing:.4px;border-radius:8px;text-align:center}.timeline-date small{display:block;font-size:9px;letter-spacing:1.5px;color:#8e7ba2}.timeline-item b{font-size:12px}.timeline-item p{font-size:11px;color:#a79cae;margin-top:4px}.primary-timeline .timeline-date{background:#62328e;color:white}.dynamic-list{display:flex;flex-direction:column;gap:13px}.dynamic-row{background:#191622;border:1px solid #3b3148;border-radius:10px;padding:16px}.dynamic-row-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.dynamic-row-head b{font-size:12px}.icon-btn{width:27px;height:27px;display:grid;place-items:center;border-radius:6px;background:#34273a;border:1px solid #55445f;color:#f0ccd7;font-size:20px}.dynamic-row .fields-2{gap:13px}.dynamic-row .fields-3{gap:13px}.add-row{margin-top:15px}.finish-panel{padding:24px;background:#372047;border:1px solid #8154a6;border-radius:12px;display:flex;gap:18px;align-items:center;justify-content:space-between}.finish-panel h3{font-size:17px;margin:6px 0}.finish-panel p{font-size:11px;line-height:1.7;color:#c3b0d1;max-width:400px}.wizard-actions{position:sticky;bottom:0;z-index:5;background:linear-gradient(to top,#111019 65%,#111019e8);padding:18px 0 13px;display:flex;align-items:center;justify-content:space-between}.action-group{display:flex;gap:10px}.summary-sidebar{position:sticky;align-self:start;top:96px;background:#1a1723;border:1px solid #373040;border-radius:12px;padding:21px}.summary-sidebar h3{font-size:17px;line-height:1.45;margin:10px 0 18px}.summary-highlight{background:linear-gradient(130deg,#3e2857,#281f36);border:1px solid #654386;border-radius:10px;padding:15px}.summary-highlight span{display:block;font-size:9px;color:#c9a7e9;font-weight:800;letter-spacing:1px}.summary-highlight strong{display:block;font-size:17px;margin-top:6px;overflow-wrap:anywhere}.summary-highlight p{font-size:10px;color:#af9abc;margin-top:6px}.summary-group{border-bottom:1px solid #352e40;padding:16px 0}.summary-group h4{font-size:11px;margin-bottom:9px;color:#b6afbf}.summary-values{display:flex;flex-wrap:wrap;gap:6px}.summary-tag{font-size:9px;padding:5px 8px;border-radius:6px;border:1px solid #6b4d8d;color:#d8b6f3;background:#31243f}.summary-tag.muted-tag{background:#26202d;color:#aaa}.placeholder{font-size:10px;color:#756c83}.summary-numbers{padding:15px 0}.summary-numbers div{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.summary-numbers span{font-size:10px;color:#9c90aa}.summary-numbers strong{font-size:12px;color:#d5b3fa}.summary-export{border-top:1px solid #353040;padding-top:17px}.summary-export .btn{margin-top:9px;font-size:10px}.toast{position:fixed;bottom:25px;right:25px;z-index:50;background:#26392e;border:1px solid #4a8261;padding:13px 19px;border-radius:9px;font-size:12px;color:#d9ffe5;box-shadow:0 10px 35px #0005;opacity:0;transform:translateY(10px);pointer-events:none;transition:all .2s;max-width:390px}.toast.show{opacity:1;transform:translateY(0)}.toast.bad{background:#40242a;border-color:#824953;color:#ffe0e0}
@media(max-width:1400px){.editor-layout{grid-template-columns:200px minmax(0,1fr) 242px;gap:17px;padding:25px 18px}.summary-sidebar{padding:17px}.wizard-content .panel{padding:21px}.main-content{padding:44px 31px 25px}}
@media(max-width:1080px){.editor-layout{grid-template-columns:195px minmax(0,1fr)}.summary-sidebar{position:static;grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:12px}.summary-sidebar>.eyebrow,.summary-sidebar>h3{grid-column:span 2}.summary-sidebar .summary-export{grid-column:span 2}.stat-grid{grid-template-columns:repeat(2,1fr)}.side{width:200px;min-width:200px}.list-tools input{width:190px}}
@media(max-width:760px){.app-shell{display:block}.side{position:static;height:auto;min-height:0;width:100%;padding:15px 20px;display:flex;flex-direction:row;align-items:center;justify-content:space-between}.side-nav,.side-bottom,.side-caption{display:none}.main-content{padding:24px 16px}.page-top{flex-direction:column}.page-top h1{font-size:25px}.stat-grid{gap:8px;margin-top:24px}.stat-card{padding:15px}.stat-card strong{font-size:25px}.section-heading{flex-direction:column;align-items:stretch;padding:18px}.list-tools{flex-wrap:wrap}.list-tools input{flex:1;min-width:150px}.list-tools select{flex:1}.editor-topbar{padding:0 13px;gap:8px;height:61px}.editor-topbar .brand{font-size:11px}.editor-topbar .brand-emblem{width:24px;height:24px;font-size:15px}.back-link{font-size:10px}.editor-right{gap:7px}.editor-right .save-status{display:none}.editor-layout{display:block;padding:16px 13px 50px}.wizard-nav{position:static;margin-bottom:24px}.wizard-nav>.eyebrow,.wizard-nav>h2,.wizard-nav>.small-muted,.wizard-nav>.progress-card{display:none}.nav-steps{display:flex;flex-direction:row;overflow-x:auto;gap:6px;margin:0;padding:0 0 5px}.step-link{min-width:138px;border:1px solid #40354e;background:#201a2c;padding:9px;font-size:10px}.step-link small{font-size:9px}.step-num{padding:5px;min-width:24px}.wizard-main-head h1{font-size:22px}.stage-pill{display:none}.hero-card{padding:23px 19px}.hero-card h2{font-size:20px}.panel{padding:17px;margin-bottom:12px}.panel h3{font-size:16px}.fields-2,.fields-3{grid-template-columns:1fr;gap:12px}.chip-check span{font-size:10px;padding:9px}.summary-sidebar{display:block;margin-top:25px}.finish-panel{flex-direction:column;align-items:stretch}.wizard-actions{padding:13px 0}.wizard-actions .btn{padding:11px 13px;font-size:11px}.list-panel{margin-top:25px}.auth-panel{padding:25px}}
