@font-face{font-family:Departure Mono;src:url(/fonts/DepartureMono-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Nunito;src:url(/fonts/nunito-400.woff) format("woff");font-weight:400;font-display:swap}@font-face{font-family:Nunito;src:url(/fonts/nunito-700.woff) format("woff");font-weight:700;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}button{-moz-appearance:none;appearance:none;-webkit-appearance:none}html{scroll-behavior:smooth}:root{--font: "Nunito", system-ui;--font-display: "Departure Mono", "Courier New", monospace;--font-mono: "Departure Mono", "Courier New", monospace;--bg: oklch(11% .02 295);--surface: oklch(14% .014 20);--surface-2: oklch(17% .014 20);--surface-3: oklch(21% .015 20);--border: oklch(26% .014 20);--separator: oklch(19% .012 20);--text: oklch(93% .006 90);--text-2: oklch(72% .008 60);--muted: oklch(55% .008 60);--accent: #FE82B8;--accent-deep: oklch(80% .17 350);--on-accent: oklch(12% .01 350);--green: oklch(76% .26 135);--green-badge-bg: oklch(76% .26 135 / .12);--green-badge-text: oklch(80% .18 140);--error: oklch(65% .19 20);--error-soft: rgba(239, 68, 68, .1);--success: var(--green);--success-soft: var(--green-badge-bg);--warning: oklch(80% .17 80);--warning-soft: oklch(80% .17 80 / .12);--info: oklch(70% .15 240);--info-soft: oklch(70% .15 240 / .12);--shadow: oklch(3% .012 295 / .75);--glow-pink: oklch(73% .2 350 / .18);--glow-green: oklch(76% .26 135 / .12);--radius: 10px;--radius-sm: 8px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-md: 15px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 28px}body{background-color:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--text-base);line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}a{color:var(--accent);text-decoration:none;transition:color .15s ease}a:hover{color:var(--accent-deep)}a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.container{display:flex;flex-direction:row;min-height:100vh}.sidebar{width:240px;background-color:var(--surface);display:flex;flex-direction:column;padding:0;position:relative}.sidebar-logo{padding:var(--space-4);font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;color:var(--text);letter-spacing:.5px;text-align:center;border-bottom:1px solid var(--separator)}.sidebar-menu{flex:1;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);padding-top:var(--space-6)}.sidebar-section{display:flex;flex-direction:column;gap:var(--space-1)}.sidebar-section-label{font-family:var(--font-display);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding-left:var(--space-3);margin-top:var(--space-6)}.sidebar-menu>.sidebar-section:first-child .sidebar-section-label{margin-top:0}.sidebar-item{display:flex;align-items:center;gap:var(--space-1);height:36px;padding:0 var(--space-3);border-radius:var(--radius-sm);cursor:pointer;background:transparent;border:none;color:var(--text-2);font-family:var(--font);font-size:var(--text-sm);font-weight:600;transition:all .1s ease;text-align:left;position:relative}.sidebar-item:hover{background-color:var(--surface-3);color:var(--text)}.sidebar-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.sidebar-item.active{background-color:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);font-weight:600}.sidebar-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background-color:var(--accent);border-radius:0 1px 1px 0}.sidebar-item-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:currentColor}.sidebar-footer{display:flex;flex-direction:column;gap:0;padding:var(--space-3) var(--space-3);border-top:1px solid var(--separator);margin-top:auto}.sidebar-tier{font-family:var(--font-display);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);background:transparent;border:none;text-align:left;padding:0 0 var(--space-3) 0;display:flex;align-items:center;gap:var(--space-2)}.sidebar-tier:before{content:"";display:inline-block;width:6px;height:6px;background-color:var(--accent);border-radius:50%;flex-shrink:0}.sidebar-logout{height:32px;background:transparent;border:1px solid var(--border);color:var(--text);padding:0 var(--space-3);border-radius:var(--radius-sm);cursor:pointer;font-weight:600;font-size:var(--text-sm);font-family:var(--font);transition:all .1s ease}.sidebar-logout:hover{border-color:var(--error);color:var(--error)}.sidebar-logout:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hamburger-btn{display:none;width:2.5rem;height:2.5rem;padding:.5rem;background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-lg);align-items:center;justify-content:center;position:absolute;top:1rem;left:1rem;z-index:101}.hamburger-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.main-content{flex:1;padding:var(--space-8);overflow-y:auto;display:flex;flex-direction:column;background-color:var(--bg)}.main-content>*{width:100%;max-width:1100px;margin:0 auto}.page{width:100%}.page h1{font-family:var(--font);font-size:var(--text-2xl);font-weight:700;margin-bottom:var(--space-8);color:var(--text);line-height:1.2}.page h2,.deploys-container h2,.suggestions-form-section h2,.suggestions-list-section h2,.dashboard-section h2{font-family:var(--font);font-size:var(--text-lg);font-weight:700;margin-bottom:0;margin-top:0;color:var(--text);line-height:1.2}.dashboard-container{width:100%}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.stats-row{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-4)}.stat-card{background-color:var(--surface);border-radius:var(--radius);padding:var(--space-4) var(--space-6);transition:all .1s ease}.stat-label{font-family:var(--font-display);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:var(--space-2)}.stat-value{font-size:var(--text-xl);font-weight:700;color:var(--text);margin-bottom:0;line-height:1.2}.stat-value small{font-size:var(--text-sm);color:var(--text-2);font-weight:400;margin-left:.5em}.dashboard-section{background-color:var(--surface);border-radius:var(--radius);overflow:hidden}.dashboard-section:nth-child(4){grid-column:1 / -1}.dashboard-section h2{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--separator);margin:0}.mini-list{display:flex;flex-direction:column}.mini-item{display:flex;align-items:center;justify-content:space-between;height:44px;padding:0 var(--space-6);background:transparent;border:none;border-bottom:1px solid var(--separator);gap:var(--space-4);transition:all .1s ease}.mini-item:last-child{border-bottom:none}.mini-item:hover{background:var(--surface-2)}.mini-item-main{display:flex;flex-direction:column;gap:0;flex:1;min-width:0;justify-content:center}.mini-item-main strong{font-weight:700;font-size:var(--text-sm);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-item-main small{font-size:var(--text-xs);color:var(--muted);font-family:var(--font-display)}.mini-item-main .muted{color:var(--muted)}.status-badge{height:20px;font-size:var(--text-xs);font-weight:700;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center}.status-badge.status-success{background:var(--green-badge-bg);color:var(--green-badge-text)}.status-badge.status-failure{background:color-mix(in srgb,var(--error) 12%,transparent);color:var(--error)}.status-badge.status-running{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.mini-table{display:flex;flex-direction:column}.mini-table-row{display:grid;grid-template-columns:48px 110px 1fr;gap:var(--space-4);align-items:center;height:44px;padding:0 var(--space-6);background:transparent;border:none;border-bottom:1px solid var(--separator);font-size:var(--text-sm)}.mini-table-row:last-child{border-bottom:none}.mini-table-row:hover{background:var(--surface-2)}.mini-table-row .mono{font-family:var(--font-mono);color:var(--muted);font-size:var(--text-xs)}.mini-table-row .accent{color:var(--text-2);font-size:var(--text-xs)}.mini-table-row .accent.mono{color:var(--text-2)}.mono{font-family:var(--font-mono)}.small{font-size:var(--text-sm)}.empty-state,.no-suggestions{color:var(--muted);text-align:center;padding:var(--space-8);font-size:var(--text-sm)}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:2rem;background:var(--bg)}.login-card{background-color:var(--surface);border:2px solid var(--border);border-radius:var(--radius);padding:var(--space-8);max-width:360px;width:100%;text-align:center;box-shadow:4px 4px 0 var(--shadow)}.login-card h1{font-family:var(--font);font-size:var(--text-xl);font-weight:700;margin-bottom:var(--space-4);color:var(--text);letter-spacing:0}.login-card p{color:var(--muted);margin-bottom:var(--space-8);font-size:var(--text-base)}.login-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background-color:var(--accent);color:var(--on-accent);padding:var(--space-3) var(--space-8);border-radius:var(--radius-sm);text-decoration:none;font-weight:700;font-size:var(--text-base);border:2px solid var(--accent-deep);cursor:pointer;transition:all .1s ease;box-shadow:3px 3px 0 var(--accent-deep)}.login-btn:hover{color:var(--on-accent);transform:translate(2px,2px);box-shadow:1px 1px 0 var(--accent-deep)}.login-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.form-group{margin-bottom:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{font-family:var(--font-display);font-weight:700;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:color-mix(in srgb,var(--accent) 55%,var(--text))}.form-group input,.form-group textarea,.form-group select,.flag-input{background-color:var(--surface-2);border:2px solid var(--border);color:var(--text);caret-color:var(--accent);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-family:var(--font);font-size:var(--text-base);transition:border-color .15s ease,box-shadow .15s ease;height:36px}.form-group textarea{height:auto;min-height:96px}.form-group input::placeholder,.form-group textarea::placeholder,.flag-input::placeholder{color:var(--muted)}.form-group input:hover:not(:focus),.form-group textarea:hover:not(:focus),.form-group select:hover:not(:focus),.flag-input:hover:not(:focus){border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.form-group input:focus,.form-group textarea:focus,.form-group select:focus,.flag-input:focus{outline:none;border-color:var(--accent);box-shadow:3px 3px color-mix(in srgb,var(--accent-deep) 65%,transparent);background-color:var(--surface-2)}.form-group input::selection,.form-group textarea::selection,.flag-input::selection{background:color-mix(in srgb,var(--accent) 40%,transparent)}.form-group button{background-color:var(--accent);color:var(--on-accent);border:1px solid var(--accent-deep);padding:var(--space-2) var(--space-4);border-radius:8px;cursor:pointer;font-weight:700;font-size:var(--text-xs);font-family:var(--font);transition:all .1s ease;box-shadow:2px 2px 0 var(--accent-deep);height:36px}.form-group button:hover:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px 0 var(--accent-deep)}.form-group button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.form-group button:disabled{opacity:.5;cursor:not-allowed}.suggestions-container{display:grid;grid-template-columns:minmax(280px,340px) 1fr;gap:var(--space-4)}.suggestions-form-section,.suggestions-list-section{background-color:var(--surface);border:2px solid var(--border);border-radius:var(--radius);padding:var(--space-6);box-shadow:4px 4px 0 var(--shadow)}.suggestion-form,.suggestion-cards{display:flex;flex-direction:column;gap:var(--space-4)}.suggestion-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-4);transition:border-color .15s ease}.suggestion-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.card-header{display:flex;justify-content:space-between;align-items:start;gap:var(--space-4);margin-bottom:var(--space-3)}.card-header h3{font-family:var(--font);font-weight:700;font-size:var(--text-base);margin:0;flex:1}.card-body{color:var(--muted);margin:var(--space-3) 0;font-size:var(--text-base);line-height:1.6}.card-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--muted)}.status-controls{display:flex;gap:var(--space-2)}.status-controls select,.form-group select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23FE82B8' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;padding-right:1.8rem;cursor:pointer}.status-controls select{background-color:var(--surface);border:2px solid var(--border);color:var(--text);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-2);border-radius:6px;font-size:var(--text-xs);transition:border-color .15s ease,box-shadow .15s ease;height:36px}.status-controls select:hover:not(:focus){border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.status-controls select:focus{outline:none;border-color:var(--accent);box-shadow:3px 3px color-mix(in srgb,var(--accent-deep) 65%,transparent)}.badge{font-size:var(--text-xs);font-weight:700;padding:4px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;height:20px;display:inline-flex;align-items:center}.badge-new,.badge-triaged{background:color-mix(in srgb,var(--muted) 12%,transparent);color:var(--muted)}.badge-accepted{background:var(--green-badge-bg);color:var(--green-badge-text)}.badge-rejected{background:color-mix(in srgb,var(--error) 12%,transparent);color:var(--error)}.flags-list{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-8)}.flag-item{display:flex;justify-content:space-between;align-items:center;background-color:var(--surface);border:2px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-4);box-shadow:3px 3px 0 var(--shadow);transition:all .1s ease;height:44px}.flag-item:hover{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--shadow);border-color:var(--accent)}.flag-label{display:flex;align-items:center;gap:var(--space-3);cursor:pointer;flex:1}.flag-checkbox{width:20px;height:20px;cursor:pointer;accent-color:var(--accent);border-radius:4px;flex-shrink:0;font-size:var(--text-sm)}.flag-checkbox:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.flag-name{font-family:var(--font-mono);font-weight:600;font-size:var(--text-base);color:var(--text)}.flag-status{font-size:var(--text-xs);padding:var(--space-1) var(--space-2);border-radius:6px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.flag-status.enabled{background-color:var(--green-soft);color:var(--green)}.flag-status.disabled{background-color:color-mix(in srgb,var(--muted) 12%,transparent);color:var(--muted)}.add-flag-section{background-color:var(--surface);border:2px solid var(--border);border-radius:var(--radius);padding:var(--space-6);box-shadow:4px 4px 0 var(--shadow)}.add-flag-section h3{font-family:var(--font-display);margin-bottom:var(--space-4);font-weight:700;font-size:var(--text-lg)}.add-flag-form{display:flex;gap:var(--space-3)}.flag-input{flex:1}.add-flag-btn{background-color:var(--accent);color:var(--on-accent);border:1px solid var(--accent-deep);padding:var(--space-2) var(--space-4);border-radius:8px;cursor:pointer;font-weight:700;font-size:var(--text-xs);font-family:var(--font);transition:all .1s ease;box-shadow:2px 2px 0 var(--accent-deep);height:36px}.add-flag-btn:hover:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px 0 var(--accent-deep)}.add-flag-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.add-flag-btn:disabled{opacity:.5;cursor:not-allowed}.audit-table-container{overflow-x:auto;background-color:var(--surface);border:2px solid var(--border);border-radius:var(--radius);box-shadow:4px 4px 0 var(--shadow);margin-top:var(--space-4)}.audit-table{width:100%;border-collapse:collapse;table-layout:auto}.audit-table thead{background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.audit-table th{padding:var(--space-4);text-align:left;font-weight:700;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--accent-deep);border-bottom:2px solid color-mix(in srgb,var(--accent) 28%,var(--border));height:36px}.audit-table td{padding:var(--space-4);border-bottom:1px solid var(--border);font-size:var(--text-base);color:var(--text)}.audit-table tbody tr{transition:background .1s ease}.audit-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.audit-table tbody tr:last-child td{border-bottom:none}.audit-table .time{font-family:var(--font-mono);color:var(--muted);font-size:var(--text-xs)}.audit-table .actor{font-family:var(--font-mono);color:var(--text-2);font-weight:600}.audit-table .action{font-weight:700}.audit-table .target{font-family:var(--font-mono);color:var(--text)}.audit-table .detail{color:var(--muted);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deploys-container{display:flex;flex-direction:column;gap:var(--space-6)}.deploys-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--space-6)}.deploy-card{background-color:var(--surface);border:2px solid var(--border);border-radius:var(--radius);padding:var(--space-6);box-shadow:4px 4px 0 var(--shadow);transition:all .1s ease;display:flex;flex-direction:column;gap:var(--space-4)}.deploy-card:hover{transform:translate(2px,2px);border-color:var(--accent);box-shadow:2px 2px 0 var(--accent-deep)}.deploy-card .card-header{margin-bottom:0;border-bottom:2px solid var(--border);padding-bottom:var(--space-4)}.deploy-card h3{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);margin:0}.runs-list{display:flex;flex-direction:column;gap:var(--space-3)}.run-item{display:block;background:color-mix(in srgb,var(--surface-2) 60%,transparent);border:1px solid var(--border);border-radius:8px;padding:var(--space-3);text-decoration:none;color:inherit;transition:all .1s ease;height:44px;display:flex;flex-direction:column;justify-content:center}.run-item:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.run-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.run-item strong{display:block;font-weight:700;margin-bottom:2px;font-size:var(--text-sm)}.run-item small{display:block;font-size:var(--text-xs);color:var(--muted)}.run-item.status-success{border-color:var(--green);background:var(--green-soft)}.run-item.status-success .run-status{color:var(--green);font-weight:700}.run-item.status-failure{border-color:var(--error);background:color-mix(in srgb,var(--error) 12%,transparent)}.run-item.status-failure .run-status{color:var(--error);font-weight:700}.run-item.status-running{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.run-item.status-running .run-status{color:var(--accent);font-weight:700}.run-item.status-pending{border-color:var(--muted);background:color-mix(in srgb,var(--muted) 8%,transparent)}.run-item.status-pending .run-status{color:var(--muted);font-weight:700}.run-item.status-cancelled{border-color:var(--muted);background:color-mix(in srgb,var(--muted) 8%,transparent)}.run-item.status-cancelled .run-status{color:var(--muted);font-weight:700}.run-info{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.run-info strong{margin-bottom:0}.run-status{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}.redeploy-section{display:flex;justify-content:center}.confirm-dialog{background:var(--surface-2);border:1px solid var(--accent);border-radius:10px;padding:var(--space-4);text-align:center;width:100%}.confirm-dialog p{margin-bottom:var(--space-4);font-weight:600;color:var(--text)}.confirm-buttons{display:flex;gap:var(--space-3);justify-content:center}.btn-primary,.btn-secondary,.btn-redeploy{font-weight:700;font-size:var(--text-sm);padding:var(--space-2) var(--space-4);border-radius:8px;cursor:pointer;border:none;transition:all .1s ease;font-family:var(--font);height:36px}.btn-primary{background-color:var(--accent);color:var(--on-accent);box-shadow:2px 2px 0 var(--accent-deep)}.btn-primary:hover:not(:disabled){transform:translate(1px,1px);box-shadow:1px 1px 0 var(--accent-deep)}.btn-secondary{background-color:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--muted);background-color:var(--surface-2)}.btn-redeploy{background-color:var(--accent);color:var(--on-accent);box-shadow:2px 2px 0 var(--accent-deep);width:100%}.btn-redeploy:hover:not(:disabled){transform:translate(1px,1px);box-shadow:1px 1px 0 var(--accent-deep)}.btn-redeploy:disabled{opacity:.5;cursor:not-allowed}.tools-container{display:flex;flex-direction:column;gap:var(--space-6)}.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-6)}.tool-card{background-color:var(--surface);border:2px solid var(--border);border-radius:var(--radius);padding:var(--space-6);box-shadow:4px 4px 0 var(--shadow);transition:all .1s ease;display:flex;flex-direction:column;gap:var(--space-4)}.tool-card:hover{transform:translate(2px,2px);border-color:var(--accent);box-shadow:2px 2px 0 var(--accent-deep)}.tool-header{display:flex;justify-content:space-between;align-items:start;gap:var(--space-4);margin-bottom:var(--space-2)}.tool-header h3{font-family:var(--font);font-weight:700;font-size:var(--text-base);margin:0;flex:1}.tool-description{color:var(--muted);font-size:var(--text-sm);line-height:1.6;margin:0;flex:1}.tool-access-note{background:color-mix(in srgb,var(--accent) 8%,transparent);border-left:3px solid var(--accent);padding:var(--space-3);border-radius:4px;font-size:var(--text-xs);color:var(--text)}.tool-access-note small{display:block;color:inherit;font-size:var(--text-xs)}.badge-direct,.badge-one-click{background:var(--green-badge-bg);color:var(--green-badge-text)}.badge-cf-access{background:color-mix(in srgb,var(--muted) 12%,transparent);color:var(--muted)}.btn-open-tool{align-self:flex-start;background-color:var(--accent);color:var(--on-accent);border:1px solid var(--accent-deep);padding:var(--space-2) var(--space-4);border-radius:8px;cursor:pointer;font-weight:700;font-size:var(--text-xs);font-family:var(--font);transition:all .1s ease;box-shadow:2px 2px 0 var(--accent-deep);height:36px}.btn-open-tool:hover:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px 0 var(--accent-deep)}.btn-open-tool:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-open-tool:disabled{opacity:.5;cursor:not-allowed}.error-message{background-color:color-mix(in srgb,var(--error) 12%,transparent);border:2px solid color-mix(in srgb,var(--error) 40%,transparent);color:var(--error);padding:1rem;border-radius:var(--radius-sm);margin-bottom:1rem;font-weight:600}.success-message{background-color:var(--green-soft);border:2px solid var(--green);color:var(--green);padding:1rem;border-radius:var(--radius-sm);margin-bottom:1rem;font-weight:600}.info-message{background-color:color-mix(in srgb,var(--accent) 10%,transparent);border:2px solid var(--accent);color:var(--text);padding:1rem;border-radius:var(--radius-sm);margin-bottom:1rem}.page-subtitle{font-size:var(--text-sm);color:var(--text-2);margin-top:0;margin-bottom:var(--space-6)}.members-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.members-search{height:32px;padding:0 var(--space-3);background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:var(--text-sm);flex:1;max-width:400px;transition:border-color .15s ease}.members-search::placeholder{color:var(--muted)}.members-search:focus{outline:none;border-color:var(--accent)}.members-count{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--muted);white-space:nowrap}.members-module{background-color:var(--surface);border-radius:var(--radius);overflow:hidden}.member-row{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 var(--space-6);border-bottom:1px solid var(--separator);transition:background-color .1s ease}.member-row:last-child{border-bottom:none}.member-row:hover{background-color:var(--surface-2)}.member-left{display:flex;align-items:center;gap:var(--space-4);flex:1;min-width:0}.member-avatar{width:24px;height:24px;border-radius:50%;flex-shrink:0;display:block}.member-info{display:flex;flex-direction:column;gap:0;min-width:0}.member-name{font-size:var(--text-sm);font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-username{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--muted)}.member-roles{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.role-chip{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 var(--space-2);border-radius:6px;font-size:var(--text-xs);white-space:nowrap;flex-shrink:0}.tier-dot{display:inline-block;width:4px;height:4px;border-radius:50%;background-color:var(--accent);margin-right:2px}.role-chip-overflow{background-color:var(--surface-3);color:var(--text-2)}.members-load-more{height:32px;padding:0 var(--space-4);background-color:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:var(--text-sm);font-weight:600;margin-top:var(--space-6);cursor:pointer;transition:all .1s ease}.members-load-more:hover:not(:disabled){background-color:color-mix(in srgb,var(--accent) 8%,transparent);border-color:var(--accent)}.members-load-more:disabled{opacity:.5;cursor:not-allowed}.loading{display:flex;justify-content:center;align-items:center;min-height:100vh;color:var(--muted);font-weight:600}@media (max-width: 768px){.container{flex-direction:column}.sidebar{width:100%;flex-direction:row;padding:0;align-items:center;justify-content:space-between;height:auto;border-bottom:1px solid var(--separator)}.hamburger-btn{display:flex;position:static;margin-right:var(--space-4);flex-shrink:0}.sidebar-logo{padding:var(--space-4);border:none;margin:0;flex:1;text-align:left}.sidebar-menu,.sidebar-footer{display:none}.sidebar.open .sidebar-menu{display:flex;position:absolute;top:100%;left:0;right:0;background-color:var(--surface);border-bottom:1px solid var(--separator);flex-direction:column;padding:var(--space-4);gap:var(--space-1);z-index:100}.sidebar.open .sidebar-footer{display:flex;position:absolute;top:calc(100% + 300px);left:0;right:0;background-color:var(--surface);border-bottom:1px solid var(--separator);padding:var(--space-3);gap:0}.suggestions-container,.deploys-grid,.dashboard-grid{grid-template-columns:1fr}.card-footer{flex-direction:column;align-items:flex-start}.main-content{padding:var(--space-6)}.add-flag-form{flex-direction:column}.add-flag-form input,.add-flag-form button{width:100%}.confirm-buttons{flex-direction:column}.confirm-buttons button{width:100%}}@media (max-width: 480px){.main-content{padding:var(--space-4)}.page h1{font-size:var(--text-lg)}.page h2,.suggestions-form-section h2,.suggestions-list-section h2{font-size:var(--text-md)}.stats-row{grid-template-columns:1fr}.login-card{padding:var(--space-6) var(--space-4)}.audit-table{font-size:var(--text-xs)}.audit-table th,.audit-table td{padding:var(--space-2)}}.env-note{font-size:var(--text-xs);color:var(--muted)}small{font-size:var(--text-xs)}.tools-module{background-color:var(--surface);border-radius:var(--radius);overflow:hidden}.tool-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:56px;padding:var(--space-3) var(--space-6)}.tool-row+.tool-row{border-top:1px solid var(--separator)}.tool-row:hover{background-color:var(--surface-2)}.tool-row-main{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.tool-row-name{font-size:var(--text-sm);font-weight:700;color:var(--text)}.tool-row-desc{font-size:var(--text-xs);color:var(--text-2)}.tool-row-note{color:var(--muted)}.tool-row-actions{display:flex;gap:var(--space-2);flex-shrink:0}.btn-env-primary,.btn-env-ghost{height:28px;padding:0 var(--space-3);border-radius:var(--radius-sm);font-family:var(--font);font-size:var(--text-xs);font-weight:700;cursor:pointer;transition:all .1s ease}.btn-env-primary{background-color:var(--accent);color:var(--on-accent);border:1px solid var(--accent-deep);box-shadow:2px 2px 0 var(--accent-deep)}.btn-env-primary:hover{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--accent-deep)}.btn-env-ghost{background-color:transparent;color:var(--text-2);border:1px solid var(--border)}.btn-env-ghost:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));color:var(--text)}.btn-env-primary:focus-visible,.btn-env-ghost:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.boards-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);padding:var(--space-4);background-color:var(--surface);border:1px solid var(--separator);border-radius:var(--radius-sm)}.boards-select{height:32px;padding:0 var(--space-3);background-color:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;transition:all .1s ease}.boards-select:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background-color:var(--surface-2)}.boards-select:focus{outline:none;border-color:var(--accent)}.boards-link{padding:0 var(--space-4);height:32px;display:inline-flex;align-items:center;background-color:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text);text-decoration:none;transition:all .1s ease}.boards-link:hover{background-color:var(--surface-2);border-color:var(--accent);color:var(--accent)}.kanban-container{display:flex;gap:var(--space-6);overflow-x:auto;padding-bottom:var(--space-4);padding-right:var(--space-2)}.kanban-container::-webkit-scrollbar{height:8px}.kanban-container::-webkit-scrollbar-track{background-color:transparent}.kanban-container::-webkit-scrollbar-thumb{background-color:color-mix(in srgb,var(--text) 25%,transparent);border-radius:4px;border:2px solid transparent;background-clip:content-box}.kanban-container::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb,var(--text) 40%,transparent);background-clip:content-box}.kanban-column{flex:1 1 280px;min-width:280px;display:flex;flex-direction:column;background-color:var(--surface);border:1px solid var(--separator);border-radius:var(--radius-sm);overflow:hidden;box-shadow:2px 2px 0 var(--shadow)}.kanban-column.deleting{opacity:.5;pointer-events:none}.column-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-4);border-bottom:2px solid var(--separator);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 8%,transparent) 0%,transparent 100%)}.column-name{font-size:var(--text-sm);font-weight:700;color:var(--text);font-family:var(--font)}.column-count{font-size:var(--text-xs);font-weight:700;color:var(--accent);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;background-color:color-mix(in srgb,var(--accent) 12%,transparent);padding:2px 6px;border-radius:4px;min-width:24px;text-align:center}.column-cards{flex:1;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);overflow-y:auto;max-height:600px}.card{position:relative;padding:var(--space-3) var(--space-4);background-color:var(--surface-2);border:1px solid var(--separator);border-radius:var(--radius-sm);cursor:default;transition:all .1s ease;display:flex;flex-direction:column;gap:var(--space-2)}.card:hover{background-color:var(--surface-3);border-color:color-mix(in srgb,var(--accent) 40%,var(--separator));transform:translate(1px,1px)}.card-tag{display:inline-flex;align-items:center;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 6px;border-radius:4px;white-space:nowrap;width:fit-content;font-family:var(--font-display)}.card-tag.CRITICAL{background-color:color-mix(in srgb,var(--error) 16%,transparent);color:var(--error)}.card-tag.HIGH{background-color:color-mix(in srgb,var(--warning) 16%,transparent);color:var(--warning)}.card-tag.PRODUCT{background-color:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.card-tag.FEATURE{background-color:color-mix(in srgb,var(--green) 16%,transparent);color:var(--green)}.card-tag.BUG{background-color:color-mix(in srgb,var(--error) 16%,transparent);color:var(--error)}.card-name{display:block;font-size:var(--text-sm);font-weight:600;color:var(--text);text-decoration:none;word-break:break-word;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4}.card-name:hover{color:var(--accent)}.card-labels{display:flex;gap:var(--space-2);flex-wrap:wrap}.card-label{width:8px;height:8px;border-radius:50%;background-color:var(--accent)}.card-due{font-size:var(--text-xs);color:var(--muted);font-family:var(--font-mono)}.card-due.overdue{color:var(--error);font-weight:600}.card-move{position:absolute;top:var(--space-2);right:var(--space-2);width:20px;height:20px;padding:0;background-color:transparent;color:var(--muted);border:none;font-size:var(--text-sm);cursor:pointer;opacity:0;transition:opacity .1s ease,color .1s ease}.card:hover .card-move{opacity:1}.card-move:hover{color:var(--accent)}.column-footer{padding:0 var(--space-4) var(--space-4)}.column-add-btn{width:100%;padding:var(--space-3);background-color:transparent;color:var(--text-2);border:1px dashed var(--separator);border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;transition:all .1s ease}.column-add-btn:hover{background-color:var(--surface-2);color:var(--text);border-color:var(--text-2)}.card-input{display:flex;flex-direction:column;gap:var(--space-2)}.card-input textarea{padding:var(--space-2) var(--space-3);background-color:var(--surface-2);color:var(--text);border:1px solid var(--separator);border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:var(--font);resize:vertical}.card-input textarea:focus{outline:none;border-color:var(--accent)}.card-input-confirm,.card-input-cancel{flex:1;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;transition:all .1s ease}.card-input-confirm{background-color:var(--accent);color:var(--on-accent)}.card-input-confirm:hover:not(:disabled){background-color:var(--accent-deep)}.card-input-confirm:disabled{opacity:.5;cursor:not-allowed}.card-input-cancel{background-color:var(--surface-2);color:var(--text)}.card-input-cancel:hover{background-color:var(--surface-3)}.notion-search-container{margin-bottom:var(--space-6)}.notion-search-input{width:100%;max-width:400px;height:32px;padding:0 var(--space-3);background-color:var(--surface);color:var(--text);border:1px solid var(--separator);border-radius:var(--radius-sm);font-size:var(--text-sm);transition:border-color .1s ease}.notion-search-input:focus{outline:none;border-color:var(--accent)}.notion-module{background-color:var(--surface);border-radius:var(--radius);overflow:hidden}.notion-row{display:flex;align-items:center;justify-content:space-between;height:44px;padding:0 var(--space-6);border-bottom:1px solid var(--separator);transition:background-color .1s ease;color:inherit;text-decoration:none}.notion-row-left{display:flex;align-items:center;gap:var(--space-4);flex:1;min-width:0}.notion-icon{font-size:18px;flex-shrink:0}.notion-info{display:flex;flex-direction:column;gap:2px;min-width:0}.notion-title{font-size:var(--text-sm);font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notion-meta{font-size:var(--text-xs);color:var(--muted);font-family:var(--font-mono)}.notion-arrow{color:var(--text-2);margin-left:var(--space-4);flex-shrink:0}.empty-state-note{font-size:var(--text-xs);color:var(--muted);margin-top:var(--space-2)}.select{position:relative;min-width:220px}.select-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;height:32px;padding:0 var(--space-3);background-color:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:border-color .15s ease}.select-trigger:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.select-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.select-chevron{color:var(--muted);flex-shrink:0}.select-placeholder{color:var(--muted)}.card{background-color:var(--surface);border:2px solid var(--border);border-radius:var(--radius);padding:var(--space-4);box-shadow:4px 4px 0 var(--shadow)}.nas-toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-6);margin-bottom:var(--space-6);flex-wrap:wrap}.nas-toolbar h1{margin:0}.nas-toolbar-buttons{display:flex;gap:var(--space-3)}.nas-usage-card{background-color:var(--surface);border:2px solid var(--border);border-radius:var(--radius);padding:var(--space-4) var(--space-6);box-shadow:4px 4px 0 var(--shadow);margin-bottom:var(--space-6)}.nas-usage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3);font-size:var(--text-sm);color:var(--text)}.nas-usage-label{font-weight:600}.nas-usage-percent{font-weight:700;color:var(--accent)}.nas-usage-bar-container{height:12px;background-color:var(--surface-2);border-radius:6px;overflow:hidden;border:1px solid var(--border)}.nas-usage-bar-fill{height:100%;background-color:var(--green);width:0%;transition:all .3s ease;border-radius:5px}.nas-usage-bar-fill.warning{background-color:var(--warning)}.nas-usage-bar-fill.critical{background-color:var(--error)}.nas-breadcrumb{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap;font-size:var(--text-sm)}.nas-breadcrumb-item{display:flex;align-items:center;gap:var(--space-2)}.nas-breadcrumb-button{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font-family:var(--font);font-size:var(--text-sm);transition:color .15s ease}.nas-breadcrumb-button:hover{color:var(--accent-deep)}.nas-breadcrumb-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.nas-breadcrumb-separator{color:var(--muted)}.nas-list{display:flex;flex-direction:column;gap:0;background-color:var(--surface);border:2px solid var(--border);border-radius:var(--radius);box-shadow:4px 4px 0 var(--shadow);overflow:hidden}.nas-row{display:flex;align-items:center;gap:var(--space-4);height:48px;padding:0 var(--space-6);border-bottom:1px solid var(--separator);transition:background-color .1s ease}.nas-row:last-child{border-bottom:none}.nas-row:hover{background-color:var(--surface-2)}.nas-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-2)}.nas-icon svg{width:18px;height:18px}.nas-icon.is-folder{color:var(--accent)}.nas-name{flex:1;min-width:0;font-size:var(--text-sm);color:var(--text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nas-name-button{background:none;border:none;color:inherit;cursor:pointer;padding:0;font-family:var(--font);font-size:var(--text-sm);font-weight:500;transition:color .15s ease}.nas-name-button:hover{color:var(--accent)}.nas-name-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.nas-name-link{text-decoration:none;color:inherit;transition:color .15s ease}.nas-name-link:hover{color:var(--accent)}.nas-name-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.nas-size{font-size:var(--text-xs);color:var(--muted);font-family:var(--font-mono);min-width:70px;text-align:right;flex-shrink:0}.nas-delete-btn{width:32px;height:32px;padding:0;background-color:transparent;color:var(--muted);border:1px solid var(--separator);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);font-weight:700;transition:all .1s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nas-delete-btn:hover:not(:disabled){background-color:color-mix(in srgb,var(--error) 10%,transparent);border-color:var(--error);color:var(--error)}.nas-delete-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nas-delete-btn:disabled{opacity:.5;cursor:not-allowed}.nas-empty,.nas-loading{padding:var(--space-6);text-align:center;color:var(--muted);font-size:var(--text-sm)}.btn{font-weight:700;font-size:var(--text-sm);padding:var(--space-2) var(--space-4);border-radius:8px;cursor:pointer;border:none;transition:all .1s ease;font-family:var(--font);height:36px;display:inline-flex;align-items:center;justify-content:center}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.select-popover{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;max-height:320px;overflow-y:auto;background-color:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 8px 24px var(--shadow);padding:var(--space-1);z-index:50}.select-group-label{font-family:var(--font-display);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:var(--space-2) var(--space-3) var(--space-1)}.select-option{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:32px;padding:0 var(--space-3);border-radius:6px;font-size:var(--text-sm);color:var(--text);cursor:pointer}.select-option.active{background-color:var(--surface-3)}.select-option.selected{color:var(--accent);font-weight:700}.select-option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notion-search-container{margin-bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-2)}.notion-search-input{width:100%;max-width:500px;height:36px;padding:0 var(--space-3);background-color:var(--surface-2);border:2px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font);font-size:var(--text-sm);transition:border-color .1s ease,box-shadow .1s ease}.notion-search-input:hover:not(:focus){border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.notion-search-input:focus{outline:none;border-color:var(--accent);box-shadow:3px 3px color-mix(in srgb,var(--accent-deep) 65%,transparent)}.notion-search-input::placeholder{color:var(--muted)}.notion-module{background-color:var(--surface);border:2px solid var(--border);border-radius:var(--radius);box-shadow:4px 4px 0 var(--shadow);overflow:hidden;display:flex;flex-direction:column}.notion-row{display:flex;align-items:center;height:48px;padding:0 var(--space-6);border-bottom:1px solid var(--separator);gap:var(--space-3)}.notion-row:last-child{border-bottom:none}.notion-row:hover{background-color:var(--surface-2)}.notion-row-content{flex:1;display:flex;align-items:center;justify-content:space-between;text-align:left;padding:0;background:transparent;border:none;border-radius:0;cursor:pointer;transition:all .1s ease;gap:var(--space-3)}.notion-row-content:hover{background-color:transparent;border-color:transparent}.notion-row-left{display:flex;align-items:center;gap:var(--space-3);min-width:0;flex:1}.notion-icon{font-size:18px;flex-shrink:0;color:var(--text)}.notion-info{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.notion-title{font-size:var(--text-sm);font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.notion-title.untitled{font-weight:500;color:var(--text-2)}.notion-meta{font-size:var(--text-xs);color:var(--muted);font-family:var(--font-mono);line-height:1.3}.notion-arrow,.notion-external{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--text-2);cursor:pointer;border-radius:6px;transition:all .1s ease;border:1px solid transparent}.notion-arrow:hover,.notion-external:hover{color:var(--accent);background-color:color-mix(in srgb,var(--accent) 8%,transparent);border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.notion-arrow:focus-visible,.notion-external:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.notion-detail-header{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--separator)}.notion-detail-title-row{display:flex;align-items:center;gap:var(--space-3);padding:0}.notion-detail-title{flex:1;font-size:var(--text-2xl);font-weight:700;color:var(--text);margin:0;word-break:break-word}.notion-title-editor{flex:1;display:flex;flex-direction:column;gap:var(--space-2)}.notion-title-input{font-size:var(--text-2xl);font-weight:700;padding:var(--space-2);background-color:var(--surface-2);border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font)}.notion-title-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--glow-pink)}.notion-editor-error{font-size:var(--text-xs);color:var(--error)}.notion-editor-loading{font-size:var(--text-xs);color:var(--muted);font-style:italic}.notion-content-module{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);background-color:var(--surface);border-radius:var(--radius);margin-bottom:var(--space-8)}.notion-empty-blocks{color:var(--muted);font-size:var(--text-sm)}.notion-block{font-size:var(--text-sm);line-height:1.6;color:var(--text)}.notion-paragraph{margin:0}.notion-heading-1{margin:0;font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-2)}.notion-heading-2{margin:0;font-size:var(--text-md);font-weight:700;margin-bottom:var(--space-1)}.notion-heading-3{margin:0;font-size:var(--text-sm);font-weight:700;margin-bottom:var(--space-1)}.notion-list{margin:0;padding-left:var(--space-4)}.notion-list li{margin-bottom:4px}.notion-todo{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) 0}.notion-todo-checkbox{margin-top:2px;flex-shrink:0;cursor:pointer}.notion-todo-text{flex:1}.notion-todo-text.checked{color:var(--muted);text-decoration:line-through}.notion-quote{margin:0;padding-left:var(--space-4);border-left:2px solid var(--border);color:var(--text-2);font-style:italic}.notion-code{margin:0;padding:var(--space-3);background-color:var(--surface-2);border-radius:var(--radius-sm);overflow-x:auto}.notion-code code{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text);line-height:1.4}.notion-callout{display:flex;gap:var(--space-3);padding:var(--space-3);background-color:var(--surface-2);border-radius:var(--radius-sm)}.notion-callout-icon{font-size:18px;flex-shrink:0}.notion-callout-text{flex:1}.notion-divider{margin:var(--space-2) 0;border:none;border-top:1px solid var(--separator)}.notion-image{max-width:100%;height:auto;border-radius:var(--radius-sm)}.notion-unsupported{padding:var(--space-3);background-color:var(--surface-2);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--muted);font-style:italic}.notion-composer{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4)}.notion-composer-row{display:flex;gap:var(--space-3);align-items:flex-end}.notion-composer-textarea{flex:1;padding:var(--space-2);background-color:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font);font-size:var(--text-sm);resize:none}.notion-composer-textarea:focus{outline:none;border-color:var(--accent)}.btn-ghost{padding:var(--space-2) var(--space-3);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font);font-size:var(--text-sm);cursor:pointer;transition:all .15s ease}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.btn-ghost.btn-sm{padding:6px 12px;font-size:14px}.btn-primary{padding:var(--space-2) var(--space-3);background-color:var(--accent);border:none;border-radius:var(--radius-sm);color:var(--on-accent);font-family:var(--font);font-size:var(--text-sm);font-weight:700;cursor:pointer;transition:all .15s ease}.btn-primary:hover:not(:disabled){background-color:color-mix(in srgb,var(--accent) 90%,white)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.error-state{padding:var(--space-6);background-color:var(--error-soft);border:1px solid var(--error);border-radius:var(--radius);color:var(--error);font-size:var(--text-sm);text-align:center}.notion-child-page{display:flex;gap:var(--space-2);align-items:center;padding:var(--space-3);background-color:var(--surface-2);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;border:1px solid transparent}.notion-child-page:hover{background-color:var(--surface-3);border-color:var(--accent)}.notion-child-page-icon{font-size:18px;flex-shrink:0}.notion-child-page-title{flex:1;color:var(--text);font-size:var(--text-sm);font-weight:500}.notion-child-page-arrow{flex-shrink:0;color:var(--muted)}.notion-child-database{display:flex;gap:var(--space-2);align-items:center;padding:var(--space-3);background-color:var(--surface-2);border-radius:var(--radius-sm);border:1px solid var(--border);text-decoration:none;color:inherit;transition:all .15s ease}.notion-child-database:hover{background-color:var(--surface-3);border-color:var(--accent)}.notion-child-database-icon{font-size:18px;flex-shrink:0}.notion-child-database-title{flex:1;color:var(--text);font-size:var(--text-sm);font-weight:500}.notion-child-database-external{flex-shrink:0;color:var(--muted)}.notion-table{width:100%;border-collapse:collapse;margin:var(--space-3) 0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.notion-table thead{background-color:var(--surface-2)}.notion-table-header{font-weight:600}.notion-table-cell{padding:var(--space-3);border-bottom:1px solid var(--separator);border-right:1px solid var(--separator);font-size:var(--text-sm)}.notion-table-cell:last-child{border-right:none}.notion-table-row:last-child .notion-table-cell{border-bottom:none}.notion-toggle{margin:var(--space-2) 0}.notion-toggle-summary{padding:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:500;color:var(--text);border-radius:var(--radius-sm);transition:all .15s ease}.notion-toggle-summary:hover{background-color:var(--surface-2)}.notion-toggle[open] .notion-toggle-summary{margin-bottom:var(--space-2)}.notion-synced-block{padding:var(--space-3);background-color:var(--surface-2);border-left:2px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);font-size:var(--text-sm)}.ndoc-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-6);font-size:var(--text-xs)}.ndoc-crumb-pair{display:inline-flex;align-items:center;gap:var(--space-1);min-width:0}.ndoc-crumb{background:none;border:none;padding:2px 4px;border-radius:4px;font-family:var(--font);font-size:var(--text-xs);color:var(--text-2);cursor:pointer;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ndoc-crumb:hover{background-color:var(--surface-2);color:var(--text)}.ndoc-crumb.current{color:var(--muted);cursor:default}.ndoc-crumb.current:hover{background:none}.ndoc-crumb-sep{color:var(--muted)}.ndoc-article{max-width:720px}.ndoc-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.ndoc-page-emoji{font-size:16px;line-height:1;flex-shrink:0}.ndoc-page-emoji-lg{font-size:28px;line-height:1;flex-shrink:0}.ndoc-page-glyph,.ndoc-page-glyph-lg{display:inline-flex;align-items:center;justify-content:center;color:var(--muted);flex-shrink:0}.ndoc-page-glyph-lg svg{width:24px;height:24px}.ndoc-title{font-size:var(--text-2xl);font-weight:700;color:var(--text);cursor:pointer;border-radius:6px;padding:2px 6px;margin-left:-6px;flex:1;min-width:0}.ndoc-title:hover{background-color:var(--surface-2)}.ndoc-title-edit{flex:1;display:flex;align-items:center;gap:var(--space-2)}.ndoc-title-edit input{flex:1;background-color:var(--surface-2);border:1px solid var(--accent);border-radius:6px;padding:2px 6px;margin-left:-6px;font-family:var(--font);font-size:var(--text-2xl);font-weight:700;color:var(--text);caret-color:var(--accent)}.ndoc-title-edit input:focus{outline:none}.ndoc-title-status{font-size:var(--text-xs);color:var(--muted)}.ndoc-title-error{font-size:var(--text-xs);color:var(--error);margin-bottom:var(--space-2)}.ndoc-open-link{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;color:var(--muted);flex-shrink:0}.ndoc-open-link:hover{background-color:var(--surface-2);color:var(--text)}.ndoc-body{font-size:16px;line-height:1.6;color:var(--text);padding-top:var(--space-4)}.ndoc-p{margin:var(--space-2) 0;min-height:1em}.ndoc-h1{font-size:var(--text-xl);font-weight:700;margin:var(--space-8) 0 var(--space-3)}.ndoc-h2{font-size:var(--text-lg);font-weight:700;margin:var(--space-6) 0 var(--space-2)}.ndoc-h3{font-size:16px;font-weight:700;margin:var(--space-4) 0 var(--space-2)}.ndoc-list{margin:var(--space-2) 0;padding-left:var(--space-6)}.ndoc-list li{margin:var(--space-1) 0}.ndoc-todo{display:flex;align-items:flex-start;gap:var(--space-2);margin:var(--space-1) 0;cursor:pointer}.ndoc-todo input[type=checkbox]{width:16px;height:16px;margin-top:4px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.ndoc-todo-text.done{color:var(--muted);text-decoration:line-through}.ndoc-quote{border-left:3px solid var(--border);padding-left:var(--space-4);margin:var(--space-3) 0;color:var(--text-2)}.ndoc-code{background-color:var(--surface-2);border-radius:var(--radius-sm);padding:var(--space-4);margin:var(--space-3) 0;overflow-x:auto;font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.5}.ndoc-callout{display:flex;gap:var(--space-3);background-color:var(--surface-2);border-radius:var(--radius-sm);padding:var(--space-4);margin:var(--space-3) 0}.ndoc-callout-icon{flex-shrink:0;line-height:1.6}.ndoc-divider{border:none;border-top:1px solid var(--separator);margin:var(--space-4) 0}.ndoc-image{max-width:100%;border-radius:var(--radius-sm);margin:var(--space-3) 0}.ndoc-child{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:36px;padding:var(--space-1) var(--space-2);margin:2px -8px;border:none;border-radius:6px;background:none;font-family:var(--font);font-size:16px;color:var(--text);cursor:pointer;text-align:left;text-decoration:none}.ndoc-child:hover{background-color:var(--surface-2)}.ndoc-child-title{font-weight:600;text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ndoc-child-arrow{display:inline-flex;color:var(--muted);margin-left:auto;flex-shrink:0}.ndoc-table{border-collapse:collapse;margin:var(--space-3) 0;width:100%;font-size:var(--text-sm)}.ndoc-table th,.ndoc-table td{border:1px solid var(--separator);padding:var(--space-2) var(--space-3);text-align:left}.ndoc-table th{font-weight:700;background-color:var(--surface)}.ndoc-toggle{margin:var(--space-2) 0}.ndoc-toggle summary{cursor:pointer;font-weight:600;border-radius:6px;padding:var(--space-1) var(--space-2);margin-left:-8px}.ndoc-toggle summary:hover{background-color:var(--surface-2)}.ndoc-toggle-children{padding-left:var(--space-6)}.ndoc-unsupported{font-size:var(--text-sm);color:var(--muted);font-style:italic;margin:var(--space-2) 0}.ndoc-empty{color:var(--muted);margin:var(--space-4) 0}.ndoc-add{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-6);padding:var(--space-2);margin-left:-8px;background:none;border:none;border-radius:6px;font-family:var(--font);font-size:var(--text-sm);color:var(--muted);cursor:pointer}.ndoc-add:hover{background-color:var(--surface-2);color:var(--text)}.ndoc-composer{margin-top:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);max-width:560px}.ndoc-composer textarea{background-color:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);caret-color:var(--accent);padding:var(--space-3);font-family:var(--font);font-size:var(--text-base);resize:vertical}.ndoc-composer textarea:focus{outline:none;border-color:var(--accent)}.ndoc-composer-actions{display:flex;gap:var(--space-2)}.ndoc-composer-textarea{font-family:var(--font-mono);font-size:var(--text-sm);background-color:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);caret-color:var(--accent);padding:var(--space-3);resize:vertical}.ndoc-composer-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--glow-pink)}.ndoc-md-preview{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.ndoc-preview-label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.ndoc-preview-content{font-size:14px;line-height:1.6}.ndoc-preview-content p{margin-bottom:var(--space-2)}.ndoc-preview-content h1,.ndoc-preview-content h2,.ndoc-preview-content h3,.ndoc-preview-content h4{margin-top:var(--space-3);margin-bottom:var(--space-2);font-weight:700;color:var(--text)}.ndoc-preview-content h1{font-size:22px}.ndoc-preview-content h2{font-size:18px}.ndoc-preview-content h3,.ndoc-preview-content h4{font-size:16px}.ndoc-preview-content ul,.ndoc-preview-content ol{margin-left:var(--space-4);margin-bottom:var(--space-2)}.ndoc-preview-content li{margin-bottom:var(--space-1)}.ndoc-preview-content blockquote{border-left:3px solid var(--accent);padding-left:var(--space-3);margin-left:0;margin-bottom:var(--space-2);color:var(--text-2);font-style:italic}.ndoc-preview-content code{background-color:var(--surface-2);padding:2px 4px;border-radius:3px;font-family:var(--font-mono);font-size:.9em;color:var(--accent)}.ndoc-preview-content pre{background-color:var(--surface-2);padding:var(--space-3);border-radius:var(--radius-sm);overflow-x:auto;margin-bottom:var(--space-2)}.ndoc-preview-content pre code{background:none;padding:0;color:var(--text)}.ndoc-preview-content hr{border:none;border-top:1px solid var(--border);margin:var(--space-3) 0}.ndoc-preview-content a{color:var(--accent);text-decoration:underline}.ndoc-preview-content a:hover{color:var(--accent-deep)}.ndoc-inline-code{background-color:var(--surface-2);padding:2px 4px;border-radius:3px;font-family:var(--font-mono);font-size:.9em;color:var(--accent)}.ndoc-composer-note{font-size:var(--text-xs);color:var(--muted);padding:var(--space-2) var(--space-3);background-color:color-mix(in srgb,var(--accent) 8%,transparent);border-left:2px solid var(--accent);border-radius:4px}.notion-external{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-right:var(--space-3);border-radius:6px;color:var(--muted);flex-shrink:0}.notion-external:hover{background-color:var(--surface-2);color:var(--text)}.notion-arrow{display:inline-flex;color:var(--muted)}.ndoc-toolbar{display:flex;align-items:center;gap:var(--space-1)}.ndoc-toolbar button{min-width:28px;height:28px;padding:0 var(--space-2);background:none;border:1px solid transparent;border-radius:6px;color:var(--text-2);font-family:var(--font);font-size:var(--text-sm);cursor:pointer}.ndoc-toolbar button:hover{background-color:var(--surface-2);color:var(--text)}.ndoc-toolbar button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ndoc-toolbar button code{font-size:var(--text-xs)}.toast-container{position:fixed;top:var(--space-4);right:var(--space-4);z-index:1000;display:flex;flex-direction:column;gap:var(--space-2);max-width:360px}.toast{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);background-color:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--text-2);border-radius:var(--radius-sm);box-shadow:0 4px 12px var(--shadow);font-size:var(--text-sm);color:var(--text);animation:toast-in .15s ease}@keyframes toast-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.toast-info{border-left-color:var(--info)}.toast-success{border-left-color:var(--success)}.toast-warning{border-left-color:var(--warning)}.toast-error{border-left-color:var(--error)}.toast-icon{flex-shrink:0;font-size:var(--text-base);line-height:1.3}.toast-info .toast-icon{color:var(--info)}.toast-success .toast-icon{color:var(--success)}.toast-warning .toast-icon{color:var(--warning)}.toast-error .toast-icon{color:var(--error)}.toast-text{flex:1;line-height:1.4}.toast-close{flex-shrink:0;background:none;border:none;color:var(--muted);font-size:var(--text-md);line-height:1;cursor:pointer;padding:0}.toast-close:hover{color:var(--text)}.ndoc-toolbar-sep{width:1px;height:16px;background-color:var(--separator);margin:0 var(--space-1)}.boards-page{padding:var(--space-6)}.main-content:has(.boards-page){padding:var(--space-4) var(--space-4) 0;overflow-y:hidden}.main-content:has(.boards-page)>*{max-width:none}.board-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.board-search{padding:var(--space-2) var(--space-3);background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-sm);min-width:220px}.board-search:focus{outline:none;border-color:var(--accent)}.type-filter-chips{display:flex;gap:var(--space-1);flex-wrap:wrap}.type-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background-color:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:border-color .15s ease,color .15s ease}.type-chip:hover{border-color:var(--muted);color:var(--text)}.type-chip.active{border-color:var(--accent);color:var(--text);background-color:var(--surface-2)}.board-filters-clear{font-size:var(--text-xs)}.board-mode-toggle{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.board-mode-btn{padding:var(--space-2) var(--space-3);background-color:var(--surface);border:none;color:var(--muted);font-size:var(--text-xs);font-weight:600;cursor:pointer}.board-mode-btn.active{background-color:var(--surface-2);color:var(--text)}.board-mode-btn+.board-mode-btn{border-left:1px solid var(--border)}.kanban-board.view-mode .card-item{cursor:pointer}.kanban-board,.column-cards{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.kanban-board::-webkit-scrollbar,.column-cards::-webkit-scrollbar{width:8px;height:8px}.kanban-board::-webkit-scrollbar-track,.column-cards::-webkit-scrollbar-track{background:transparent}.kanban-board::-webkit-scrollbar-thumb,.column-cards::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:999px}.kanban-board::-webkit-scrollbar-thumb:hover,.column-cards::-webkit-scrollbar-thumb:hover{background-color:var(--muted)}.boards-toolbar{display:flex;gap:var(--space-4);margin:var(--space-6) 0;align-items:center}.boards-toolbar select{min-width:200px}.kanban-board{display:flex;align-items:flex-start;gap:var(--space-4);overflow-x:auto;padding:var(--space-4);background-color:var(--bg);border-radius:var(--radius);height:calc(100vh - 250px);min-height:400px}.kanban-column{max-height:100%}.kanban-column{flex:0 0 320px;display:flex;flex-direction:column;gap:var(--space-3);background-color:var(--surface);border-radius:var(--radius-sm);padding:var(--space-3);border:1px solid var(--border)}.column-header{display:flex;align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--separator)}.column-title{font-size:var(--text-lg);font-weight:700;color:var(--text);margin:0;flex:1;cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.column-title:hover{background-color:var(--surface-2)}.column-name-input{flex:1;font-size:var(--text-base);font-weight:700;color:var(--text);background-color:var(--surface-2);border:1px solid var(--border);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-family:var(--font)}.column-count{font-size:var(--text-xs);color:var(--muted);background-color:var(--surface-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);min-width:24px;text-align:center}.column-menu-btn{background:none;border:none;color:var(--muted);cursor:pointer;padding:0;font-size:var(--text-base);flex-shrink:0}.column-menu-btn:hover{color:var(--error)}.column-cards{flex:1;display:flex;flex-direction:column;gap:var(--space-2);min-height:100px;overflow-y:auto;padding-right:2px}.card-item{background-color:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);cursor:grab;transition:box-shadow .15s ease,transform .15s ease}.card-item:hover{box-shadow:0 4px 12px var(--shadow);transform:translateY(-2px)}.card-item:active{cursor:grabbing}.card-priority{display:inline-block;font-size:10px;font-weight:700;padding:2px 6px;border-radius:3px;text-transform:uppercase;color:#fff;flex-shrink:0}.card-title{font-size:var(--text-sm);font-weight:600;color:var(--text);margin:0;word-break:break-word;flex:1}.card-title-row{display:flex;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-2)}.card-title-row .type-icon{margin-top:1px}.scope-badge{font-size:9px;font-weight:700;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:1px 6px;margin-left:var(--space-1)}.scope-checkbox{margin:var(--space-2) 0;font-size:var(--text-xs);color:var(--muted)}.card-labels-row{display:flex;gap:4px;margin-bottom:var(--space-2);flex-wrap:wrap;align-items:center}.card-label-pill{width:20px;height:20px;border-radius:3px;opacity:.8}.card-label-tag{font-size:10px;font-weight:600;color:#fff;padding:2px 8px;border-radius:999px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.type-icon{flex-shrink:0;display:block}.modal-view-type{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:600;color:var(--text)}.card-label-more{font-size:10px;color:var(--muted);padding:0 4px}.card-assignees{display:flex;gap:4px;margin-bottom:var(--space-2);align-items:center}.card-assignee-avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background-color:var(--accent-deep);color:var(--on-accent);font-size:10px;font-weight:700}.card-assignee-more{font-size:10px;color:var(--muted);padding:0 4px}.card-due-date{font-size:var(--text-xs);color:var(--muted);padding:4px 6px;background-color:var(--surface-3);border-radius:3px;display:inline-block}.card-due-date.overdue{color:var(--error);background-color:#ec515d1a}.card-description{font-size:var(--text-sm);color:var(--text-2);margin-bottom:var(--space-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.card-footer{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.card-checklist-ring{flex-shrink:0}.card-checklist-ring .ring-track{stroke:var(--border)}.card-checklist-ring .ring-progress{stroke:var(--accent);transition:stroke-dasharray .2s ease;transform-origin:18px 18px;transform:rotate(-90deg)}.card-checklist-ring .ring-progress.ring-done{stroke:var(--green)}.card-checklist-ring .ring-text{font-size:8px;fill:var(--text-2);font-weight:600}.card-subcard-badge{display:inline-flex;align-items:center;gap:3px;font-size:var(--text-xs);color:var(--text-2);padding:2px 6px;background-color:var(--surface-3);border-radius:3px;flex-shrink:0}.card-subcard-badge svg{opacity:.7}.column-footer{padding-top:var(--space-2);border-top:1px solid var(--separator)}.column-add-btn{width:100%;padding:var(--space-2) var(--space-3);background-color:var(--surface-3);border:1px dashed var(--border);color:var(--text-2);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);font-weight:600;transition:background-color .15s ease,color .15s ease}.column-add-btn:hover{background-color:var(--surface);color:var(--text)}.card-input-form{display:flex;flex-direction:column;gap:var(--space-2)}.card-input-form textarea{font-family:var(--font);background-color:var(--surface-3);border:1px solid var(--border);color:var(--text);padding:var(--space-2);border-radius:var(--radius-sm);resize:none}.card-input-actions{display:flex;gap:var(--space-2)}.card-input-confirm,.card-input-cancel{flex:1;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);font-weight:600;transition:background-color .15s ease}.card-input-confirm{background-color:var(--accent);color:var(--on-accent);border-color:var(--accent)}.card-input-confirm:hover:not(:disabled){opacity:.9}.card-input-cancel{background-color:var(--surface-3);color:var(--text)}.card-input-cancel:hover:not(:disabled){background-color:var(--surface)}.kanban-add-column{flex:0 0 300px;display:flex;align-items:flex-start;padding:var(--space-3)}.add-column-btn{width:100%;padding:var(--space-4);background-color:var(--surface);border:2px dashed var(--border);color:var(--text-2);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-base);font-weight:600;transition:background-color .15s ease,color .15s ease}.add-column-btn:hover{background-color:var(--surface-2);color:var(--text)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--bg) / .8;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fade-in .15s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal-content{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-height:90vh;max-width:600px;display:flex;flex-direction:column;box-shadow:0 8px 32px var(--shadow);animation:slide-up .25s cubic-bezier(.34,1.56,.64,1)}@keyframes slide-up{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--separator)}.modal-title-input{flex:1;font-size:var(--text-base);font-weight:700;background:none;border:none;color:var(--text);font-family:var(--font);padding:var(--space-1)}.modal-title-input:focus{outline:none;background-color:var(--surface-2);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2)}.modal-close{background:none;border:none;font-size:var(--text-base);color:var(--muted);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--text)}.modal-body{flex:1;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.modal-section{display:flex;flex-direction:column;gap:var(--space-2)}.modal-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.modal-label{font-size:var(--text-sm);font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:.5px}.modal-textarea,.modal-textarea-small,.modal-input,.modal-select{font-family:var(--font);background-color:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-sm)}.modal-textarea:focus,.modal-textarea-small:focus,.modal-input:focus,.modal-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--glow-pink)}.modal-textarea-small{resize:vertical;min-height:60px}.modal-checkboxes{display:flex;flex-direction:column;gap:var(--space-2)}.modal-checkbox{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-sm);color:var(--text)}.modal-checkbox input{width:16px;height:16px;cursor:pointer}.modal-labels{display:flex;flex-wrap:wrap;gap:var(--space-2)}.modal-label-pill{padding:var(--space-2) var(--space-3);border:1px solid;border-radius:var(--radius-sm);background-color:transparent;color:var(--text);cursor:pointer;font-size:var(--text-sm);font-weight:600;transition:background-color .15s ease,color .15s ease}.modal-label-pill.active{color:#fff}.modal-comments{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-2)}.modal-empty{font-size:var(--text-sm);color:var(--muted);text-align:center;padding:var(--space-4)}.modal-loading{font-size:var(--text-sm);color:var(--muted)}.modal-comment{padding:var(--space-2);background-color:var(--surface-2);border-radius:var(--radius-sm);border:1px solid var(--border)}.modal-comment-meta{display:block;color:var(--muted);font-size:var(--text-xs);margin-bottom:4px}.modal-comment p{margin:0;font-size:var(--text-sm);color:var(--text);word-break:break-word}.modal-comment-form{display:flex;flex-direction:column;gap:var(--space-2)}.modal-comment-submit{padding:var(--space-2) var(--space-3);background-color:var(--accent);color:var(--on-accent);border:1px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);font-weight:600;transition:opacity .15s ease}.modal-comment-submit:hover:not(:disabled){opacity:.9}.modal-comment-submit:disabled{opacity:.5;cursor:not-allowed}.modal-comment-delete{margin-left:var(--space-2);padding:0;background:none;border:none;color:var(--muted);font-size:var(--text-xs);text-decoration:underline;cursor:pointer}.modal-comment-delete:hover{color:var(--danger, #e5484d)}.modal-view-title{margin:0;font-size:var(--text-lg);font-weight:700;color:var(--text);word-break:break-word;flex:1}.modal-view-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:0 var(--space-4);margin-top:var(--space-3)}.modal-view-due{font-size:var(--text-xs);color:var(--muted)}.modal-view-description{margin:0;font-size:var(--text-sm);color:var(--text);white-space:pre-wrap;word-break:break-word}.modal-view-assignees{margin:0;font-size:var(--text-sm);color:var(--text)}.modal-checklist{display:flex;flex-direction:column;gap:var(--space-1);max-height:240px;overflow-y:auto}.modal-checklist-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.modal-checklist-done{text-decoration:line-through;color:var(--muted)}.modal-checklist-remove{background:none;border:none;color:var(--muted);font-size:var(--text-xs);cursor:pointer;padding:2px 6px}.modal-checklist-remove:hover{color:var(--danger, #e5484d)}.modal-checklist-add{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.modal-checklist-add .modal-input{flex:1}.modal-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4);border-top:1px solid var(--separator)}.modal-actions{display:flex;gap:var(--space-2)}.modal-btn-primary,.modal-btn-secondary,.modal-btn-danger{padding:var(--space-2) var(--space-4);border:1px solid;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);font-weight:600;transition:opacity .15s ease}.modal-btn-primary{background-color:var(--accent);color:var(--on-accent);border-color:var(--accent)}.modal-btn-primary:hover:not(:disabled){opacity:.9}.modal-btn-secondary{background-color:var(--surface-2);color:var(--text);border-color:var(--border)}.modal-btn-secondary:hover:not(:disabled){background-color:var(--surface-3)}.modal-btn-danger{background-color:transparent;color:var(--error);border-color:var(--error)}.modal-btn-danger:hover:not(:disabled){background-color:#ec515d1a}.modal-btn-primary:disabled,.modal-btn-secondary:disabled,.modal-btn-danger:disabled{opacity:.5;cursor:not-allowed}.card-modal{width:90vw}.board-toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);padding:var(--space-4);background-color:var(--surface);border-radius:var(--radius-sm);border:1px solid var(--border)}.board-toolbar-main{display:flex;gap:var(--space-3);align-items:center;flex:1}.board-toolbar-actions{display:flex;gap:var(--space-2);align-items:center}.board-btn-secondary,.board-btn-ghost{background-color:transparent;color:var(--text);border:1px solid var(--border);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);font-weight:600;transition:all .1s ease}.board-btn-secondary:hover:not(:disabled),.board-btn-ghost:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.board-btn-secondary:disabled,.board-btn-ghost:disabled{opacity:.5;cursor:not-allowed}.board-btn-danger{color:var(--error)}.board-btn-danger:hover:not(:disabled){color:var(--error);border-color:var(--error)}.board-btn-mini{width:28px;height:28px;padding:0;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);transition:all .1s ease}.board-btn-confirm{background-color:var(--green);color:var(--on-accent);border:1px solid var(--green)}.board-btn-confirm:hover:not(:disabled){opacity:.9}.board-btn-cancel{background-color:var(--error);color:#fff;border:1px solid var(--error)}.board-btn-cancel:hover:not(:disabled){opacity:.9}.board-create-inline,.board-rename-inline{display:flex;gap:var(--space-2);align-items:center}.board-input{background-color:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-family:var(--font);font-size:var(--text-sm);flex:1;min-width:180px}.board-input:focus{outline:none;border-color:var(--accent);box-shadow:2px 2px color-mix(in srgb,var(--accent-deep) 45%,transparent)}.board-squad-picker{flex:0 0 auto}.board-squad-picker select{background-color:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-family:var(--font);font-size:var(--text-sm);cursor:pointer;min-width:160px}.board-squad-picker select:focus{outline:none;border-color:var(--accent);box-shadow:2px 2px color-mix(in srgb,var(--accent-deep) 45%,transparent)}.label-manager-modal{width:90vw;max-width:500px}.label-list{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4);max-height:300px;overflow-y:auto}.label-item,.label-item-edit{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);background-color:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.label-item-left{display:flex;align-items:center;gap:var(--space-2);flex:1}.label-item-swatch{width:20px;height:20px;border-radius:3px;flex-shrink:0}.label-item-name{font-size:var(--text-sm);color:var(--text)}.label-item-info{display:flex;flex-direction:column;gap:var(--space-1);flex:1}.label-item-meta{font-size:var(--text-xs);color:var(--muted)}.label-item-actions{display:flex;gap:var(--space-1)}.label-item-btn{background:none;border:none;color:var(--muted);cursor:pointer;padding:var(--space-1);transition:color .1s ease}.label-item-btn:hover{color:var(--text)}.label-item-btn-delete:hover{color:var(--error)}.label-item-edit{flex-direction:column;align-items:stretch}.label-edit-row{display:flex;gap:var(--space-2);align-items:center}.label-edit-row input{flex:1}.label-edit-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.label-create-section{padding:var(--space-3);background-color:var(--surface-2);border:1px solid var(--separator);border-radius:var(--radius-sm)}.label-create-form{display:flex;flex-direction:column;gap:var(--space-2)}.color-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(32px,1fr));gap:var(--space-1)}.color-picker-inline{display:flex;gap:var(--space-1);flex-wrap:wrap;align-items:center}.color-swatch{width:32px;height:32px;border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;transition:all .1s ease}.color-swatch:hover{transform:scale(1.1)}.color-swatch.active{border-color:var(--text);box-shadow:0 0 0 1px var(--border)}.color-picker-mini{display:flex;gap:var(--space-1);flex-wrap:wrap}.color-swatch-mini{width:24px;height:24px;border-radius:4px;border:2px solid transparent;cursor:pointer;transition:all .1s ease}.color-swatch-mini:hover{transform:scale(1.1)}.color-swatch-mini.active{border-color:var(--text)}.label-create-actions,.label-edit-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.modal-btn-tertiary{background-color:transparent;color:var(--accent);border:1px solid var(--accent);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);font-weight:600;transition:all .1s ease;width:100%}.modal-btn-tertiary:hover:not(:disabled){background-color:color-mix(in srgb,var(--accent) 10%,transparent)}.modal-btn-tertiary:disabled{opacity:.5;cursor:not-allowed}.modal-label-create{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-3);background-color:var(--surface-3);border:1px solid var(--separator);border-radius:var(--radius-sm)}.modal-label-actions{display:flex;gap:var(--space-2)}.board-controls{display:flex;gap:var(--space-3);margin-bottom:var(--space-4)}.confirm-dialog{display:flex;flex-direction:column;gap:var(--space-4);background-color:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-6);box-shadow:0 16px 40px var(--shadow);max-width:400px;min-width:300px}.confirm-dialog-header{display:flex;align-items:center;gap:var(--space-2)}.confirm-dialog-title{font-size:var(--text-lg);font-weight:700;color:var(--text);margin:0}.confirm-dialog-body{font-size:var(--text-base);line-height:1.5;color:var(--text-2)}.confirm-dialog-body p{margin:0}.confirm-dialog-footer{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-2)}.confirm-dialog-btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--border);cursor:pointer;font-size:var(--text-sm);font-weight:600;font-family:var(--font);transition:all .1s ease}.confirm-dialog-cancel{background-color:transparent;color:var(--text-2)}.confirm-dialog-cancel:hover:not(:disabled){background-color:var(--surface-3);color:var(--text)}.confirm-dialog-confirm{background-color:var(--error);color:var(--text);border-color:var(--error)}.confirm-dialog-confirm:hover:not(:disabled){background-color:color-mix(in srgb,var(--error) 90%,var(--text));box-shadow:0 4px 12px var(--error)}.confirm-dialog-danger{background-color:var(--error);color:var(--text)}.confirm-dialog-danger:hover:not(:disabled){background-color:color-mix(in srgb,var(--error) 90%,var(--text))}.confirm-dialog-btn:disabled{opacity:.5;cursor:not-allowed}.confirm-dialog-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kanban-column.over{background-color:color-mix(in srgb,var(--accent) 5%,var(--surface-2));border:2px solid var(--accent)}.card-item.dragging{box-shadow:0 12px 24px var(--shadow),0 0 20px var(--glow-pink);scale:1.02;opacity:.9;z-index:50}.boards-app{display:flex;flex-direction:column;min-height:100vh}.boards-topbar{position:sticky;top:0;z-index:40;display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-6);background:var(--surface);border-bottom:1px solid var(--border)}.boards-topbar-brand{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;letter-spacing:.5px;color:var(--text)}.boards-topbar-icon{display:inline-flex;color:var(--accent)}.boards-app-main{flex:1;min-width:0}.loading{flex-direction:column;gap:var(--space-4);font-size:1.125rem}.spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.kanban-skeleton{display:flex;gap:var(--space-4);padding:var(--space-4) 0;overflow:hidden}.skeleton-column{flex:0 0 280px;display:flex;flex-direction:column;gap:var(--space-2);background-color:var(--surface);border:1px solid var(--separator);border-radius:var(--radius-sm);padding:var(--space-3)}.skeleton-bar{height:14px;width:60%;border-radius:var(--radius-sm);background-color:var(--surface-3);animation:skeleton-pulse 1.4s ease-in-out infinite;margin-bottom:var(--space-2)}.skeleton-card{height:56px;border-radius:var(--radius-sm);background-color:var(--surface-2);animation:skeleton-pulse 1.4s ease-in-out infinite}.skeleton-column:nth-child(2) .skeleton-bar,.skeleton-column:nth-child(2) .skeleton-card{animation-delay:.15s}.skeleton-column:nth-child(3) .skeleton-bar,.skeleton-column:nth-child(3) .skeleton-card{animation-delay:.3s}@keyframes skeleton-pulse{0%,to{opacity:.45}50%{opacity:.9}}.modal-parent-link{display:flex;align-items:center;margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--separator)}.modal-parent-back{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--accent);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.modal-parent-back:hover{background-color:color-mix(in srgb,var(--accent) 8%,transparent);border-color:var(--accent)}.modal-parent-back svg{flex-shrink:0}.modal-subcards{display:flex;flex-direction:column;gap:var(--space-2);max-height:240px;overflow-y:auto}.modal-subcard-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);background-color:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);color:var(--text);transition:background-color .15s ease,border-color .15s ease}.modal-subcard-row:hover{background-color:var(--surface-3);border-color:var(--accent)}.modal-subcard-title{flex:1;word-break:break-word;font-weight:500}.modal-subcard-checklist{font-size:var(--text-xs);color:var(--text-2);padding-left:var(--space-2);flex-shrink:0}.modal-subcard-add{display:flex;gap:var(--space-2)}.modal-subcard-add .modal-input{flex:1}.modal-subcard-add .modal-btn-tertiary{flex-shrink:0}.kanban-board.view-mode .column-title{cursor:default}.kanban-board.view-mode .column-title:hover{background-color:transparent}.card-footer{justify-content:space-between}.card-footer-left,.card-footer-right{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0}
