:root {
  --ink: #242033;
  --muted: #736f7d;
  --line: #e8e4ee;
  --paper: #fff;
  --canvas: #f7f5fa;
  --green: #6b20b7;
  --green-2: #8a28d1;
  --lime: #20d6d2;
  --purple: #7526bf;
  --violet: #9523d2;
  --cyan: #25c9df;
  --turquoise: #43d7b3;
  --orange: #d97932;
  --red: #b94d4d;
  --yellow: #c89b36;
  --brand-gradient: linear-gradient(115deg, #8d12dc 0%, #6428ba 40%, #28c8df 72%, #42dab3 100%);
  --shadow: 0 12px 35px rgba(84, 32, 132, .08);
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--canvas); color: var(--ink); font: 14px/1.45 Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
.sidebar { position: fixed; inset: 0 auto 0 0; width: 230px; padding: 26px 18px; color: #f7f0fc; background: linear-gradient(180deg, #211333 0%, #2d1743 52%, #182d42 100%); display: flex; flex-direction: column; z-index: 10; }
.brand { display: block; padding: 2px 7px 7px; }
.brand img { display: block; width: 100%; height: auto; }
.product-name { margin: 0 8px 27px; color: #bcb0ca; font-size: 10px; font-weight: 800; letter-spacing: 1.8px; text-transform: uppercase; }
nav { display: grid; gap: 5px; }
nav a { padding: 11px 13px; border-radius: 9px; color: #c7bbd2; font-weight: 600; }
nav a:hover, nav a.active { background: linear-gradient(90deg, rgba(147,35,210,.28), rgba(36,202,220,.13)); color: #fff; box-shadow: inset 3px 0 0 var(--cyan); }
.sidebar-note { margin-top: auto; padding: 12px; border: 1px solid rgba(255,255,255,.12); border-radius: 10px; color: #c7bbd2; font-size: 12px; background: rgba(255,255,255,.03); }
.signed-user { display: flex; gap: 9px; align-items: center; }.signed-user strong,.signed-user small { display: block; }.signed-user small { color: #9e91ad; }.avatar.small { width: 30px; height: 30px; border-radius: 8px; }
.logout-button { width: 100%; margin-top: 11px; padding: 7px; border: 1px solid rgba(255,255,255,.13); border-radius: 7px; color: #d8cede; background: transparent; cursor: pointer; }.logout-button:hover { color: #fff; background: rgba(255,255,255,.08); }
main { margin-left: 230px; min-height: 100vh; }
.topbar { min-height: 112px; padding: 28px 34px 24px; background: rgba(255,255,255,.82); border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; backdrop-filter: blur(10px); }
.topbar h1 { margin: 2px 0 0; font-size: 25px; letter-spacing: -.5px; }
.eyebrow { margin: 0; color: var(--purple); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 1.2px; }
.top-actions, .form-actions { display: flex; gap: 10px; justify-content: flex-end; align-items: center; }
.content { padding: 28px 34px 50px; max-width: 1600px; }
.button { border: 0; border-radius: 9px; padding: 10px 16px; color: #fff; background: var(--brand-gradient); font-weight: 700; cursor: pointer; display: inline-flex; justify-content: center; align-items: center; box-shadow: 0 5px 14px rgba(117,38,191,.17); }
.button:hover { filter: saturate(1.15) brightness(.96); }.button.secondary { color: var(--purple); background: #eee5f7; box-shadow: none; }.button.ghost { color: var(--ink); background: transparent; border: 1px solid var(--line); box-shadow: none; }
.flash { margin: 18px 34px -5px; padding: 12px 16px; border-radius: 8px; background: #eee5f7; color: var(--purple); }.flash.error { background: #f8e4e4; color: var(--red); }
.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 20px; }
.metric-card { min-height: 130px; padding: 22px; background: var(--paper); border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); display: flex; flex-direction: column; }
.metric-card span { color: var(--muted); font-weight: 650; }.metric-card strong { margin-top: auto; font-size: 30px; letter-spacing: -1.5px; }.metric-card small { color: var(--muted); }
.metric-card.accent { color: #fff; background: var(--brand-gradient); border: 0; }.metric-card.accent span,.metric-card.accent small { color: rgba(255,255,255,.75); }.metric-card.danger { border-top: 4px solid var(--red); }
.metric-grid.compact .metric-card { min-height: 100px; }.metric-grid.compact .metric-card strong { font-size: 23px; }
.two-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
.panel { margin-bottom: 20px; padding: 22px; background: var(--paper); border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); }
.panel-header { min-height: 42px; margin-bottom: 20px; display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; }
.panel h2 { margin: 4px 0 0; font-size: 18px; letter-spacing: -.25px; }.panel-header > a { color: var(--green-2); font-weight: 700; }
.bar-list { display: grid; gap: 16px; }.bar-row { display: grid; grid-template-columns: 105px 1fr 28px; align-items: center; gap: 12px; }.bar-track { height: 8px; border-radius: 9px; background: #efebf2; overflow: hidden; }.bar-track i { height: 100%; display: block; background: var(--brand-gradient); border-radius: 9px; }
.health-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }.health-grid > div { padding: 18px 12px; background: #f8f9f8; border-radius: 10px; text-align: center; }.health-grid strong,.health-grid small { display: block; }.health-grid strong { margin-top: 8px; font-size: 23px; }.health-grid small { color: var(--muted); }
.health-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: #b8bfbb; flex: 0 0 auto; }.health-dot.green,.dot.green { background: #3e9b70; }.health-dot.yellow { background: #e4ae3e; }.health-dot.red { background: #d45757; }.health-dot.unknown { background: #aeb6b2; }
.startup-list { display: grid; }.startup-list > a { min-height: 62px; padding: 9px 0; border-top: 1px solid var(--line); display: flex; gap: 12px; align-items: center; }.startup-list > a:first-child { border-top: 0; }
.avatar { width: 36px; height: 36px; border-radius: 10px; display: inline-grid; place-items: center; flex: 0 0 auto; color: var(--purple); background: linear-gradient(135deg, #eee2fa, #dff8f7); font-weight: 850; font-size: 12px; }.avatar.xl { width: 66px; height: 66px; border-radius: 18px; font-size: 20px; }
.grow { flex: 1; min-width: 0; }.grow strong,.grow small,.company strong,.company small { display: block; }.grow small,.company small { margin-top: 2px; color: var(--muted); font-size: 12px; }
.badge { padding: 5px 9px; border-radius: 99px; background: #efecf2; color: #6b6472; font-size: 11px; font-weight: 750; white-space: nowrap; }.badge.alpha { background: #f1e3fb; color: #7b20bd; }.badge.beta { background: #e8e3f2; color: #665678; }.badge.traction { background: #dff5fa; color: #187d9d; }.badge.scale,.badge.global { background: #dcf7f1; color: #167f6b; }.badge.red { background:#f8dfdf;color:var(--red)}.badge.yellow{background:#fbefcf;color:#946e11}.badge.green{background:#dff1e8;color:#28734f}
.empty { padding: 25px; color: var(--muted); text-align: center; }.empty.positive { color: var(--green-2); }
.filters { margin-bottom: 16px; display: grid; grid-template-columns: 2fr 1fr 1fr auto; gap: 10px; }
input, select, textarea { width: 100%; border: 1px solid #e0dbe5; border-radius: 8px; padding: 10px 11px; background: #fff; color: var(--ink); outline: none; }
input:focus, select:focus, textarea:focus { border-color: var(--violet); box-shadow: 0 0 0 3px rgba(139,40,209,.11); }
label { display: grid; gap: 7px; color: #554f5f; font-size: 12px; font-weight: 700; }
.table-panel { padding: 0; overflow: hidden; } table { width: 100%; border-collapse: collapse; } th { padding: 13px 16px; background: #faf8fc; color: var(--muted); text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .5px; } td { padding: 14px 16px; border-top: 1px solid var(--line); white-space: nowrap; } tr:hover td { background: #fcfafd; }.company { display: flex; gap: 11px; align-items: center; }.status-label { display: flex; gap: 7px; align-items: center; }.link-arrow { color: var(--purple); font-size: 20px; }
.form-panel { max-width: 980px; margin-inline: auto; }.form-section { margin: 10px 0 16px; border-top: 1px solid var(--line); padding-top: 22px; }.form-section:first-child { border-top:0; padding-top:0 }.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }.form-grid.one { grid-template-columns: 1fr; }.form-grid .wide { grid-column: 1 / -1; }.check-row { margin: 20px 0; display: flex; flex-wrap: wrap; gap: 20px; }.check-row label,.check { display:flex; grid: none; flex-direction: row; align-items:center; }.check-row input,.check input { width: auto; }.form-actions { margin-top: 22px; }
.profile-header { display: flex; gap: 18px; align-items: center; }.profile-header h2 { margin: 7px 0 2px; font-size: 24px; }.profile-header p { margin: 0; color: var(--muted); }.badge-row { display: flex; gap: 7px; }.health-block { min-width: 150px; display:flex; gap:10px; align-items:center; }.health-block .health-dot { width:14px;height:14px }.health-block small,.health-block strong { display:block }.health-block small { color:var(--muted)}
.tabs { margin: 25px 0 15px; border-bottom: 1px solid var(--line); display: flex; gap: 5px; }.tabs button { padding: 11px 15px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--muted); font-weight: 700; cursor: pointer; }.tabs button.active { border-color: var(--violet); color: var(--purple); }.tab-panel { display:none }.tab-panel.active { display:block }
.check-summary { display:grid;gap:12px }.check-summary>div { padding:14px;background:#f8f9f8;border-radius:10px;display:flex;gap:12px;align-items:center }.check-summary i { width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#f5e1cf;color:var(--orange);font-style:normal;font-weight:900 }.check-summary .done i { background:#dff1e8;color:#28734f }.check-summary strong,.check-summary small { display:block }.check-summary small { color:var(--muted) }
.details { display:grid;grid-template-columns:130px 1fr;gap:12px;margin:0 }.details dt { color:var(--muted) }.details dd { margin:0;font-weight:650 }.prose { white-space:pre-wrap }
.objective-list,.assessment-list { display:grid }.objective-list>div,.assessment-list>div { padding:13px 0;border-top:1px solid var(--line);display:flex;align-items:center;gap:11px }.objective-list>div:first-child,.assessment-list>div:first-child{border-top:0}
.captable-layout { grid-template-columns: 1.15fr .85fr; }
.captable-visual { display: grid; grid-template-columns: 150px 1fr; gap: 25px; align-items: center; }
.donut { width: 142px; aspect-ratio: 1; border-radius: 50%; background: conic-gradient(var(--violet) calc(var(--known) * 3.6deg), #ece8f0 0); position: relative; display: grid; place-items: center; }
.donut::after { content: ""; position: absolute; width: 96px; aspect-ratio: 1; border-radius: 50%; background: #fff; }
.donut span { position: relative; z-index: 1; text-align: center; }.donut strong,.donut small { display: block; }.donut strong { font-size: 22px; }.donut small { color: var(--muted); }
.captable-legend { display: grid; }.captable-legend > div { display: flex; gap: 10px; align-items: center; padding: 11px 0; border-top: 1px solid var(--line); }.captable-legend > div:first-child { border-top: 0; }
.captable-legend i { width: 10px; height: 10px; border-radius: 50%; background: var(--cyan); }.captable-legend i.mubius { background: var(--violet); }.captable-legend i.unknown { background: #d8d3dc; }
.captable-legend b { font-size: 12px; }.data-warning { margin: 18px 0 0; padding: 12px; border-radius: 8px; color: #6e6178; background: #f7f2fa; font-size: 12px; }
.update-list { display: grid; }.update-list details { border-top: 1px solid var(--line); }.update-list details:first-child { border-top: 0; }.update-list summary { padding: 14px 0; display: flex; gap: 12px; align-items: center; cursor: pointer; list-style: none; }.update-list summary::-webkit-details-marker { display:none; }
.update-date { min-width: 82px; color: var(--purple); font-size: 11px; font-weight: 800; }.update-summary { padding: 13px; border-radius: 8px; background: #f9f6fb; white-space: pre-line; }.update-details { max-height: 440px; margin: 12px 0 18px; padding: 15px; border: 1px solid var(--line); border-radius: 8px; overflow: auto; color: #554f5f; background: #fff; white-space: pre-wrap; font-size: 12px; }
.workspace-list { display: grid; }.workspace-list > div { display: flex; gap: 11px; align-items: center; padding: 11px 0; border-top: 1px solid var(--line); }.workspace-list > div:first-child { border-top: 0; }.workspace-list strong,.workspace-list small { display: block; }.workspace-list small { color: var(--muted); }.workspace-icon { width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; color: var(--purple); background: #f0e8f7; font-weight: 900; }
.kanban { width: calc(100vw - 300px); padding-bottom: 20px; display: flex; gap: 14px; overflow-x: auto; }.kanban-column { width: 285px; min-width:285px; }.kanban-column>header { padding: 4px 6px 12px; display:flex;justify-content:space-between;font-weight:800 }.kanban-column>header strong { width:23px;height:23px;border-radius:7px;display:grid;place-items:center;background:#ece7f1;color:var(--purple);font-size:11px }.kanban-cards { min-height:430px;padding:8px;background:#eeeaf2;border-radius:12px }.kanban-card { margin-bottom:8px;padding:14px;background:#fff;border:1px solid #e2dce7;border-radius:10px;box-shadow:0 4px 12px rgba(84,32,132,.05) }.card-top { display:flex;gap:10px;align-items:center }.kanban-card p { color:var(--muted);font-size:12px }.kanban-card footer { display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:10px }.kanban-card footer select { width:115px;padding:6px;font-size:11px }.kanban-empty { padding:30px 8px;text-align:center;color:#9b94a1;font-size:12px }
dialog { width:min(620px,90vw);border:0;border-radius:15px;padding:25px;box-shadow:0 30px 100px rgba(0,0,0,.25) } dialog::backdrop{background:rgba(12,27,21,.55)}.modal-header{display:flex;justify-content:space-between;margin-bottom:22px}.modal-header h2{margin:3px 0}.icon-button{width:34px;height:34px;border:0;border-radius:50%;font-size:22px;cursor:pointer}
.level-switcher { display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px }.level-switcher a { padding:15px;background:#fff;border:1px solid var(--line);border-radius:11px }.level-switcher a.active { border-color:var(--violet);box-shadow:0 0 0 2px rgba(139,40,209,.12) }.level-switcher strong,.level-switcher small{display:block}.level-switcher small{color:var(--muted);margin-top:3px}.graduation-intro{display:flex;justify-content:space-between;gap:25px;align-items:center}.graduation-intro>div:first-child{max-width:620px}.graduation-intro p{color:var(--muted)}.criteria-panel{padding-bottom:8px}.criterion{display:grid;grid-template-columns:1.3fr 180px 1fr;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.criterion-text{display:flex;gap:8px;align-items:flex-start}.criterion-text i{color:var(--orange);font-style:normal}.criterion input,.criterion select{font-size:12px}
.intro-banner{border-left:5px solid var(--cyan)}
.auth-page { min-height: 100vh; background: linear-gradient(135deg, #211333 0%, #482069 47%, #185d72 100%); }
.auth-shell { min-height: 100vh; margin: 0; padding: 50px clamp(24px, 7vw, 100px); display: grid; grid-template-columns: 1.15fr minmax(330px, 440px); gap: clamp(40px, 8vw, 120px); align-items: center; }
.auth-brand { color: #fff; }.auth-brand img { width: min(430px, 80%); margin-bottom: 55px; }.auth-brand .eyebrow { color: var(--cyan); }.auth-brand h1 { max-width: 650px; margin: 10px 0 18px; font-size: clamp(35px, 5vw, 65px); line-height: 1.03; letter-spacing: -2.5px; }.auth-brand p:last-child { max-width: 520px; color: #d0c5dc; font-size: 17px; }
.auth-card { padding: 38px; border: 1px solid rgba(255,255,255,.38); border-radius: 20px; background: rgba(255,255,255,.96); box-shadow: 0 35px 90px rgba(13,7,24,.3); }.auth-card h2 { margin: 6px 0; font-size: 27px; }.auth-card > div > p:last-child { margin: 0 0 28px; color: var(--muted); }.auth-card form { display: grid; gap: 17px; }.auth-submit { width: 100%; margin-top: 4px; padding: 12px; }.auth-help { display: block; margin-top: 22px; color: var(--muted); text-align: center; }.flash.inline { margin: 0 0 18px; }
@media(max-width:1050px){.sidebar{width:190px}main{margin-left:190px}.metric-grid{grid-template-columns:1fr 1fr}.two-cols,.captable-layout{grid-template-columns:1fr}.kanban{width:calc(100vw - 240px)}}
@media(max-width:760px){.sidebar{position:static;width:auto;min-height:auto}.sidebar nav{grid-template-columns:repeat(4,1fr)}.sidebar-note{display:none}main{margin-left:0}.topbar{padding:20px;align-items:flex-start}.content{padding:20px}.metric-grid,.form-grid,.level-switcher,.captable-visual{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.kanban{width:calc(100vw - 40px)}.criterion{grid-template-columns:1fr}.health-grid{grid-template-columns:1fr 1fr}.profile-header{align-items:flex-start;flex-wrap:wrap}.top-actions{flex-wrap:wrap}.form-grid .wide{grid-column:auto}.auth-shell{grid-template-columns:1fr;padding:30px 20px}.auth-brand{display:none}.auth-card{padding:28px}}
