:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f7fb;--surface:#fff;--surface-soft:#f8faff;--ink:#14213d;--muted:#68758d;--line:#e3e9f2;--primary:#315de8;--primary-dark:#2447bd;--success:#087f5b;--warning:#a35d00;--danger:#b42318;--shadow:0 18px 50px #15244c12}:root[data-theme=dark],[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b1120;--surface:#111a2b;--surface-soft:#172338;--ink:#e7edf8;--muted:#9aa9c2;--line:#2a3850;--primary:#7b9cff;--primary-dark:#9bb3ff;--success:#55d6a5;--warning:#ffc36b;--danger:#ff8b8b;--shadow:0 18px 50px #00000059}*{box-sizing:border-box}html{background:var(--bg);min-height:100%}body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,Segoe UI,system-ui,sans-serif;line-height:1.55}h1,h2,h3,h4{letter-spacing:-.035em;color:var(--ink);margin:0}p{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--primary);outline-offset:2px}::selection{background:var(--primary);color:#fff}.theme-switch-pill{border:1px solid var(--line);background:var(--surface);height:42px;color:var(--ink);cursor:pointer;border-radius:9999px;align-items:center;gap:10px;padding:0 16px 0 12px;font-size:14px;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 4px 12px #0000000d}.theme-switch-pill:hover{background:var(--surface-soft);border-color:var(--primary);transform:translateY(-1px);box-shadow:0 6px 16px #315de826}.theme-pill-track{pointer-events:none;border-radius:9999px;align-items:center;width:38px;height:22px;padding:2px;transition:background .25s;display:flex}.track-dark{background:var(--primary)}.track-light{background:#cbd5e1}.theme-pill-thumb{color:#0f172a;pointer-events:none;background:#fff;border-radius:50%;place-items:center;width:18px;height:18px;transition:transform .25s cubic-bezier(.34,1.56,.64,1);display:grid;box-shadow:0 2px 5px #0003}.thumb-dark{color:#315de8;transform:translate(16px)}.thumb-light{color:#d97706;transform:translate(0)}.theme-pill-text{letter-spacing:-.01em;pointer-events:none;white-space:nowrap;font-size:14px;font-weight:700}.public-shell{background:var(--bg);min-height:100vh}.topbar{justify-content:space-between;align-items:center;max-width:1200px;margin:auto;padding:24px 28px;display:flex}.brand{letter-spacing:-.04em;align-items:center;gap:11px;font-size:16px;font-weight:800;display:inline-flex}.brand-mark{width:40px;height:40px;box-shadow:none;background:0 0;border:0;border-radius:0;flex:0 0 40px;place-items:center;display:grid;overflow:visible}.brand-mark img{object-fit:contain;width:40px;height:40px;display:block}.brand small{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;font-size:11px;font-weight:600;display:block}.nav-actions{align-items:center;gap:12px;display:flex}.button{background:var(--primary);color:#fff;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 18px;font-size:14px;font-weight:700;transition:transform .15s,background .15s,box-shadow .15s;display:inline-flex}.button:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 8px 18px #315de829}.button:disabled{cursor:not-allowed;opacity:.6;transform:none}.button-secondary{color:var(--ink);border-color:var(--line);background:var(--surface);box-shadow:none}.button-secondary:hover{background:var(--surface-soft)}.button-quiet{min-height:36px;color:var(--muted);border-color:var(--line);background:0 0;padding:6px 12px;font-size:13px}.button-small{min-height:36px;padding:6px 12px;font-size:13px}.button-full{width:100%}.text-link{color:var(--primary);font-size:14px;font-weight:700}.eyebrow{color:var(--primary);letter-spacing:.16em;text-transform:uppercase;margin-bottom:9px;font-size:12px;font-weight:800}.hero{grid-template-columns:1.02fr .98fr;align-items:center;gap:70px;max-width:1200px;margin:0 auto;padding:72px 28px 88px;display:grid}.hero h1{max-width:720px;font-size:clamp(42px,5.8vw,72px);font-weight:800;line-height:1.03}.hero h1 em{color:var(--primary);font-style:normal}.hero-copy{max-width:620px;color:var(--muted);margin-top:24px;font-size:17px}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.hero-meta{color:var(--muted);flex-wrap:wrap;gap:16px;margin-top:28px;font-size:13px;font-weight:600;display:flex}.hero-meta span:before{content:"✓";color:var(--success);margin-right:7px}.hero-visual{justify-content:center;align-items:center;min-height:420px;display:flex;position:relative}.visual-glow{filter:blur(2px);opacity:.5;background:linear-gradient(140deg,#dfe8ff,#dff7ef);border-radius:36px;position:absolute;inset:10% 4%;transform:rotate(-4deg)}.visual-board{z-index:1;border:1px solid var(--line);background:var(--surface);width:min(100%,480px);box-shadow:var(--shadow);border-radius:24px;padding:22px;transform:rotate(2deg)}.visual-head{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.visual-head strong{font-size:15px}.visual-dots{gap:5px;display:flex}.visual-dots i{background:var(--line);border-radius:50%;width:7px;height:7px}.visual-stat-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.visual-stat{background:var(--surface-soft);border-radius:14px;padding:14px}.visual-stat b{letter-spacing:-.06em;font-size:25px;display:block}.visual-stat span{color:var(--muted);font-size:11px}.visual-project{border:1px solid var(--line);background:var(--surface-soft);border-radius:13px;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:12px;display:flex}.mini-progress{background:var(--line);border-radius:20px;width:95px;height:6px;overflow:hidden}.mini-progress span{border-radius:inherit;background:var(--primary);height:100%;display:block}.feature-strip{grid-template-columns:repeat(3,1fr);gap:18px;max-width:1144px;margin:0 auto 70px;padding:0 28px;display:grid}.feature-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:22px}.feature-number{width:34px;height:34px;color:var(--primary);background:var(--surface-soft);border-radius:11px;place-items:center;margin-bottom:18px;font-size:13px;font-weight:800;display:inline-grid}.feature-card h3{margin-bottom:8px;font-size:16px}.feature-card p{color:var(--muted);font-size:14px}.site-footer{border-top:1px solid var(--line);max-width:1200px;color:var(--muted);justify-content:space-between;gap:18px;margin:auto;padding:24px 28px;font-size:13px;display:flex}.auth-shell{background:var(--bg);grid-template-columns:1fr .9fr;min-height:100vh;display:grid}.auth-aside{color:#fff;background:#14213d;flex-direction:column;justify-content:space-between;padding:42px;display:flex}.auth-aside .brand small{color:#a9b5cf}.auth-aside h1{max-width:500px;margin:70px 0 18px;font-size:clamp(38px,4vw,58px);line-height:1.05}.auth-aside p{color:#c2cbe0;max-width:470px}.auth-aside-footer{color:#9eacc9;font-size:13px}.auth-panel{place-items:center;padding:32px;display:grid}.auth-card{border:1px solid var(--line);background:var(--surface);width:100%;max-width:460px;box-shadow:var(--shadow);border-radius:24px;padding:38px}.auth-card h2{margin-bottom:8px;font-size:28px}.auth-card>p{color:var(--muted);margin-bottom:24px;font-size:14px}.auth-card .field{margin-bottom:16px}.auth-footer{text-align:center;color:var(--muted);margin-top:20px;font-size:14px}.portal-layout{background:var(--bg);grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0}.sidebar .brand{margin:0 10px 28px}.sidebar-label{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;padding:8px 12px;font-size:11px;font-weight:800}.sidebar-nav{gap:4px;display:grid}.sidebar-link{color:var(--muted);border-radius:11px;align-items:center;gap:12px;padding:11px 12px;font-size:14px;font-weight:700;display:flex}.sidebar-link:hover,.sidebar-link-active{color:var(--primary);background:var(--surface-soft)}.sidebar-link .nav-symbol{width:26px;height:26px;color:var(--muted);background:var(--surface-soft);border-radius:8px;place-items:center;font-size:13px;display:grid}.sidebar-bottom{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;margin-top:auto;padding:12px}.profile-line{align-items:center;gap:10px;display:flex}.avatar,.main-avatar{width:38px;height:38px;color:var(--primary);background:var(--surface-soft);border-radius:12px;flex-shrink:0;place-items:center;font-size:13px;font-weight:800;display:grid}.profile-line strong{text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:13px;display:block;overflow:hidden}.profile-line small{color:var(--muted);text-transform:capitalize;font-size:11px;display:block}.portal-main{min-width:0;padding:28px clamp(18px,3.2vw,44px) 52px}.portal-topbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:30px;display:flex}.breadcrumb{color:var(--muted);font-size:14px;font-weight:600}.breadcrumb a{color:var(--ink);font-size:14px;font-weight:800}.breadcrumb a:hover{color:var(--primary)}.topbar-right{align-items:center;gap:14px;display:flex}.main-avatar{width:40px;height:40px}.page-header{justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;display:flex}.page-header h1{font-size:clamp(27px,3vw,36px);font-weight:800;line-height:1.15}.page-description{max-width:700px;color:var(--muted);margin-top:9px;font-size:15px}.page-header-action{flex-shrink:0;gap:8px;display:flex}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px;display:grid}.stat-card{border:1px solid var(--line);background:var(--surface);border-radius:17px;padding:20px}.stat-label{color:var(--muted);font-size:13px;font-weight:600}.stat-value{letter-spacing:-.06em;color:var(--ink);margin:11px 0 6px;font-size:32px;font-weight:800}.stat-footnote{color:var(--muted);font-size:12px}.content-grid{grid-template-columns:minmax(0,1.35fr) minmax(270px,.85fr);align-items:start;gap:18px;display:grid}.stack{gap:18px;display:grid}.panel{border:1px solid var(--line);background:var(--surface);border-radius:17px;overflow:hidden}.panel-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;display:flex}.panel-header h2{font-size:16px}.panel-header p{color:var(--muted);margin-top:3px;font-size:12px}.panel-body{padding:18px 20px}.link-subtle{color:var(--primary);font-size:13px;font-weight:700}.list-rows{display:grid}.list-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:15px 20px;display:flex}.list-row:last-child{border-bottom:0}.list-row-main{min-width:0}.list-row-main strong{overflow-wrap:anywhere;color:var(--ink);font-size:14px;display:block}.list-row-main p{color:var(--muted);margin-top:4px;font-size:12px}.row-meta{flex-wrap:wrap;justify-content:end;align-items:center;gap:8px;display:flex}.badge{background:var(--surface-soft);max-width:100%;color:var(--muted);text-transform:capitalize;white-space:nowrap;border-radius:10px;align-items:center;gap:4px;padding:6px 12px;font-size:12px;font-weight:800;display:inline-flex}.badge-approved,.badge-released,.badge-done,.badge-completed,.badge-verified,.badge-on_track,.badge-active{color:#087f5b;background:#e2f7ef}.badge-in_progress,.badge-current,.badge-in_review,.badge-testing,.badge-at_risk,.badge-urgent{color:#a35d00;background:#fff2d6}.badge-blocked,.badge-rejected,.badge-paused,.badge-wont{color:#b42318;background:#fee9e7}.badge-discovery,.badge-draft,.badge-planned,.badge-backlog,.badge-normal{color:var(--muted);background:var(--surface-soft)}:root[data-theme=dark] .badge-approved,:root[data-theme=dark] .badge-released,:root[data-theme=dark] .badge-done,:root[data-theme=dark] .badge-completed,:root[data-theme=dark] .badge-verified,:root[data-theme=dark] .badge-on_track,:root[data-theme=dark] .badge-active{color:#55d6a5;background:#55d6a526}:root[data-theme=dark] .badge-in_progress,:root[data-theme=dark] .badge-current,:root[data-theme=dark] .badge-in_review,:root[data-theme=dark] .badge-testing,:root[data-theme=dark] .badge-at_risk,:root[data-theme=dark] .badge-urgent{color:#ffc36b;background:#ffc36b26}:root[data-theme=dark] .badge-blocked,:root[data-theme=dark] .badge-rejected,:root[data-theme=dark] .badge-paused,:root[data-theme=dark] .badge-wont{color:#ff8b8b;background:#ff8b8b26}.week-list{gap:10px;display:grid}.week-item{border:1px solid var(--line);background:var(--surface);border-radius:13px;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;padding:12px;display:grid}.week-number{width:36px;height:36px;color:var(--primary);background:var(--surface-soft);border-radius:11px;place-items:center;font-size:12px;font-weight:800;display:grid}.week-item strong{color:var(--ink);font-size:13px;display:block}.week-item p{color:var(--muted);margin-top:4px;font-size:11px}.table-wrap{width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:620px}.data-table th,.data-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:13px 16px;font-size:13px}.data-table th{color:var(--muted);background:var(--surface-soft);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.data-table tr:last-child td{border-bottom:0}.data-table td p{color:var(--muted);margin-top:3px;font-size:12px}.project-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.project-card{border:1px solid var(--line);background:var(--surface);border-radius:17px;flex-direction:column;min-height:210px;padding:20px;transition:transform .16s,box-shadow .16s;display:flex}.project-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.project-card-top{justify-content:space-between;gap:12px;display:flex}.project-card h3{margin:14px 0 8px;font-size:18px}.project-card p{color:var(--muted);font-size:13px}.project-card-footer{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:22px;font-size:12px;display:flex}.role-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 22px;display:grid}.role-dashboard-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:16px;padding:18px}.role-dashboard-card h2{margin:8px 0 5px;font-size:17px}.role-dashboard-card p{color:var(--muted);font-size:13px}.role-progress{background:var(--line);border-radius:20px;height:6px;margin:12px 0 7px;overflow:hidden}.role-progress span{border-radius:inherit;background:var(--primary);height:100%;display:block}.role-card-meta{color:var(--muted);justify-content:space-between;gap:8px;font-size:12px;display:flex}.project-timeline-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:20px;margin-bottom:24px;padding:24px}.timeline-card-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.timeline-card-header h2{font-size:20px;font-weight:800}.wavy-timeline-container{width:100%;padding:10px 0 20px;position:relative;overflow-x:auto}.wavy-connector-svg{pointer-events:none;z-index:1;width:100%;min-width:700px;height:100px;position:absolute;top:30px;left:0}.wavy-nodes-wrapper{z-index:2;justify-content:space-between;align-items:flex-start;min-width:720px;height:185px;padding:0 10px;display:flex;position:relative}.wavy-stage-item{text-align:center;flex-direction:column;flex:0 0 100px;align-items:center;width:100px;transition:transform .2s;display:flex}.wavy-stage-item.high{margin-top:0}.wavy-stage-item.low{margin-top:50px}.wavy-stage-item.pending{opacity:1}.wavy-stage-item.current{transform:scale(1.1)}.wavy-step-num{margin-bottom:5px;font-size:18px;font-weight:800}.wavy-circle-node{border:4px solid;border-radius:50%;place-items:center;width:76px;height:76px;transition:background-color .25s,border-color .25s,box-shadow .25s,color .25s;display:grid;box-shadow:0 6px 16px #00000024}.wavy-stage-item.current .wavy-circle-node{box-shadow:0 0 0 4px var(--surface), 0 0 0 8px var(--primary)}.node-icon{filter:drop-shadow(0 1px 1px #0f172a1f);place-items:center;font-size:36px;line-height:1;display:inline-grid}.wavy-node-label{flex-direction:column;align-items:center;margin-top:8px;display:flex}.wavy-node-label strong{color:var(--ink);font-size:11px;font-weight:800;line-height:1.2}.wavy-status-tag{text-transform:uppercase;border-radius:6px;margin-top:4px;padding:2px 6px;font-size:9px;font-weight:800}.wavy-status-tag.completed{color:#059669;background:#0596691f}.wavy-status-tag.current{color:var(--primary);background:#315de81f}.wavy-status-tag.submitted{color:#9a6700;background:#eab30833}:root[data-theme=dark] .wavy-status-tag.submitted{color:#fcd66b;background:#eab3082e}.wavy-status-tag.pending{color:var(--muted);background:var(--surface-soft)}.form-panel{border:1px solid var(--line);background:var(--surface);border-radius:17px;padding:22px}.form-panel h2{margin-bottom:5px;font-size:18px}.form-intro{color:var(--muted);margin-bottom:20px;font-size:13px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field{color:var(--muted);gap:7px;font-size:13px;font-weight:700;display:grid}.field input,.field select,.field textarea{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:var(--surface-soft);border-radius:10px;padding:10px 12px;font-size:14px;font-weight:500}.field textarea{resize:vertical;min-height:98px}.field input::placeholder,.field textarea::placeholder{color:var(--muted)}.field small{color:var(--muted);font-size:11px;font-weight:500}.form-wide{grid-column:1/-1}.form-actions{align-items:center;gap:10px;margin-top:18px;display:flex}.form-message{border-radius:10px;margin-bottom:18px;padding:11px 13px;font-size:13px}.form-message-error{color:#9f2119;background:#fff0ef;border:1px solid #f6c8c5}.form-message-success{color:#087f5b;background:#edfbf5;border:1px solid #bee9d9}:root[data-theme=dark] .form-message-error{color:#ff8b8b;background:#ff8b8b1a;border-color:#ff8b8b4d}:root[data-theme=dark] .form-message-success{color:#55d6a5;background:#55d6a51a;border-color:#55d6a54d}.empty-state{text-align:center;justify-items:center;padding:34px 20px;display:grid}.empty-icon{width:45px;height:45px;color:var(--primary);background:var(--surface-soft);border-radius:14px;place-items:center;margin-bottom:13px;font-size:22px;display:grid}.empty-state h3{margin-bottom:7px;font-size:16px}.empty-state p{max-width:380px;color:var(--muted);margin-bottom:15px;font-size:13px}.detail-layout{grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);align-items:start;gap:18px;display:grid}.detail-section{margin-bottom:18px}.detail-section>h2{margin-bottom:12px;font-size:18px}.detail-section>p{color:var(--muted);font-size:14px}.inline-form{align-items:center;gap:8px;display:flex}.inline-form select{border:1px solid var(--line);background:var(--surface-soft);max-width:180px;color:var(--ink);border-radius:8px;padding:6px 10px;font-size:12px}.notice{border:1px solid var(--line);color:var(--ink);background:var(--surface-soft);border-radius:13px;margin-bottom:18px;padding:14px 16px;font-size:13px}.notice strong{margin-bottom:4px;display:block}.meta-line{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.meta-line span:before{content:"•";color:var(--muted);margin-right:6px}.rich-text{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);font-size:13px}.action-list{gap:9px;display:grid}.action-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:12px}.action-card strong{color:var(--ink);font-size:13px;display:block}.action-card p{color:var(--muted);margin-top:4px;font-size:12px}.action-card-footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.prose{color:var(--muted);gap:12px;font-size:14px;display:grid}.prose h2,.prose h3{color:var(--ink)}.prose ul{padding-left:20px}.muted{color:var(--muted)}.small{font-size:12px}.sidebar-utility{border-top:1px solid var(--line);flex-wrap:wrap;gap:4px 12px;margin-top:12px;padding-top:10px;font-size:13px;font-weight:700;display:flex}.sidebar-utility a{color:var(--muted)}.sidebar-utility a:hover{color:var(--primary)}.sdlc-roadmap-scroll{scrollbar-width:thin;scrollbar-color:var(--line) transparent;width:100%;padding:8px 0 14px;overflow:auto hidden}.sdlc-roadmap{isolation:isolate;width:100%;min-width:1190px;min-height:370px;position:relative}.sdlc-road{z-index:0;pointer-events:none;width:100%;height:270px;position:absolute;inset:0 0 auto;overflow:visible}.sdlc-road-shadow{fill:none;stroke:var(--line);stroke-width:13px;stroke-linecap:round;stroke-linejoin:round}.sdlc-road-progress{fill:none;stroke-width:13px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1000;transition:stroke-dashoffset .5s}.sdlc-stages{z-index:1;grid-template-columns:repeat(7,minmax(0,1fr));align-items:start;min-height:360px;display:grid;position:relative}.sdlc-stage{--stage-color:#64748b;text-align:center;flex-direction:column;align-items:center;min-width:0;transition:transform .25s;display:flex;position:relative}.sdlc-stage-top{padding-top:5px}.sdlc-stage-bottom{padding-top:100px}.sdlc-stage-number{border:2px solid var(--stage-color);width:34px;height:34px;color:var(--stage-color);background:var(--surface);box-shadow:0 3px 0 color-mix(in srgb, var(--stage-color) 16%, transparent);border-radius:50%;place-items:center;margin-bottom:7px;font-size:12px;font-weight:900;display:grid}.sdlc-art-frame{border:2px solid color-mix(in srgb, var(--stage-color) 42%, var(--line));background:color-mix(in srgb, var(--stage-color) 9%, var(--surface));width:132px;height:108px;box-shadow:0 8px 0 color-mix(in srgb, var(--stage-color) 14%, transparent), 0 14px 24px #0f172a14;border-radius:28px 28px 24px 24px;place-items:center;transition:border-color .25s,background-color .25s,box-shadow .25s,filter .25s;display:grid;position:relative;overflow:visible}.sdlc-art-ground{background:color-mix(in srgb, var(--stage-color) 16%, var(--line));border-radius:50%;height:5px;position:absolute;bottom:13px;left:18px;right:18px}.sdlc-illustration{z-index:1;width:108px;height:90px;position:relative;overflow:visible}.sdlc-stage-copy{flex-direction:column;align-items:center;gap:6px;width:100%;max-width:154px;margin-top:18px;display:flex}.sdlc-stage-copy strong{color:var(--ink);text-wrap:balance;font-size:12px;font-weight:850;line-height:1.35}.sdlc-stage-status{background:var(--surface-soft);max-width:100%;color:var(--muted);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:4px 7px;font-size:9px;font-weight:850;line-height:1.2;display:inline-flex}.sdlc-stage.is-completed .sdlc-art-frame{border-color:var(--stage-color);background:color-mix(in srgb, var(--stage-color) 15%, var(--surface));box-shadow:0 8px 0 color-mix(in srgb, var(--stage-color) 22%, transparent), 0 14px 24px #0f172a1a}.sdlc-stage.is-completed .sdlc-stage-number{color:#fff;background:var(--stage-color)}.sdlc-stage.is-completed .sdlc-stage-status{color:#047857;background:#10b98121}.sdlc-stage.is-current .sdlc-art-frame{border-color:var(--stage-color);background:color-mix(in srgb, var(--stage-color) 12%, var(--surface));box-shadow:0 0 0 4px var(--surface), 0 0 0 7px color-mix(in srgb, var(--stage-color) 55%, transparent), 0 14px 24px #0f172a1a;transform:translateY(-3px)}.sdlc-stage.is-current .sdlc-stage-status{color:var(--stage-color);background:color-mix(in srgb, var(--stage-color) 13%, var(--surface))}.sdlc-stage.is-submitted .sdlc-art-frame{background:color-mix(in srgb, #facc15 18%, var(--surface));border-color:#d6a116}.sdlc-stage.is-submitted .sdlc-stage-number{color:#946200;border-color:#d6a116}.sdlc-stage.is-submitted .sdlc-stage-status{color:#946200;background:#eab30833}:root[data-theme=dark] .sdlc-stage.is-submitted .sdlc-stage-number,:root[data-theme=dark] .sdlc-stage.is-submitted .sdlc-stage-status{color:#fcd66b}.sdlc-stage.is-pending .sdlc-art-frame{border-color:var(--line);background:var(--surface-soft);box-shadow:0 7px 0 color-mix(in srgb, var(--line) 50%, transparent), 0 12px 18px #0f172a0d}.sdlc-stage.is-pending .sdlc-illustration{filter:grayscale(.62)saturate(.45);opacity:.84}.sdlc-stage.is-pending .sdlc-stage-number{border-color:var(--line);color:var(--muted)}.sdlc-complete-check,.sdlc-review-dot{z-index:2;border:3px solid var(--surface);color:#fff;background:#059669;border-radius:50%;place-items:center;width:28px;height:28px;font-size:15px;font-weight:900;display:grid;position:absolute;top:-9px;right:-9px;box-shadow:0 2px 7px #0f172a2e}.sdlc-review-dot{color:#694900;background:#facc15;font-size:13px}.sdlc-roadmap-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 18px;padding-top:10px;font-size:11px;font-weight:750;display:flex}.sdlc-roadmap-legend span{align-items:center;gap:6px;display:inline-flex}.sdlc-roadmap-legend i{border-radius:50%;width:9px;height:9px;display:inline-block}.sdlc-roadmap-legend .legend-complete{background:#059669}.sdlc-roadmap-legend .legend-review{background:#eab308}.sdlc-roadmap-legend .legend-pending{background:#94a3b8}@media (max-width:700px){.sdlc-roadmap{min-width:1190px}.sdlc-roadmap-legend{font-size:10px}}@media (prefers-reduced-motion:reduce){.sdlc-road-progress,.sdlc-art-frame,.sdlc-stage{transition:none}}@media (max-width:1000px){.hero{grid-template-columns:1fr;gap:30px;padding-top:46px}.hero-visual{min-height:360px}.portal-layout{grid-template-columns:210px minmax(0,1fr)}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid,.detail-layout{grid-template-columns:1fr}}@media (max-width:700px){.topbar{padding:18px}.nav-actions .button-secondary{display:none}.hero{padding:38px 20px 50px}.hero h1{font-size:43px}.hero-copy{font-size:15px}.hero-visual{min-height:300px}.visual-board{padding:14px}.visual-stat{padding:10px}.visual-stat b{font-size:21px}.feature-strip{grid-template-columns:1fr;padding:0 20px}.site-footer{flex-direction:column;padding:20px}.auth-shell{grid-template-columns:1fr}.auth-aside{display:none}.auth-panel{padding:18px}.auth-card{padding:26px 22px}.portal-layout{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;padding:14px;position:static}.sidebar .brand{margin:0 8px 12px}.sidebar-label,.sidebar-bottom{display:none}.sidebar-nav{gap:4px;padding-bottom:2px;display:flex;overflow-x:auto}.sidebar-link{flex:none;padding:9px;font-size:12px}.sidebar-link .nav-symbol{display:none}.portal-main{padding:20px 14px 36px}.portal-topbar{margin-bottom:24px}.page-header{flex-direction:column;align-items:start}.page-header-action{width:100%}.stats-grid{gap:10px}.stat-card{padding:15px}.stat-value{font-size:26px}.project-card-grid,.role-dashboard-grid,.form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}.list-row{align-items:start;padding:13px}.row-meta{flex-direction:column;align-items:end}.theme-pill-text{display:none}.theme-switch-pill{justify-content:center;width:54px;padding:0 8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.portal-layout{min-height:100vh;display:block}.app-navbar{z-index:60;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(18px);width:100%;position:sticky;top:0;box-shadow:0 5px 24px #14213d09}.app-navbar-inner{align-items:center;gap:22px;width:min(100%,1600px);min-height:78px;margin:0 auto;padding:12px clamp(16px,3vw,40px);display:flex}.app-navbar-brand{flex:none}.app-navbar-links{align-items:center;gap:4px;min-width:0;margin-left:auto;display:flex}.app-nav-link{min-height:42px;color:var(--muted);white-space:nowrap;border:1px solid #0000;border-radius:11px;align-items:center;gap:8px;padding:9px 12px;font-size:13px;font-weight:750;transition:color .16s,background .16s,border-color .16s;display:inline-flex}.app-nav-link:hover{color:var(--ink);background:var(--surface-soft)}.app-nav-link-active{color:var(--primary);border-color:color-mix(in srgb, var(--primary) 15%, var(--line));background:color-mix(in srgb, var(--primary) 8%, var(--surface))}.app-nav-symbol{background:var(--surface-soft);border-radius:7px;flex:0 0 23px;place-items:center;width:23px;height:23px;font-size:13px;display:grid}.app-navbar-actions{flex:none;justify-content:flex-end;align-items:center;gap:12px;display:flex}.app-navbar-spacer{flex:1}.app-nav-menu-button{display:none}.user-menu{flex:none;position:relative}.user-menu-trigger{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:14px;align-items:center;gap:9px;max-width:230px;min-height:44px;padding:4px 9px 4px 5px;list-style:none;display:flex}.user-menu-trigger::-webkit-details-marker{display:none}.user-menu-trigger:hover,.user-menu[open] .user-menu-trigger{background:var(--surface-soft);border-color:color-mix(in srgb, var(--primary) 35%, var(--line))}.user-menu-avatar{width:34px;height:34px;color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, var(--surface));border-radius:10px;place-items:center;font-size:14px;font-weight:900;display:grid}.user-menu-identity{text-align:left;gap:0;min-width:0;display:grid}.user-menu-identity strong{max-width:145px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.user-menu-identity small{color:var(--muted);text-transform:capitalize;font-size:10px}.user-menu-chevron{color:var(--muted);margin-left:2px;font-size:16px}.user-menu-panel{z-index:90;border:1px solid var(--line);background:var(--surface);width:230px;box-shadow:var(--shadow);border-radius:15px;padding:8px;position:absolute;top:calc(100% + 10px);right:0}.user-menu-summary{border-bottom:1px solid var(--line);gap:2px;padding:10px 10px 12px;display:grid}.user-menu-summary strong{overflow-wrap:anywhere;color:var(--ink);font-size:13px}.user-menu-summary span{color:var(--muted);text-transform:capitalize;font-size:11px}.user-menu-panel form{margin:7px 0 0}.user-menu-signout{width:100%;color:var(--danger);text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:9px;padding:10px;font-size:13px;font-weight:800;display:flex}.user-menu-signout:hover{background:color-mix(in srgb, var(--danger) 8%, var(--surface))}.app-mobile-drawer,.app-nav-backdrop{display:none}.portal-main{width:min(100%,1600px);margin:0 auto;padding-top:30px}.portal-topbar{display:none}.app-navbar-onboarding .app-navbar-inner{min-height:74px}.app-navbar-onboarding .app-navbar-actions{margin-left:auto}@media (max-width:1120px){.app-navbar-inner{gap:12px}.app-navbar-links{gap:1px}.app-nav-link{gap:6px;padding:8px 9px;font-size:12px}.app-nav-symbol,.user-menu-identity{display:none}.user-menu-trigger{gap:4px;padding-right:7px}}@media (max-width:760px){.app-navbar-inner{gap:10px;min-height:70px;padding:10px 14px}.app-nav-menu-button{border:1px solid var(--line);width:40px;height:40px;color:var(--ink);background:var(--surface);border-radius:12px;flex:0 0 40px;place-items:center;font-size:20px;display:grid}.app-navbar-brand{gap:7px;font-size:14px}.app-navbar-brand .brand-mark,.app-navbar-brand .brand-mark img{width:34px;height:34px}.app-navbar-brand .brand-mark{flex-basis:34px}.app-navbar-brand small{letter-spacing:.08em;max-width:160px;font-size:8px}.app-navbar-links{display:none}.app-navbar-actions{gap:7px;margin-left:auto}.app-navbar-actions .theme-switch-pill{justify-content:center;width:42px;height:42px;padding:0}.user-menu-trigger{border-radius:12px;min-height:42px;padding:3px}.user-menu-avatar{width:33px;height:33px}.user-menu-chevron{display:none}.user-menu-panel{right:0}.app-nav-backdrop{z-index:70;background:#040a186b;border:0;width:100%;display:block;position:fixed;inset:70px 0 0}.app-mobile-drawer{z-index:80;border-right:1px solid var(--line);background:var(--surface);width:min(84vw,320px);box-shadow:var(--shadow);visibility:hidden;flex-direction:column;gap:5px;padding:20px 14px;transition:transform .2s,visibility .2s;display:flex;position:fixed;inset:70px auto 0 0;overflow-y:auto;transform:translate(-105%)}.app-mobile-drawer-open{visibility:visible;transform:translate(0)}.app-mobile-drawer-label{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;padding:0 12px 8px;font-size:11px;font-weight:850}.app-mobile-drawer .app-nav-link{gap:12px;min-height:46px;padding:10px 12px;font-size:14px}.app-mobile-drawer .app-nav-symbol{display:grid}.portal-main{padding:22px 14px 36px}.app-navbar-onboarding .app-navbar-inner{min-height:70px}.app-navbar-onboarding .app-navbar-brand small{max-width:115px}}@media (prefers-reduced-motion:reduce){.app-nav-link,.app-mobile-drawer{transition:none}}.brand-icon-motion{isolation:isolate;flex:0 0 40px;place-items:center;width:40px;height:40px;display:inline-grid;position:relative}.brand-icon-motion:after{z-index:-1;border:1px solid color-mix(in srgb, var(--primary) 34%, transparent);content:"";border-radius:50%;animation:5s ease-in-out infinite kelin-logo-orbit;position:absolute;inset:1px}.brand-icon-image{object-fit:contain;transform-origin:50%;width:100%;height:100%;animation:6s ease-in-out infinite kelin-logo-float;display:block}.brand:hover .brand-icon-image,.app-navbar-brand:hover .brand-icon-image{animation-duration:1.8s}.developed-by{border:1px solid var(--line);width:fit-content;color:var(--muted);border-radius:999px;align-items:center;gap:9px;padding:8px 12px 8px 9px;text-decoration:none;transition:border-color .2s,color .2s,transform .2s;display:inline-flex}.developed-by:hover{color:var(--ink);border-color:var(--primary);transform:translateY(-2px)}.developed-by-logo-wrap{width:29px;height:29px;box-shadow:0 0 0 1px color-mix(in srgb, var(--primary) 22%, transparent);background:#fff;border-radius:50%;flex:0 0 29px;place-items:center;animation:3.5s ease-in-out infinite kelin-developer-glow;display:grid}.developed-by-logo{object-fit:contain;width:23px;height:23px}.developed-by-copy{flex-direction:column;gap:3px;line-height:1.2;display:flex}.developed-by-copy small{letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:700}.developed-by-copy strong{color:var(--ink);letter-spacing:-.02em;font-size:12px}.footer-right{align-items:flex-end}@keyframes kelin-logo-float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-2px)rotate(2deg)}}@keyframes kelin-logo-orbit{0%,to{opacity:.45;transform:scale(.94)rotate(0)}50%{opacity:.95;transform:scale(1.06)rotate(180deg)}}@keyframes kelin-developer-glow{0%,to{box-shadow:0 0 0 1px color-mix(in srgb, var(--primary) 22%, transparent), 0 0 0 0 color-mix(in srgb, var(--primary) 0%, transparent)}50%{box-shadow:0 0 0 1px color-mix(in srgb, var(--primary) 45%, transparent), 0 0 14px 2px color-mix(in srgb, var(--primary) 18%, transparent)}}@media (max-width:700px){.brand-icon-motion{flex-basis:34px;width:34px;height:34px}.footer-right{align-items:flex-start}}@media (prefers-reduced-motion:reduce){.brand-icon-motion:after,.brand-icon-image,.developed-by-logo-wrap{animation:none!important}.developed-by{transition:none}}.developed-by-compact{gap:7px;padding:5px 9px}.developed-by-compact .developed-by-logo-wrap{flex-basis:30px;width:30px;height:30px}.developed-by-compact .developed-by-logo{width:24px;height:24px}.developed-by-compact .developed-by-copy small{font-size:8px}.developed-by-compact .developed-by-copy strong{font-size:11px}@media (max-width:760px){.developed-by-compact{border:0;padding:4px}.developed-by-compact .developed-by-copy{display:none}.developed-by-compact .developed-by-logo-wrap{flex-basis:28px;width:28px;height:28px}.developed-by-compact .developed-by-logo{width:22px;height:22px}}
