@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=DM+Mono:wght@400;500&display=swap";:root{--bg: #060c1a;--sidebar-bg: #080f1e;--card-bg: #0d1526;--card-bg-hover: #111d33;--surface: #0b1324;--border: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .11);--text: #e8edf5;--text-secondary: #94a3b8;--text-muted: #4a5568;--accent: #3b82f6;--accent-light: #60a5fa;--accent-glow: rgba(59, 130, 246, .18);--teal: #06b6d4;--positive: #10b981;--positive-bg: rgba(16, 185, 129, .1);--warning: #f59e0b;--danger: #f43f5e;--neutral-delta: #94a3b8;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 8px 32px rgba(0, 0, 0, .4);--shadow-lg: 0 24px 64px rgba(0, 0, 0, .5);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--sidebar-w: 220px;--topbar-h: 64px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:Manrope,Segoe UI,sans-serif;font-size:14px;color:var(--text);background:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased}button{cursor:pointer;background:none;border:none;color:inherit;font:inherit}ul{list-style:none}a{text-decoration:none;color:inherit}[hidden]{display:none!important}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:100vh;height:100dvh;min-height:0;overflow:hidden}.sidebar{display:flex;flex-direction:column;background:var(--sidebar-bg);border-right:1px solid var(--border);height:100vh;overflow:hidden;position:relative;z-index:10}.sidebar-logo{display:flex;align-items:center;justify-content:space-evenly;padding:20px 18px 16px 6px;border-bottom:1px solid var(--border)}.logo-icon{width:48px;height:48px;border-radius:8px;background:#3b82f61f;border:1px solid rgba(59,130,246,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0}.logo-text{font-size:1rem;font-weight:700;letter-spacing:-.01em;color:var(--text)}.sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:14px 10px}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md);color:var(--text-secondary);font-size:.875rem;font-weight:500;transition:background .15s,color .15s;text-align:left;width:100%}.nav-item:hover{background:#ffffff0d;color:var(--text)}.nav-item.is-active{background:linear-gradient(135deg,#3b82f633,#6366f11f);border:1px solid rgba(59,130,246,.22);color:#93c5fd;font-weight:600}.nav-icon{width:18px;height:18px;flex-shrink:0;opacity:.8}.nav-item.is-active .nav-icon{opacity:1}.sidebar-footer{margin-top:auto;padding:14px 10px 18px;border-top:1px solid var(--border)}.sidebar-user{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-md);cursor:pointer;transition:background .15s}.sidebar-user:hover{background:#ffffff0a}.user-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:#fff;flex-shrink:0;background-position:center;background-size:cover}.user-info{display:flex;flex-direction:column;min-width:0}.user-name{font-size:.85rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{font-size:.75rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-user-chip{position:fixed;left:16px;bottom:16px;z-index:260;display:none;align-items:center;gap:8px;min-height:36px;padding:7px 11px 7px 8px;border:1px solid var(--border-strong);border-radius:999px;background:#080f1eeb;box-shadow:0 12px 32px #00000052;color:var(--text);font-size:.82rem;font-weight:700;backdrop-filter:blur(8px)}.mobile-user-chip-avatar{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;font-size:.72rem;font-weight:800;background-position:center;background-size:cover}.mobile-user-chip-label{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main-area{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:var(--topbar-h);background:var(--sidebar-bg);border-bottom:1px solid var(--border);flex-shrink:0;position:relative;z-index:5;height:6vh}.topbar-left{display:flex;flex-direction:row;align-items:center;gap:15px}.page-title{font-size:1.1rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.topbar-right{display:flex;align-items:center;gap:10px}.project-switcher{position:relative}.project-switcher-button{display:inline-flex;align-items:center;gap:8px;min-width:178px;max-width:240px;height:38px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:#ffffff0a;color:var(--text-secondary);font-size:.82rem;font-weight:700;transition:border-color .15s,background .15s,color .15s}.project-switcher-button:hover,.project-switcher[data-open=true] .project-switcher-button{border-color:#60a5fa73;background:#3b82f61a;color:var(--text)}.project-switcher-icon,.project-switcher-chevron{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent-light)}.project-switcher-chevron{margin-left:auto;color:var(--text-muted);transition:transform .15s}.project-switcher[data-open=true] .project-switcher-chevron{transform:rotate(180deg)}.project-switcher-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-menu{position:absolute;top:calc(100% + 8px);right:0;display:none;width:min(300px,calc(100vw - 32px));padding:8px;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:#0b1324;box-shadow:var(--shadow-lg);z-index:60}.project-switcher[data-open=true] .project-menu{display:block}.project-menu-list{display:flex;flex-direction:column;gap:4px;max-height:280px;overflow-y:auto;padding-bottom:8px}.project-menu-row{display:grid;grid-template-columns:minmax(0,1fr) 34px 34px;gap:4px}.project-menu-row[data-confirming=true]{padding-bottom:4px}.project-menu-item,.project-menu-new,.project-menu-delete,.project-confirm-cancel,.project-confirm-delete{width:100%;border-radius:var(--radius-md);text-align:left;transition:background .15s,color .15s}.project-menu-item{display:flex;flex-direction:column;gap:2px;padding:10px 11px;color:var(--text-secondary)}.project-menu-item:hover{background:#ffffff0e;color:var(--text)}.project-menu-item[data-active=true]{background:#3b82f624;color:var(--text)}.project-menu-delete{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}.project-menu-delete:hover{background:#f43f5e1a;color:#fda4af}.project-menu-edit{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}.project-menu-edit:hover{background:#ffffff0e;color:var(--text)}.project-menu-title{overflow:hidden;font-size:.86rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.project-menu-meta{color:var(--text-muted);font-size:.72rem;font-weight:600}.project-menu-new{display:flex;align-items:center;gap:9px;padding:11px;border-top:1px solid var(--border);color:var(--accent-light);font-size:.84rem}.project-menu-new:hover{background:#3b82f61a}.project-menu-new span{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#3b82f62e;font-weight:800}.project-delete-confirm{grid-column:1 / -1;display:flex;flex-direction:column;gap:9px;padding:10px;border:1px solid rgba(244,63,94,.22);border-radius:var(--radius-md);background:#f43f5e14}.project-delete-confirm p{color:#fecdd3;font-size:.76rem;font-weight:700;line-height:1.35}.project-delete-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:6px}.project-confirm-cancel,.project-confirm-delete{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 9px;font-size:.74rem;font-weight:800;text-align:center}.project-confirm-cancel{border:1px solid var(--border);color:var(--text-secondary)}.project-confirm-cancel:hover{background:#ffffff0f;color:var(--text)}.project-confirm-delete{background:#f43f5edb;color:#fff}.project-confirm-delete:hover{background:#e11d48}.project-edit-form{grid-column:1 / -1;display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid rgba(59,130,246,.22);border-radius:var(--radius-md);background:#3b82f60f}.project-edit-name,.project-edit-desc{width:100%;padding:7px 9px;font-size:.8rem;color:var(--text);background:#00000040;border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;resize:none}.project-edit-name:focus,.project-edit-desc:focus{border-color:var(--accent)}.project-edit-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:6px}.project-edit-cancel,.project-edit-save{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 9px;font-size:.74rem;font-weight:800;text-align:center}.project-edit-cancel{border:1px solid var(--border);color:var(--text-secondary)}.project-edit-cancel:hover{background:#ffffff0f;color:var(--text)}.project-edit-save{background:#3b82f6db;color:#fff}.project-edit-save:hover{background:#2563eb}.icon-btn{position:relative;width:38px;height:38px;border-radius:var(--radius-md);border:1px solid var(--border);background:#ffffff08;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background .15s,color .15s}.icon-btn:hover{background:#ffffff0f;color:var(--text)}.notif-badge{position:absolute;top:-5px;right:-6px;display:grid;min-width:19px;height:19px;place-items:center;padding:0 5px;border-radius:999px;background:#f43f5e;border:1.5px solid var(--sidebar-bg);color:#fff;font-family:DM Mono,monospace;font-size:.58rem;font-weight:700;line-height:1}.app-task-center{position:relative;flex:0 0 auto;width:clamp(210px,22vw,290px)}.app-task-summary{display:block;width:100%;padding:7px 9px;border:1px solid rgba(96,165,250,.3);border-radius:var(--radius-md);background:#3b82f614;color:var(--text-secondary);cursor:pointer}.app-task-summary:hover,.app-task-summary[aria-expanded=true]{border-color:#60a5fa85;background:#3b82f621}.app-task-summary-copy{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:5px;font-size:.65rem;font-weight:700}.app-task-summary-copy span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-task-summary-copy span:last-child{flex-shrink:0;color:var(--accent-light);font-family:DM Mono,monospace}.app-task-track{display:block;overflow:hidden;height:4px;border-radius:999px;background:#94a3b82e}.app-task-track>span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--teal));transition:width .18s ease}.app-task-center.is-indeterminate .app-task-track>span{width:38%;animation:app-task-indeterminate 1.15s ease-in-out infinite}.app-task-center.is-complete .app-task-summary{border-color:#2dd4bf61;background:#2dd4bf17}.app-task-center.is-error .app-task-summary{border-color:#f43f5e66;background:#f43f5e17}.app-task-center.is-error .app-task-summary-copy span:last-child{color:#fb7185}.app-task-center.is-cancelled .app-task-summary{border-color:#fb718552;background:#f43f5e12}.app-task-center.is-cancelled .app-task-summary-copy span:last-child{color:#fda4af}.app-task-panel{position:absolute;top:calc(100% + 10px);right:0;z-index:80;width:min(340px,calc(100vw - 24px));overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-elevated, #111827);box-shadow:var(--shadow-lg)}.app-task-panel>header{display:flex;flex-direction:column;gap:2px;padding:14px 15px;border-bottom:1px solid var(--border)}.app-task-panel>header strong{font-size:.84rem}.app-task-panel>header span{color:var(--text-muted);font-size:.66rem}.app-task-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 15px;border-bottom:1px solid var(--border)}.app-task-row:last-child{border-bottom:0}.app-task-row>span:first-child{display:flex;min-width:0;flex-direction:column;gap:2px}.app-task-row strong{overflow:hidden;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.app-task-row small{color:var(--text-muted);font-size:.62rem}.app-task-row-status{display:flex;flex-shrink:0;align-items:center;gap:8px;color:var(--accent-light);font:.64rem DM Mono,monospace}.app-task-row.is-complete .app-task-row-status{color:var(--teal)}.app-task-row.is-error .app-task-row-status,.app-task-row.is-cancelled .app-task-row-status{color:#fb7185}.app-task-cancel{padding:4px 7px;border:1px solid rgba(251,113,133,.42);border-radius:6px;background:#f43f5e1a;color:#fda4af;font:600 .62rem DM Sans,sans-serif;cursor:pointer}.app-task-cancel:hover{border-color:#fb7185b3;background:#f43f5e2e}@keyframes app-task-indeterminate{0%{transform:translate(-110%)}to{transform:translate(285%)}}@media (max-width: 760px){.app-task-center{position:fixed;top:66px;right:12px;z-index:120;width:min(250px,calc(100vw - 24px));box-shadow:var(--shadow-md)}}.notification-center{position:relative;flex:0 0 auto}.notification-center .icon-btn[aria-expanded=true]{border-color:#60a5fa73;background:#3b82f61f;color:var(--accent-light)}.notification-panel{position:absolute;top:calc(100% + 10px);right:0;z-index:200;width:min(390px,calc(100vw - 28px));max-height:min(620px,calc(100dvh - 88px));overflow:hidden;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:#0b1324;box-shadow:var(--shadow-lg)}.notification-panel-header,.notification-permission,.notification-row-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.notification-panel-header{padding:15px 16px;border-bottom:1px solid var(--border)}.notification-panel-header>div,.notification-permission>div{display:flex;min-width:0;flex-direction:column}.notification-panel-header strong{font-size:.88rem}.notification-panel-header span,.notification-permission span{color:var(--text-muted);font-size:.68rem}.notification-mark-all{flex:none;color:var(--accent-light);font-size:.68rem;font-weight:700}.notification-permission{margin:10px;padding:10px 11px;border:1px solid rgba(59,130,246,.25);border-radius:var(--radius-md);background:#3b82f614}.notification-permission strong{font-size:.72rem}.notification-permission span{margin-top:2px;line-height:1.4}.notification-permission button{flex:none;padding:6px 9px;border:1px solid rgba(96,165,250,.38);border-radius:var(--radius-sm);background:#3b82f626;color:#bfdbfe;font-size:.67rem;font-weight:800}.notification-list{max-height:min(490px,calc(100dvh - 210px));overflow-y:auto;scrollbar-color:rgba(255,255,255,.12) transparent;scrollbar-width:thin}.notification-row{position:relative;border-bottom:1px solid var(--border);transition:background .14s}.notification-row:hover{background:#ffffff09}.notification-row.is-unread{background:#3b82f60e}.notification-row.is-unread:before{position:absolute;top:18px;left:5px;width:5px;height:5px;border-radius:50%;background:var(--accent);content:""}.notification-row-content{display:flex;width:100%;flex-direction:column;gap:5px;padding:13px 42px 14px 16px;color:inherit;text-align:left}.notification-row-dismiss,.notification-toast-close{position:absolute;display:grid;place-items:center;border-radius:8px;color:var(--text-muted);font-size:1rem;line-height:1}.notification-row-dismiss{top:10px;right:9px;width:26px;height:26px}.notification-row-dismiss:hover{background:#f43f5e1a;color:#fda4af}.notification-priority,.notification-toast-priority{color:var(--text-muted);font-size:.59rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.notification-row[data-priority=high] .notification-priority{color:#fbbf24}.notification-row[data-priority=urgent] .notification-priority{color:#fb7185}.notification-row time{color:var(--text-muted);font:.6rem DM Mono,monospace}.notification-row-content>strong,.notification-toast strong{overflow-wrap:anywhere;font-size:.8rem;font-weight:800}.notification-row-body,.notification-toast p{display:-webkit-box;overflow:hidden;color:var(--text-secondary);font-size:.7rem;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:3}.notification-empty{display:grid;min-height:210px;place-content:center;justify-items:center;padding:28px;text-align:center}.notification-empty>span{display:grid;width:34px;height:34px;place-items:center;margin-bottom:10px;border-radius:50%;background:#10b98114;color:#6ee7b7}.notification-empty strong{font-size:.8rem}.notification-empty p{margin-top:3px;color:var(--text-muted);font-size:.68rem}.notification-toast-stack{position:fixed;top:78px;right:24px;z-index:1000;display:flex;width:min(380px,calc(100vw - 32px));flex-direction:column;gap:10px;pointer-events:none}.notification-toast{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;padding:14px 42px 14px 14px;border:1px solid var(--border-strong);border-left:3px solid var(--accent);border-radius:var(--radius-lg);background:#0b1324fa;box-shadow:var(--shadow-lg);pointer-events:auto;animation:notification-toast-in .24s ease-out}.notification-toast[data-priority=high]{border-left-color:#f59e0b}.notification-toast[data-priority=urgent]{border-left-color:#f43f5e}.notification-toast--summary{cursor:pointer;border-left-color:var(--teal)}.notification-toast--permission{border-left-color:var(--accent-light)}.notification-toast.is-leaving{animation:notification-toast-out .2s ease-in forwards}.notification-toast-icon{display:grid;width:32px;height:32px;place-items:center;border-radius:10px;background:#3b82f621;color:var(--accent-light);font-size:1rem;font-weight:800}.notification-toast>div{min-width:0}.notification-toast-priority{display:block;margin-bottom:3px}.notification-toast-priority:empty{display:none}.notification-toast p{margin:4px 0 0}.notification-toast-action{margin-top:9px;padding:6px 9px;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-size:.68rem;font-weight:800}.notification-toast-close{top:8px;right:8px;width:25px;height:25px;background:transparent}.notification-toast-close:hover{background:#ffffff0f;color:var(--text)}@keyframes notification-toast-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}}@keyframes notification-toast-out{to{opacity:0;transform:translate(12px)}}.avatar-btn{width:36px;height:36px;border-radius:50%;overflow:hidden;border:2px solid rgba(59,130,246,.3);flex-shrink:0}.avatar-btn span{display:flex;width:100%;height:100%;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:#fff;background-position:center;background-size:cover}.avatar-btn-wrapper{position:relative}.avatar-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:140px;padding:4px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);box-shadow:0 8px 24px #00000059;z-index:100}.avatar-dropdown-item{display:flex;align-items:center;width:100%;min-height:36px;padding:6px 12px;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.82rem;font-weight:600;text-align:left;transition:background .12s,color .12s}.avatar-dropdown-item:hover{background:#f43f5e1a;color:#fda4af}.avatar-dropdown-item--neutral:hover{background:#ffffff0e;color:var(--text)}.content-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 24px 32px;display:flex;flex-direction:column;gap:16px}.content-scroll::-webkit-scrollbar{width:5px}.content-scroll::-webkit-scrollbar-track{background:transparent}.content-scroll::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:99px}#panel-sheets{overflow-y:auto}.panel-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-xl);padding:20px 22px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.panel-head h3{font-size:.95rem;font-weight:700;letter-spacing:-.01em}.link-btn{font-size:.78rem;font-weight:600;color:var(--accent-light);opacity:.8;transition:opacity .15s}.link-btn:hover{opacity:1}.panel-head-actions{display:flex;align-items:center;gap:12px}.toolbar-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:7px 13px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#ffffff0a;color:var(--text-secondary);font-size:.82rem;font-weight:700;transition:background .12s,border-color .12s,color .12s}.toolbar-btn:hover{background:#ffffff12;color:var(--text)}.toolbar-btn:disabled,.toolbar-btn:disabled:hover{cursor:not-allowed;border-color:#94a3b82e;background:#94a3b814;color:#94a3b88c}.toolbar-btn.primary{border-color:#3b82f6bf;background:var(--accent);color:#fff}.toolbar-btn.primary:hover{background:#2563eb}.toolbar-btn.success{border-color:#10b98157;background:#10b9811f;color:#6ee7b7}.toolbar-btn.success:hover{background:#10b9812e}.toolbar-btn.danger{border-color:#f43f5e80;background:#f43f5e1f;color:#fda4af}.toolbar-btn.danger:hover{background:#f43f5e33}.toolbar-btn.danger-soft{border-color:var(--border-strong);background:transparent;color:var(--text-muted)}.toolbar-btn.danger-soft:hover{border-color:#f43f5e6b;color:#fda4af}.toolbar-btn--danger-ghost{border-color:#f43f5e4d;color:#f43f5e;background:none}.toolbar-btn--danger-ghost:hover{background:#f43f5e14;border-color:#f43f5e80;color:#fda4af}.modal{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:20px}.modal-overlay{position:absolute;inset:0;background:#030712b8;backdrop-filter:blur(2px)}.modal-panel{position:relative;width:min(640px,100%);max-height:88vh;overflow-y:auto;background:var(--card-bg);border:1px solid var(--border-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:24px 26px 26px;display:flex;flex-direction:column;gap:18px}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.modal-title{font-size:1.15rem;font-weight:800;letter-spacing:-.02em;color:var(--text)}.modal-subtitle{margin-top:4px;color:var(--text-secondary);font-size:.87rem}.modal-close{width:32px;height:32px;flex-shrink:0;border-radius:var(--radius-sm);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background .15s,color .15s}.modal-close:hover{background:#ffffff0f;color:var(--text)}.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}@media (max-width: 600px){.modal-panel{padding:20px}}.project-modal-panel{width:min(920px,100%);max-height:92vh;padding:28px 30px 30px}.project-form-grid{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(360px,1.28fr);gap:22px}.project-preview-pane{display:flex;flex-direction:column;gap:10px}.project-template-preview{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:#ffffff08;padding:22px 16px;min-height:220px;text-align:center}.project-template-preview-chart svg{display:block}.project-template-preview-caption{display:flex;flex-direction:column;gap:3px}.project-template-preview-caption strong{font-size:.92rem;color:var(--text)}.project-template-preview-caption small{font-size:.75rem;color:var(--text-secondary)}.project-fields-row{width:100%}.project-fields{display:flex;flex-direction:column;gap:10px}.project-field-label,.project-template-fieldset legend{color:var(--text-secondary);font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-top:10px}.project-text-input,.project-textarea{width:100%;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#ffffff0a;color:var(--text);font:inherit}.project-text-input{height:42px;padding:9px 12px}.project-textarea{min-height:122px;resize:vertical;padding:11px 12px}.project-text-input::placeholder,.project-textarea::placeholder{color:var(--text-muted)}.project-text-input:focus,.project-textarea:focus{outline:2px solid rgba(96,165,250,.42);outline-offset:1px}.project-template-fieldset{display:flex;flex-direction:column;gap:8px;min-width:0;border:none}.project-template-fieldset legend{margin-bottom:2px}.project-template-scroller{display:grid;gap:8px;max-height:360px;overflow-y:auto;padding-right:4px}.project-template-card{display:grid;grid-template-columns:18px 32px 1fr;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:#ffffff06;transition:border-color .15s,background .15s,transform .15s}.project-template-card:hover{border-color:#94a3b866;transform:translateY(-1px)}.project-template-card:has(input:checked){border-color:#60a5fa94;background:#3b82f61a}.project-template-card input{margin-top:1px;accent-color:var(--accent)}.project-template-icon{display:flex;align-items:center;justify-content:center;width:32px;height:20px;flex-shrink:0}.project-template-card strong{display:block;font-size:.88rem}.project-template-card small{display:block;margin-top:2px;color:var(--text-secondary);font-size:.75rem;line-height:1.4}@media (max-width: 600px){.project-modal-panel{padding:20px}.project-form-grid{grid-template-columns:1fr}.project-template-scroller{max-height:260px}}.notice{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:999;padding:12px 18px;border-radius:var(--radius-lg);background:var(--card-bg);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);font-size:.85rem;color:var(--text)}@media (max-width: 1000px){:root{--sidebar-w: 64px}.logo-text,.nav-item span,.user-info,.sidebar-footer .user-name,.sidebar-footer .user-role{display:none}.nav-item{justify-content:center;padding:12px}.sidebar-logo{justify-content:center;padding:20px 12px}.sidebar-user{justify-content:center;padding:10px}}@media (max-width: 768px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.mobile-user-chip{display:inline-flex}.content-scroll{padding:16px 16px 80px}.topbar{padding:0 16px}}@media (max-width: 480px){.topbar-right{gap:6px}.project-switcher-button{min-width:134px;max-width:154px;padding:8px 9px}.project-switcher-icon{display:none}.notification-toast-stack{top:68px;right:10px;width:calc(100vw - 20px)}.notification-panel{position:fixed;top:58px;right:10px;width:calc(100vw - 20px);max-height:calc(100dvh - 72px)}}
