.workspace-shell{width:100%;height:100%;min-height:0;display:flex;flex-direction:column}.app-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.content{display:grid;grid-template-columns:360px 1fr;grid-template-rows:minmax(0,1fr);gap:16px;min-height:0}.list-panel,.detail-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px;box-shadow:var(--shadow);min-height:0;overflow-y:auto;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#adc0d8 transparent}.list-panel::-webkit-scrollbar,.detail-panel::-webkit-scrollbar{width:10px}.list-panel::-webkit-scrollbar-track,.detail-panel::-webkit-scrollbar-track{background:transparent}.list-panel::-webkit-scrollbar-thumb,.detail-panel::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#b8c8dc,#9db2cc);border-radius:999px;border:2px solid transparent;background-clip:padding-box}.list-panel::-webkit-scrollbar-thumb:hover,.detail-panel::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#9fb4cf,#839dbd);background-clip:padding-box}.mobile-workspace-shell{width:100%;display:grid;gap:12px}.mobile-header{display:grid;gap:10px}.mobile-title-row{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;min-width:0}.mobile-title-row h1{margin:0;flex:1 1 auto;min-width:0;font-size:clamp(1.32rem,5.9vw,1.58rem);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-title-row .user-chip{margin-left:auto;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.2;white-space:nowrap}.mobile-logout-button{margin-left:0;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.2;white-space:nowrap}.mobile-header-meta{display:flex;flex-wrap:wrap;gap:8px}.mobile-header-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mobile-header-actions .primary-button{grid-column:1 / -1}.mobile-ai-help{border:1px solid var(--line);border-radius:var(--radius-md);padding:10px 12px;background:var(--paper-strong)}.mobile-ai-help p{margin:0 0 6px;color:var(--muted);font-size:13px}.mobile-ai-help p:last-child{margin-bottom:0}.mobile-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mobile-list-panel,.mobile-detail-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:12px;box-shadow:var(--shadow)}.mobile-back-button{margin-bottom:10px}@media (max-width: 960px){html body{overflow-y:auto;overflow-x:hidden}.app.app-mobile{max-width:100%;height:auto;min-height:100%;overflow:visible;padding:16px 12px 24px}.app-mobile .workspace-root{display:block}.mobile-metrics .metric-card{box-shadow:none;padding:12px}.mobile-metrics .metric-card strong{font-size:24px}.mobile-detail-panel .close{display:none}.header-actions{justify-content:flex-start}.metrics{grid-template-columns:1fr}.content{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(0,1fr)}}:root{color-scheme:light;--bg: #f4f1ea;--paper: #fffefa;--paper-strong: #ffffff;--ink: #1f2a37;--muted: #5a6675;--line: #d5d9e2;--accent: #0d8a79;--accent-strong: #0c6f62;--accent-soft: #d7f2ee;--danger: #bd2d34;--radius-lg: 18px;--radius-md: 12px;--shadow: 0 16px 32px rgba(18, 28, 45, .08)}*{box-sizing:border-box;margin:0;padding:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}:focus:not(:focus-visible){outline:none}html,body,#root{height:100%}body{font-family:Trebuchet MS,Segoe UI Variable,Avenir Next,sans-serif;background:radial-gradient(circle at 12% 10%,#dde7ff 0%,transparent 35%),radial-gradient(circle at 90% 80%,#cdeee6 0%,transparent 32%),var(--bg);color:var(--ink);min-height:100%;overflow:hidden}.app{max-width:1240px;margin:0 auto;padding:28px 20px 40px;height:100%;overflow:hidden;display:flex;flex-direction:column;gap:16px}.workspace-root{flex:1;min-height:0;display:flex}.eyebrow{color:var(--accent-strong);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}h1{font-size:clamp(2rem,4vw,2.7rem);letter-spacing:-.02em}.subhead{margin-top:6px;color:var(--muted);max-width:560px}.primary-button{padding:10px 18px;background:linear-gradient(135deg,var(--accent) 0%,#148f7e 100%);color:#fff;border:0;border-radius:999px;font-weight:700;cursor:pointer;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),background .2s ease;position:relative;overflow:hidden}.primary-button:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0c6f6259}.primary-button:active{transform:translateY(0);box-shadow:0 4px 12px #0c6f6240}.secondary-button{padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:var(--paper-strong);color:var(--ink);font-weight:700;cursor:pointer;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),border-color .2s ease,background .2s ease}.secondary-button:hover{transform:translateY(-1px);box-shadow:0 6px 16px #121c2d14;border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.secondary-button:active{transform:translateY(0);box-shadow:0 2px 8px #121c2d0f}.danger-button{padding:9px 14px;border-radius:10px;border:1px solid #efb1b7;background:#fdecef;color:var(--danger);font-weight:700;cursor:pointer}.ai-help-anchor{position:relative}.info-icon-button{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--paper-strong);color:var(--accent-strong);font-weight:700;cursor:pointer}.ai-help-tooltip{position:absolute;top:calc(100% + 10px);right:0;width:min(320px,78vw);padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--paper-strong);box-shadow:0 12px 28px #121c2d29;z-index:20}.ai-help-tooltip p{margin:0 0 8px;font-size:13px;color:var(--muted)}.ai-help-tooltip p:last-child{margin-bottom:0}.user-chip{padding:8px 12px;border-radius:999px;background:var(--paper);border:1px solid var(--line);color:var(--muted);font-size:13px}.admin-panel{margin-bottom:16px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px;box-shadow:var(--shadow)}.admin-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:10px}.pending-user-list{display:grid;gap:8px}.pending-user-card{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);border-radius:var(--radius-md);padding:10px 12px;background:var(--paper-strong)}.pending-user-card p{color:var(--muted);font-size:13px;margin-top:2px}.pending-user-actions{display:flex;gap:8px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(560px,100%);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:22px;animation:authCardIn .5s cubic-bezier(.16,1,.3,1)}.auth-card-loading{display:grid;gap:10px}.auth-loading-line{height:14px;width:100%}.auth-loading-line.short{width:72%;margin-bottom:6px}.auth-mode-switch{margin:14px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.auth-mode-switch button{border:1px solid var(--line);border-radius:999px;padding:8px 12px;background:var(--paper-strong);cursor:pointer}.auth-mode-switch button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong);font-weight:700}.auth-form{display:grid;gap:10px}.auth-form label span{display:block;margin-bottom:4px;color:var(--muted);font-size:13px}.auth-form input{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:14px}.auth-submit{margin-top:8px}.status-pill{display:inline-block;margin:10px 0 12px;padding:4px 10px;border-radius:999px;background:#e8edf8;color:#314d8f;font-weight:700}.metric-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);padding:14px;box-shadow:var(--shadow);transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1)}.metric-card:hover{transform:translateY(-2px);box-shadow:0 20px 40px #121c2d1f}.metric-card span{display:block;color:var(--muted);font-size:13px}.metric-card strong{display:block;margin-top:6px;font-size:30px;font-weight:700;background:linear-gradient(135deg,var(--ink) 0%,var(--accent-strong) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.filters{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow);margin-bottom:18px}.search-control{display:grid;gap:6px;min-width:240px;color:var(--muted);font-size:14px}.search-control input{border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-family:inherit;font-size:14px;background:#fff;color:var(--ink)}.filter-group{display:flex;gap:8px;flex-wrap:wrap}.filters button{padding:6px 12px;border:1px solid var(--line);background:var(--paper-strong);color:var(--muted);border-radius:999px;cursor:pointer;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),border-color .2s ease,background .2s ease,color .2s ease}.filters button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #121c2d14}.filters button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong);font-weight:700;transform:translateY(-1px);box-shadow:0 4px 12px #0d8a7926}.filters button:active{transform:translateY(0)}.sort-control{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px}.filters select,.detail select,.detail input,.detail textarea,.modal input,.modal textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:14px;background:#fff;color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0d8a791f}.list{display:grid;gap:10px}.list-with-pagination{display:grid;gap:12px}.idea-card{opacity:0;animation:fadeSlideIn .35s cubic-bezier(.16,1,.3,1) forwards}.idea-card:nth-child(1){animation-delay:0ms}.idea-card:nth-child(2){animation-delay:35ms}.idea-card:nth-child(3){animation-delay:70ms}.idea-card:nth-child(4){animation-delay:105ms}.idea-card:nth-child(5){animation-delay:.14s}.idea-card:nth-child(6){animation-delay:175ms}.idea-card:nth-child(7){animation-delay:.21s}.idea-card:nth-child(8){animation-delay:245ms}.pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:10px}.pagination button{padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper-strong);color:var(--ink);font-weight:700;cursor:pointer;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),border-color .2s ease,background .2s ease}.pagination button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #121c2d1a;border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.pagination button:active:not(:disabled){transform:translateY(0)}.pagination p{color:var(--muted);font-size:13px}.idea-card-skeleton{background:var(--paper-strong);padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);position:relative;overflow:hidden;opacity:0;animation:fadeSlideIn .4s cubic-bezier(.16,1,.3,1) forwards}.idea-card-skeleton:nth-child(1){animation-delay:0ms}.idea-card-skeleton:nth-child(2){animation-delay:50ms}.idea-card-skeleton:nth-child(3){animation-delay:.1s}.idea-card-skeleton:nth-child(4){animation-delay:.15s}.idea-card-skeleton:nth-child(5){animation-delay:.2s}.skeleton{border-radius:8px;position:relative;overflow:hidden;background:#e8ecf5}.skeleton:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.6) 20%,rgba(255,255,255,.85) 50%,rgba(255,255,255,.6) 80%,transparent 100%);background-size:200% 100%;animation:shimmer 2s cubic-bezier(.4,0,.2,1) infinite}.skeleton-title{height:20px;width:58%;margin-bottom:10px}.skeleton-title:after{animation-duration:2.2s;animation-delay:.1s}.skeleton-line{height:12px;width:100%;margin-bottom:8px}.skeleton-line.short{width:72%;margin-bottom:12px}.skeleton-line.short:after{animation-duration:1.8s;animation-delay:.2s}.skeleton-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.skeleton-chip{height:22px;border-radius:999px}.skeleton-chip:nth-child(1):after{animation-duration:2.3s}.skeleton-chip:nth-child(2):after{animation-duration:1.9s;animation-delay:.3s}.skeleton-chip:nth-child(3):after{animation-duration:2.1s;animation-delay:.15s}.detail-skeleton{display:grid;gap:10px;opacity:0;animation:fadeSlideIn .4s cubic-bezier(.16,1,.3,1) forwards}.skeleton-input{height:40px}.skeleton-input:after{animation-duration:2.4s}.skeleton-area{height:96px}.skeleton-area:after{animation-duration:2.6s;animation-delay:.25s}.skeleton-actions{height:42px;width:60%;border-radius:10px}.skeleton-actions:after{animation-duration:2s}.skeleton-actions-group{height:42px;border-radius:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.skeleton-actions-group:before{content:"";display:block;height:100%;background:#e8ecf5;border-radius:10px;position:relative;overflow:hidden}.skeleton-actions-group:before:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.6) 20%,rgba(255,255,255,.85) 50%,rgba(255,255,255,.6) 80%,transparent 100%);background-size:200% 100%;animation:shimmer 2s cubic-bezier(.4,0,.2,1) infinite}.idea-card{background:var(--paper-strong);padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.idea-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-strong));transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.16,1,.3,1)}.idea-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #121c2d1f}.idea-card:hover:before{transform:scaleX(1)}.idea-card.selected{border-color:var(--accent);box-shadow:0 12px 28px #0d8a7933}.idea-card.selected:before{transform:scaleX(1)}.idea-card h3{font-size:17px;margin-bottom:8px;font-weight:600;color:var(--ink);transition:color .2s cubic-bezier(.16,1,.3,1)}.idea-card:hover h3{color:var(--accent-strong)}.card-description{color:var(--muted);font-size:14px;line-height:1.5;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.idea-card .status,.idea-card .effort,.idea-card .type{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.02em;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s cubic-bezier(.16,1,.3,1)}.idea-card:hover .status,.idea-card:hover .effort,.idea-card:hover .type{transform:translateY(-1px)}.idea-card .type{background:#f6ecd1;color:#6b4f1f}.idea-card .type:hover{box-shadow:0 2px 8px #6b4f1f33}.status{background:#e3ebff;color:#2f4da8}.status:hover{box-shadow:0 2px 8px #2f4da833}.effort{background:#fce4d8;color:#a24718}.effort:hover{box-shadow:0 2px 8px #a2471833}.detail{position:relative}.detail h2{margin-bottom:12px}.detail label,.modal label{display:block;margin-bottom:10px}.detail label span,.modal label span{display:block;margin-bottom:4px;color:var(--muted);font-size:13px}.detail textarea,.modal textarea{min-height:92px;resize:vertical}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.detail-empty-state{min-height:320px;display:grid;place-content:center;text-align:center;color:var(--muted);animation:fadeSlideIn .4s cubic-bezier(.16,1,.3,1)}.detail-empty-state h2{color:var(--ink);margin-bottom:6px;font-weight:600}.close{position:absolute;top:-4px;right:-2px;background:transparent;border:0;font-size:28px;line-height:1;color:#8491a1;cursor:pointer;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;transition:color .15s ease,background .15s ease,transform .15s cubic-bezier(.16,1,.3,1)}.close:hover{color:var(--danger);background:#bd2d3414;transform:scale(1.1)}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.actions button{padding:10px 14px;border:1px solid transparent;border-radius:10px;cursor:pointer;font-weight:700;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),background .2s ease}.actions button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #121c2d1a}.actions button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #121c2d14}.actions button:first-child,.actions button:nth-child(2){background:var(--accent-soft);color:var(--accent-strong)}.actions button.danger{background:#f9dde0;color:var(--danger)}.refinement-history{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.refinement-history h3{margin-bottom:8px}.refinement-list{display:grid;gap:10px}.refinement-card{border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--paper-strong);transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1);animation:fadeSlideIn .3s cubic-bezier(.16,1,.3,1) both}.refinement-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #121c2d1a}.refinement-meta{font-size:12px;color:var(--muted);margin-bottom:6px}.refinement-card pre{margin:0;font-size:12px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#171c2b85;display:grid;place-items:center;z-index:30;padding:20px;animation:overlayFadeIn .2s cubic-bezier(.16,1,.3,1)}.modal{width:min(560px,100%);background:var(--paper-strong);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 30px 60px #0a0e1959;padding:18px;position:relative;animation:modalSlideIn .3s cubic-bezier(.16,1,.3,1)}button:disabled{opacity:.6;cursor:not-allowed}.app-message,.panel-message{margin:0 0 12px;color:var(--muted)}.app-message.error,.panel-message.error{color:var(--danger);animation:errorSlideIn .4s cubic-bezier(.16,1,.3,1)}.empty-state{min-height:160px;display:grid;place-content:center;color:var(--muted)}.detail{animation:fadeSlideIn .3s cubic-bezier(.16,1,.3,1)}.detail-loading-bar{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-soft),var(--accent),var(--accent-soft));background-size:200% 100%;animation:loadingBarSweep 1.2s ease infinite;border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow:hidden}.detail.is-loading label,.detail.is-loading .actions{opacity:.55;pointer-events:none;transition:opacity .2s ease}.detail:not(.is-loading) label,.detail:not(.is-loading) .actions{opacity:1;transition:opacity .25s ease}.admin-skeleton-card{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);border-radius:var(--radius-md);padding:10px 12px;background:var(--paper-strong);opacity:0;animation:fadeSlideIn .4s cubic-bezier(.16,1,.3,1) forwards}.admin-skeleton-card:nth-child(1){animation-delay:0ms}.admin-skeleton-card:nth-child(2){animation-delay:60ms}.admin-skeleton-card:nth-child(3){animation-delay:.12s}.skeleton-name{height:16px;width:45%;margin-bottom:8px}.skeleton-date{height:12px;width:65%}.skeleton-name:after{animation-duration:2.1s}.skeleton-date:after{animation-duration:1.8s;animation-delay:.15s}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes authCardIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes errorSlideIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}@keyframes loadingBarSweep{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (max-width: 960px){.filters{flex-direction:column;align-items:stretch}.search-control{min-width:0}.detail-grid{grid-template-columns:1fr}.pending-user-card{flex-direction:column;align-items:flex-start}}
