:root{--color-brand: #2563eb;--color-brand-hover: #1d4ed8;--color-brand-subtle: #eff6ff;--color-brand-text: #1e40af;--color-bg-canvas: #f8fafc;--color-bg-surface: #ffffff;--color-bg-surface-sunken: #f1f5f9;--color-bg-surface-hover: #f8fafc;--color-bg-surface-active: #e2e8f0;--color-border-subtle: #e2e8f0;--color-border-default: #cbd5e1;--color-border-focused: #2563eb;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-muted: #94a3b8;--color-text-inverse: #ffffff;--color-status-backlog: #64748b;--color-status-todo: #0284c7;--color-status-in-progress: #d97706;--color-status-done: #16a34a;--color-prio-urgent: #dc2626;--color-prio-high: #ea580c;--color-prio-medium: #2563eb;--color-prio-low: #64748b;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-subtle: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-hover: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-float: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .05);--shadow-modal: 0 20px 25px -5px rgba(0, 0, 0, .15), 0 8px 10px -6px rgba(0, 0, 0, .1);--sidebar-w: 240px;--top-h: 48px;--drawer-w: 640px;--ds-text: var(--color-text-primary);--ds-text-subtle: var(--color-text-secondary);--ds-text-subtlest: var(--color-text-muted);--ds-text-inverse: var(--color-text-inverse);--ds-link: var(--color-brand);--ds-background-neutral: var(--color-bg-surface-sunken);--ds-background-neutral-hovered: var(--color-bg-surface-active);--ds-background-input: var(--color-bg-surface);--ds-background-brand-bold: var(--color-brand);--ds-background-brand-bold-hovered: var(--color-brand-hover);--ds-background-selected: var(--color-brand-subtle);--ds-border: var(--color-border-subtle);--ds-border-bold: var(--color-border-default);--ds-surface: var(--color-bg-surface);--ds-surface-raised: var(--color-bg-surface);--ds-surface-sunken: var(--color-bg-canvas);--ds-danger: var(--color-prio-urgent);--ds-success: var(--color-status-done);--ds-warning: var(--color-status-in-progress);--nav-bg: var(--color-bg-surface);--nav-text: var(--color-text-secondary);--nav-text-selected: var(--color-text-primary);font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,sans-serif;color:var(--color-text-primary);font-size:14px;line-height:1.428;letter-spacing:-.01em}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}a{color:var(--ds-link);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}.auth-page{min-height:100%;display:grid;place-items:center;background:linear-gradient(180deg,var(--color-brand-subtle) 0%,var(--color-bg-canvas) 42%,var(--color-bg-canvas) 100%);padding:24px}.auth-card{width:100%;max-width:400px;background:var(--ds-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);padding:32px 40px}.auth-logo{display:flex;justify-content:center;margin-bottom:24px}.auth-card h1{margin:0 0 24px;font-size:24px;font-weight:600;text-align:center}.auth-card label{display:grid;gap:4px;margin-bottom:12px;font-size:12px;font-weight:600;color:var(--ds-text-subtle)}.auth-card input{height:40px;padding:0 10px;border:2px solid transparent;border-radius:var(--radius-md);background:var(--ds-background-neutral);color:var(--ds-text)}.auth-card input:focus{outline:none;background:var(--ds-surface);border-color:var(--ds-link)}.auth-card .btn-primary{width:100%;margin-top:8px}.auth-footer{margin-top:24px;text-align:center;color:var(--ds-text-subtlest);font-size:12px}.error{color:var(--ds-danger);font-size:12px;margin:0 0 8px}.app-shell{height:100%;display:grid;grid-template-rows:var(--top-h) 1fr;background:var(--color-bg-canvas);overflow-x:hidden}.top-nav{display:flex;align-items:center;gap:4px;padding:0 12px;height:var(--top-h);background:var(--color-bg-surface);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-subtle);z-index:30;min-width:0}.nav-desktop-links{display:flex;align-items:center;gap:4px;min-width:0}.nav-hamburger{display:none;width:40px;height:40px;flex-shrink:0;font-size:18px}.top-nav a{color:inherit;text-decoration:none}.nav-brand{display:flex;align-items:center;gap:8px;padding:0 8px;height:32px;border-radius:var(--radius-sm);font-weight:600;color:var(--color-text-primary)!important}.nav-brand:hover{background:var(--color-bg-surface-hover);text-decoration:none}.brand-mark{display:block;flex-shrink:0}.nav-item{display:inline-flex;align-items:center;height:32px;padding:0 10px;border-radius:var(--radius-sm);color:var(--color-text-secondary);font-weight:500;border:none;background:transparent;cursor:pointer}.nav-item:hover,.nav-brand:hover{background:var(--color-bg-surface-sunken);text-decoration:none;color:var(--color-text-primary)}.nav-item.active{background:var(--color-brand-subtle);color:var(--color-brand-text)}.nav-search-wrap{position:relative;flex:1;max-width:480px;margin:0 8px}.nav-search{width:100%;height:32px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:0 56px 0 32px;background:var(--color-bg-surface-sunken) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3-3'/%3E%3C/svg%3E") 10px center no-repeat;color:var(--color-text-primary)}.nav-search::placeholder{color:var(--color-text-muted)}.nav-search:focus{outline:none;border-color:var(--color-border-focused);background-color:var(--color-bg-surface);box-shadow:0 0 0 3px var(--color-brand-subtle)}.nav-search-hint{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-family:inherit;font-size:11px;font-weight:600;line-height:1;padding:3px 6px;border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle);background:var(--color-bg-surface);color:var(--color-text-muted);pointer-events:none}.btn-create{height:32px;padding:0 12px;border:none;border-radius:var(--radius-sm);background:var(--color-brand);color:var(--color-text-inverse);font-weight:500;cursor:pointer}.btn-create:hover{background:var(--color-brand-hover)}.avatar{width:24px;height:24px;border-radius:50%;background:var(--color-brand-subtle);color:var(--color-brand-text);display:grid;place-items:center;font-size:11px;font-weight:700;margin-left:4px;cursor:pointer;border:none}.shell-body{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:0}.shell-body.no-sidebar{grid-template-columns:1fr}.sidebar{background:var(--ds-surface);border-right:1px solid var(--ds-border);display:flex;flex-direction:column;min-height:0;overflow:auto}.sidebar-project{display:flex;align-items:center;gap:10px;padding:16px 12px 12px}.project-icon{width:24px;height:24px;border-radius:var(--radius-sm);background:var(--color-brand);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:700;flex-shrink:0}.project-icon.client{background:var(--color-status-todo)}.sidebar-project .meta{min-width:0}.sidebar-project .name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-project .sub{font-size:11px;color:var(--ds-text-subtlest)}.side-nav{display:grid;gap:2px;padding:0 8px 12px}.side-link{display:flex;align-items:center;gap:10px;height:32px;padding:0 10px;border-radius:var(--radius-sm);color:var(--ds-text)!important;text-decoration:none!important;font-weight:500;border:none;background:transparent;cursor:pointer;text-align:left;width:100%}.side-link:hover{background:var(--ds-background-neutral)}.side-link.active{background:var(--ds-background-selected);color:var(--ds-link)!important}.side-section{padding:12px 16px 6px;font-size:11px;font-weight:700;color:var(--ds-text-subtlest);letter-spacing:-.01em}.main{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.page-header{padding:16px 24px 8px;background:var(--ds-surface-sunken)}.breadcrumb{display:flex;gap:6px;align-items:center;color:var(--ds-text-subtlest);font-size:12px;margin-bottom:6px}.breadcrumb a{color:var(--ds-text-subtlest)}.page-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.page-title-row h1{margin:0;font-size:22px;font-weight:700;line-height:28px}.toolbar{display:flex;align-items:center;gap:8px;padding:8px 24px 12px;flex-wrap:wrap}.chip{height:32px;padding:0 10px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--ds-text-subtle);font-weight:500;cursor:pointer}.chip.active,.chip:hover{background:var(--ds-background-neutral);color:var(--ds-text)}.quick-filter{height:32px;border:none;border-radius:var(--radius-md);padding:0 10px 0 28px;background:var(--ds-background-neutral) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3-3'/%3E%3C/svg%3E") 8px center no-repeat;color:var(--ds-text);min-width:180px}.quick-filter:focus{outline:none;box-shadow:inset 0 0 0 2px var(--ds-link);background-color:var(--ds-surface)}.btn-primary{height:32px;padding:0 12px;border:none;border-radius:var(--radius-sm);background:var(--ds-background-brand-bold);color:#fff;font-weight:500;cursor:pointer}.btn-primary:hover{background:var(--ds-background-brand-bold-hovered)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-subtle{height:32px;padding:0 10px;border:none;border-radius:var(--radius-sm);background:var(--ds-background-neutral);color:var(--ds-text);font-weight:500;cursor:pointer}.btn-subtle:hover{background:var(--ds-background-neutral-hovered)}.btn-linkish{border:none;background:transparent;color:var(--ds-link);cursor:pointer;padding:0;font-weight:500}.board-scroll{flex:1;overflow:auto;padding:0 16px 24px;position:relative}.board-scroll:after{content:"";pointer-events:none;position:absolute;top:0;right:0;bottom:0;width:48px;background:linear-gradient(to right,transparent,var(--color-bg-canvas));z-index:2}.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:8px;align-items:start;min-width:max-content;width:100%}.board-col{background:var(--color-bg-surface-sunken);border-radius:var(--radius-lg);min-height:200px;max-height:calc(100vh - var(--top-h) - 140px);display:flex;flex-direction:column}.board-col-head{display:flex;align-items:center;gap:8px;padding:12px 12px 8px;position:sticky;top:0;z-index:1}.board-col-head h3{margin:0;font-size:12px;font-weight:600;color:var(--ds-text-subtle);letter-spacing:-.01em}.count{font-size:12px;color:var(--ds-text-subtlest);background:var(--color-bg-surface-active);border-radius:var(--radius-md);padding:0 6px;line-height:18px}.board-col-body{padding:0 8px 8px;overflow:auto;display:grid;gap:8px;align-content:start}.issue-card{background:var(--ds-surface-raised);border-radius:var(--radius-md);box-shadow:var(--shadow-subtle);border:1px solid var(--color-border-subtle);padding:10px 12px;cursor:pointer;transition:background .08s,box-shadow .12s}.issue-card:hover{background:var(--color-bg-surface-hover);box-shadow:var(--shadow-hover)}.issue-card .title{font-size:14px;font-weight:500;margin:0 0 10px;word-break:break-word;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.issue-card .card-meta{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:0 0 8px}.issue-card .footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.issue-key{display:inline-flex;align-items:center;gap:6px;color:var(--ds-text-subtlest);font-size:12px;font-weight:500}.type-icon{width:16px;height:16px;border-radius:2px;display:inline-grid;place-items:center;color:#fff;font-size:10px;font-weight:800}.type-icon.task{background:var(--color-status-todo)}.type-icon.milestone{background:var(--color-brand)}.move-select{height:24px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--ds-text-subtlest);font-size:11px;max-width:110px}.content-panel{margin:0 24px 24px;background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--radius-md);overflow:hidden}.list-row{display:grid;grid-template-columns:160px 1fr 120px;gap:12px;padding:12px 16px;border-bottom:1px solid var(--ds-border);align-items:center}.list-row:last-child{border-bottom:none}.list-row:hover{background:var(--ds-surface-sunken)}.client-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;padding:0 24px 24px}.client-tile{background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--radius-md);padding:16px;color:inherit!important;text-decoration:none!important;display:grid;gap:8px;transition:box-shadow .1s}.client-tile:hover{box-shadow:var(--shadow-hover)}.client-tile h3{margin:0;font-size:16px;font-weight:600}.muted{color:var(--ds-text-subtlest);font-size:12px}.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline-form input,.inline-form select{height:32px;padding:0 10px;border:none;border-radius:var(--radius-md);background:var(--ds-background-neutral)}.inline-form input:focus,.inline-form select:focus{outline:none;box-shadow:inset 0 0 0 2px var(--ds-link);background:var(--ds-surface)}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;z-index:40}.drawer{position:fixed;top:var(--top-h);right:0;bottom:0;width:min(var(--drawer-w),100%);background:var(--ds-surface);z-index:50;box-shadow:var(--shadow-float);border-left:1px solid var(--color-border-subtle);display:flex;flex-direction:column;animation:slide-in .15s ease-out}@keyframes slide-in{0%{transform:translate(12px);opacity:.6}to{transform:translate(0);opacity:1}}.drawer-top{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--color-border-subtle);background:var(--ds-surface);flex-shrink:0}.issue-header-left{display:flex;align-items:center;gap:8px;font-size:13px;min-width:0}.project-breadcrumb-link{color:var(--color-text-secondary);text-decoration:none;font-weight:500;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-breadcrumb-link:hover{color:var(--color-brand);text-decoration:underline}.breadcrumb-sep{color:var(--color-text-muted);font-size:12px}.drawer-top .issue-key{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--color-text-primary);font-size:13px}.drawer-body{flex:1;overflow-y:auto;padding:20px 24px 32px}.drawer-body h2{margin:0;font-size:24px;font-weight:500}.issue-layout{display:flex;flex-direction:column;gap:24px}.issue-main{display:flex;flex-direction:column;gap:20px;min-width:0}.issue-aside{display:flex;flex-direction:column;gap:16px}.issue-modal .issue-layout,.issue-page .issue-layout{display:grid;grid-template-columns:1fr 270px;gap:28px;align-items:start}@media(max-width:768px){.issue-modal .issue-layout,.issue-page .issue-layout{display:flex;flex-direction:column;gap:20px}}.properties-panel{background:var(--color-bg-surface-sunken);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:14px 16px}.properties-title{margin:0 0 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.field-grid{display:grid;grid-template-columns:76px 1fr;gap:10px 10px;align-items:center;font-size:13px}.field-grid .label{color:var(--color-text-secondary);font-weight:500;font-size:12px}.assignee-select-wrap{display:flex;align-items:center;gap:6px;min-width:0}.prop-select{height:32px;padding:0 24px 0 8px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--ds-surface);font-size:13px;color:var(--color-text-primary);font-family:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;transition:all .15s ease;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;box-sizing:border-box}.prop-select:hover{border-color:var(--color-border-default);background-color:var(--color-bg-surface-hover)}.prop-select:focus{outline:none;border-color:var(--color-brand)}.prop-date-input{height:32px;padding:0 8px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--ds-surface);font-size:13px;font-family:inherit;color:var(--color-text-primary);cursor:pointer;transition:all .15s ease;width:100%;box-sizing:border-box}.prop-date-input:hover{border-color:var(--color-border-default);background-color:var(--color-bg-surface-hover)}.prop-date-input:focus{outline:none;border-color:var(--color-brand)}.prop-val{display:flex;align-items:center;font-size:13px;color:var(--color-text-primary);min-width:0}.prop-type-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--radius-sm);background:var(--ds-surface);border:1px solid var(--color-border-subtle);color:var(--color-text-secondary)}.prop-project-name{font-weight:500;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prop-val.date-range{font-size:12px;color:var(--color-text-secondary)}.section-title{margin:0 0 8px;font-size:12px;font-weight:700;color:var(--ds-text-subtle);letter-spacing:-.01em}.comment{display:grid;grid-template-columns:32px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--ds-border)}.comment .bubble{background:var(--ds-surface-sunken);border-radius:var(--radius-md);padding:8px 10px}.comment-form{display:grid;gap:8px}.comment-form textarea{min-height:72px;resize:vertical;border:none;border-radius:var(--radius-md);background:var(--ds-background-neutral);padding:8px 10px}.comment-form textarea:focus{outline:none;box-shadow:inset 0 0 0 2px var(--ds-link);background:var(--ds-surface)}.empty{padding:40px 24px;text-align:center;color:var(--ds-text-subtlest)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:240px;padding:32px 24px;gap:8px}.empty-state-icon{color:var(--color-text-muted);margin-bottom:8px}.empty-state-title{margin:0;font-size:16px;font-weight:600;color:var(--color-text-primary)}.empty-state-desc{margin:0;max-width:420px;font-size:13px;line-height:1.45;color:var(--color-text-secondary)}.empty-state-action{margin-top:12px;text-decoration:none}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;z-index:60;display:grid;place-items:center;padding:16px}.modal-card{width:min(480px,100%);background:var(--ds-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);padding:24px}.modal-card h2{margin:0 0 16px;font-size:20px}.modal-card label{display:grid;gap:4px;margin-bottom:12px;font-size:12px;font-weight:600;color:var(--ds-text-subtle)}.modal-card input,.modal-card select,.modal-card textarea{height:40px;border:none;border-radius:var(--radius-md);background:var(--ds-background-neutral);padding:0 10px}.modal-card textarea{height:80px;padding:10px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}@media(max-width:900px){.shell-body{grid-template-columns:1fr}.sidebar{display:none}.field-grid,.list-row{grid-template-columns:1fr}}.menu{position:relative}.menu-right{margin-left:auto}.nav-item.open,.nav-item:focus{background:var(--color-bg-surface-sunken);color:var(--color-text-primary)}.chev{font-size:10px;margin-left:4px;opacity:.8}.menu-panel{position:absolute;top:calc(100% + 4px);left:0;min-width:280px;max-width:360px;background:var(--ds-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-float);border:1px solid var(--color-border-subtle);padding:6px 0;z-index:80;color:var(--ds-text)}.menu-right .menu-panel{left:auto;right:0}.menu-title{padding:8px 12px 4px;font-size:11px;font-weight:700;color:var(--ds-text-subtlest);letter-spacing:-.01em}.menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:none;background:transparent;color:var(--ds-text)!important;text-decoration:none!important;text-align:left;cursor:pointer;font:inherit}.menu-item:hover{background:var(--ds-background-neutral)}.btn-as-item{font-weight:500}.menu-sep{height:1px;background:var(--ds-border);margin:6px 0}.menu-empty{padding:8px 12px;color:var(--ds-text-subtlest);font-size:12px}.menu-profile{display:flex;gap:12px;align-items:center;padding:12px}.strong{font-weight:600}.nav-spacer{flex:1}.avatar-inline{width:24px;height:24px;border-radius:50%;background:var(--color-brand-subtle);color:var(--color-brand-text);display:inline-grid;place-items:center;font-size:11px;font-weight:700}.avatar.lg{width:40px;height:40px;font-size:14px}.project-icon.sm{width:20px;height:20px;font-size:9px}.icon-btn{width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:transparent;color:inherit;cursor:pointer}.icon-btn:hover{background:var(--ds-background-neutral)}.top-nav .icon-btn:hover{background:var(--color-bg-surface-sunken)}.btn-primary.wide{width:100%}.row-gap{display:flex;gap:8px;align-items:center}.create-layer{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;z-index:90;display:grid;place-items:center;padding:16px}.create-layer.docked{place-items:end;background:transparent;pointer-events:none}.create-layer.docked .create-dialog{pointer-events:auto;margin:0 16px 16px 0;box-shadow:var(--shadow-modal)}.create-dialog{width:min(540px,100%);background:var(--ds-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;max-height:min(90vh,720px)}.create-dialog.expanded{width:min(720px,100%)}.create-dialog-head{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--ds-border)}.create-head-actions{display:flex;gap:4px}.create-dialog-body{padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:12px;overflow:auto}.create-dialog-body label{display:grid;gap:4px;font-size:12px;font-weight:600;color:var(--ds-text-subtle)}.create-dialog-body .span-2{grid-column:1 / -1}.create-dialog-body input,.create-dialog-body select,.create-dialog-body textarea{height:40px;border:none;border-radius:var(--radius-md);background:var(--ds-background-neutral);padding:0 10px;color:var(--ds-text);font-weight:400}.create-dialog-body textarea{height:88px;padding:10px;resize:vertical}.create-dialog-body input:focus,.create-dialog-body select:focus,.create-dialog-body textarea:focus{outline:none;box-shadow:inset 0 0 0 2px var(--ds-link);background:var(--ds-surface)}.req{color:var(--ds-danger)}.create-dialog-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--ds-border)}.error.pad{padding:0 16px}.space-switcher{position:relative;padding:0 8px 8px}.space-switcher-btn{display:flex;align-items:center;gap:8px;width:100%;height:36px;padding:0 10px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-primary);font-weight:500;cursor:pointer;text-align:left}.space-switcher-btn:hover{background:var(--color-bg-surface-hover)}.space-switcher-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.space-switcher-panel{left:8px;right:8px;min-width:0;max-width:none;width:auto}.view-segment{display:inline-flex;align-items:center;padding:2px;gap:2px;background:var(--color-bg-surface-sunken);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle)}.view-seg{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:var(--radius-sm);color:var(--color-text-secondary)!important;text-decoration:none!important;font-weight:500;font-size:13px}.view-seg:hover{color:var(--color-text-primary)!important;background:var(--color-bg-surface)}.view-seg.active{background:var(--color-bg-surface);color:var(--color-text-primary)!important;box-shadow:var(--shadow-subtle)}.sidebar.collapsed{width:40px;align-items:center;padding-top:8px}.sidebar-top{display:flex;justify-content:space-between;align-items:center;padding:8px 8px 0}.back-link{font-size:12px;color:var(--ds-text-subtlest)!important;padding:4px 8px}.side-ico{width:16px;text-align:center}.side-toggle{color:var(--ds-text-subtle)}.backlog{display:grid;gap:16px;padding:0 24px 24px}.backlog-panel{background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--radius-md);overflow:hidden}.backlog-head{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--ds-surface-sunken);border-bottom:1px solid var(--ds-border)}.backlog-row{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--ds-border);cursor:pointer}.backlog-row:hover{background:var(--ds-surface-sunken)}.backlog-row .grow{flex:1;min-width:0}.backlog-row select{height:28px;border:none;background:var(--ds-background-neutral);border-radius:var(--radius-sm)}.tableish .list-row{grid-template-columns:2fr 1fr 1.4fr 1fr}.tableish.cols-3 .list-row{grid-template-columns:2fr 1.2fr .8fr}.tableish.cols-4 .list-row{grid-template-columns:1.6fr 1.6fr .8fr .8fr}.tableish.cols-2 .list-row{grid-template-columns:2fr 1fr}.tableish .list-row.head{font-size:12px;font-weight:600;color:var(--ds-text-subtlest);background:var(--ds-surface-sunken)}.list-row.linkish{color:inherit!important;text-decoration:none!important}.name-cell{display:inline-flex;align-items:center;gap:10px;font-weight:500}.activity-tabs{display:flex;gap:4px;border-bottom:1px solid var(--color-border-subtle);margin-bottom:16px}.activity-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:13px;font-weight:500;cursor:pointer;margin-bottom:-1px;transition:all .15s ease;font-family:inherit}.activity-tab:hover{color:var(--color-text-primary)}.activity-tab.active{color:var(--color-brand);border-bottom-color:var(--color-brand);font-weight:600}.tab-pill{font-size:11px;padding:1px 6px;border-radius:10px;background:var(--color-bg-surface-sunken);color:var(--color-text-secondary);font-weight:600}.activity-tab.active .tab-pill{background:var(--color-brand-subtle);color:var(--color-brand-text)}.comment-form-actions{display:flex;justify-content:flex-end;margin-top:6px}.issue-modal-layer{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;z-index:70;display:grid;place-items:center;padding:24px}.issue-modal{width:min(900px,100%);max-height:90vh;background:var(--ds-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;overflow:hidden}.issue-modal .drawer-body{overflow:auto}.fullscreen-main{display:flex;flex-direction:column;height:100%;background:var(--ds-surface-sunken)}.fullscreen-main .main{display:contents}.issue-title-input{width:100%;font-size:22px;font-weight:600;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;padding:4px 6px;margin-bottom:8px;resize:none;overflow:hidden;line-height:1.35;font-family:inherit;color:var(--color-text-primary);transition:border-color .15s,background-color .15s;box-sizing:border-box}.issue-title-input:hover{background:var(--color-bg-surface-sunken)}.issue-title-input:focus{outline:none;background:var(--ds-surface);border-color:var(--color-brand);box-shadow:0 0 0 1px var(--color-brand)}.issue-desc{width:100%;min-height:100px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-surface-sunken);padding:10px 12px;font-size:13px;line-height:1.5;font-family:inherit;color:var(--color-text-primary);resize:vertical;box-sizing:border-box;transition:all .15s ease}.issue-desc:focus{outline:none;background:var(--ds-surface);border-color:var(--color-brand);box-shadow:0 0 0 1px var(--color-brand)}.card-meta{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 4px}.prio-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 6px;border-radius:var(--radius-sm);background:var(--ds-background-neutral)}.prio-badge.high,.prio-badge.urgent{background:#fef2f2;color:var(--color-prio-urgent)}.prio-badge.medium{background:var(--color-brand-subtle);color:var(--color-prio-medium)}.prio-badge.low{color:var(--color-prio-low)}.due{font-size:11px;color:var(--color-text-secondary)}.due.soon{color:var(--color-prio-high);font-weight:600}.due.overdue{color:var(--color-prio-urgent);font-weight:600}.avatar.sm{width:20px;height:20px;font-size:10px}.badge-picker{position:relative;display:inline-flex}.badge-picker-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 8px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--ds-surface);cursor:pointer;transition:all .15s ease;box-sizing:border-box}.badge-picker-btn:hover{background:var(--color-bg-surface-hover);border-color:var(--color-border-default)}.badge-picker-btn .chev{font-size:10px;color:var(--color-text-muted)}.badge-picker-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:60;margin:0;padding:6px;list-style:none;min-width:160px;background:var(--ds-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-float)}.badge-picker-option{display:flex;width:100%;border:none;background:transparent;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;text-align:left}.badge-picker-option:hover,.badge-picker-option.selected{background:var(--color-brand-subtle)}.status-picker .prio-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500}.status-picker .prio-badge:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor}.status-picker .prio-badge.backlog{color:var(--color-status-backlog)}.status-picker .prio-badge.todo{color:var(--color-status-todo)}.status-picker .prio-badge.in_progress{color:var(--color-status-in-progress)}.status-picker .prio-badge.done{color:var(--color-status-done)}.issue-danger-action{margin-top:8px;padding:10px 12px;background:var(--ds-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:4px}.btn-delete-subtle{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 8px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:inherit}.btn-delete-subtle:hover{background:#fef2f2;color:var(--color-prio-urgent);border-color:#fecaca}.btn-delete-subtle:disabled{opacity:.5;cursor:not-allowed}.danger-hint{font-size:11px;color:var(--color-text-muted);line-height:1.3}.comment-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.file-row{display:flex;align-items:center;gap:10px;margin-top:8px}.btn-danger{background:var(--color-prio-urgent);color:#fff;border:none;border-radius:var(--radius-sm);padding:8px 12px;font-weight:500;cursor:pointer}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-subtle.sm{font-size:12px;padding:2px 8px}.danger-block{margin-top:24px;padding:16px;border:1px solid #fecaca;border-radius:var(--radius-md);display:grid;gap:10px}.settings-layout{display:grid;grid-template-columns:220px 1fr;gap:24px;min-height:60vh}.settings-side h2{font-size:16px;margin:12px 0}.settings-nav{display:flex;flex-direction:column;gap:2px}.settings-form{display:grid;gap:12px;max-width:480px}.settings-form label{display:grid;gap:4px;font-size:12px;font-weight:600}.ok{color:var(--color-status-done)}.list-issue{grid-template-columns:1.2fr 2fr 1fr 1fr 1fr .8fr!important}.issue-page{max-width:820px;background:var(--ds-surface);border-radius:var(--radius-md);border:1px solid var(--ds-border)}.issue-page .drawer-body{padding:16px 20px 24px}.board-col-list{margin:12px 0;padding-left:20px}.board-col-list.editable{list-style:none;padding-left:0;display:flex;flex-direction:column;gap:8px}.board-status-row{display:grid;grid-template-columns:minmax(100px,1fr) minmax(120px,1.4fr) 110px auto;gap:8px;align-items:center}.board-status-row input,.board-status-row select{padding:6px 8px;border:1px solid var(--ds-border);border-radius:var(--radius-sm)}.migrate-row{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.migrate-row label{display:flex;flex-direction:column;gap:4px;font-size:13px}.pad{padding:12px 16px}.search-form{display:flex;gap:8px;margin-top:8px}.search-form input{min-width:320px;max-width:520px;width:100%;padding:8px 10px;border:2px solid var(--ds-border);border-radius:var(--radius-md)}.settings-layout{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:12px;padding:0 16px 16px}@media(max-width:900px){.settings-layout{grid-template-columns:1fr}}.active-row{background:var(--ds-background-selected, #deebff)}.history-list .list-row{font-size:13px}.mobile-nav-backdrop,.mobile-nav-drawer{display:none}@media(max-width:767px){.app-shell{overflow-x:hidden}.top-nav{padding:0 8px;gap:2px}.nav-hamburger{display:inline-grid;place-items:center}.nav-desktop-links{display:none}.nav-brand span{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-search-wrap{max-width:none;margin:0 4px}.nav-search-hint{display:none}.main,.page-header,.toolbar,.board-scroll,.content-panel{padding-left:16px;padding-right:16px}.page-header{padding-top:12px}.btn-create,.nav-item,.icon-btn,.chip,.view-seg,.mobile-nav-item{min-height:40px;min-width:40px}.mobile-nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;top:var(--top-h);background:#0f172a59;z-index:80}.mobile-nav-drawer{display:flex;flex-direction:column;gap:4px;position:fixed;top:var(--top-h);left:0;bottom:0;width:min(280px,86vw);background:var(--color-bg-surface);border-right:1px solid var(--color-border-subtle);box-shadow:var(--shadow-float);z-index:90;padding:12px;animation:slide-in .15s ease-out}.mobile-nav-item{display:flex;align-items:center;padding:0 12px;border-radius:var(--radius-md);color:var(--color-text-primary);text-decoration:none;font-weight:500;border:none;background:transparent;cursor:pointer;text-align:left;width:100%}.mobile-nav-item:hover{background:var(--color-bg-surface-sunken)}.issue-card .title,.page-title-row h1,.breadcrumb{overflow-wrap:anywhere}}
