@import"https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;0,9..144,700;1,9..144,400&family=DM+Sans:ital,wght@0,400;0,500;0,600;1,400&display=swap";.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:var(--color-bg)}.error-boundary__content{text-align:center;max-width:400px}.error-boundary__title{font-size:1.5rem;font-weight:600;color:var(--color-text);margin:0 0 .5rem}.error-boundary__message{color:var(--color-text-secondary);margin:0 0 1rem}.error-boundary__details{background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;padding:.75rem;font-size:.75rem;color:var(--color-error, #dc3545);text-align:left;overflow-x:auto;margin:0 0 1rem}.error-boundary__button{background:var(--color-primary);color:#fff;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.875rem;cursor:pointer;transition:opacity .15s}.error-boundary__button:hover{opacity:.9}:root{--color-bg: #f0f2f5;--color-surface: #ffffff;--color-text: #1a1a1a;--color-text-muted: #6b7280;--color-border: #d1d5db;--color-primary: #f59e0b;--color-primary-hover: #d97706}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg);color:var(--color-text)}#root{min-height:100vh}.home{--font-display: "Fraunces", Georgia, serif;--font-body: "DM Sans", system-ui, sans-serif;--color-cream: #faf7f2;--color-cream-dark: #f0ebe3;--color-stone: #3d3a35;--color-stone-light: #6b6660;--color-amber: #f59e0b;--color-amber-dark: #d97706;--color-amber-glow: rgba(245, 158, 11, .15);--color-slate: #334155;--color-slate-dark: #1e293b;--shadow-soft: 0 4px 20px rgba(61, 58, 53, .08);--shadow-medium: 0 8px 40px rgba(61, 58, 53, .12);--shadow-strong: 0 20px 60px rgba(61, 58, 53, .2);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 32px;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1)}.home{min-height:100vh;background:var(--color-cream);color:var(--color-stone);font-family:var(--font-body);overflow-x:hidden}.home__lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem;background:#000000e6;animation:lightboxFadeIn .2s ease}@keyframes lightboxFadeIn{0%{opacity:0}to{opacity:1}}.home__lightbox-close{position:absolute;top:1.5rem;right:1.5rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:background .2s ease}.home__lightbox-close:hover{background:#fff3}.home__lightbox-img{max-width:95%;max-height:95vh;object-fit:contain;border-radius:var(--radius-md);box-shadow:0 20px 60px #00000080;animation:lightboxZoomIn .3s var(--ease-out-expo)}@keyframes lightboxZoomIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.home__screenshot-btn{position:relative;display:block;width:100%;padding:0;background:none;border:none;cursor:pointer;overflow:hidden;border-radius:var(--radius-md)}.home__screenshot-btn img{display:block;width:100%;height:auto;transition:transform .4s var(--ease-out-expo)}.home__screenshot-overlay{position:absolute;bottom:.75rem;right:.75rem;display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#fffffff2;border-radius:50%;box-shadow:0 2px 8px #00000026;opacity:.8;transition:opacity .2s ease,transform .2s var(--ease-bounce)}.home__screenshot-btn:hover .home__screenshot-overlay{opacity:1;transform:scale(1.1)}.home__screenshot-btn:hover img{transform:scale(1.02)}.home__zoom-icon{color:var(--color-stone)}.home:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.03;pointer-events:none;z-index:1000}.home__nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:#faf7f2d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(61,58,53,.06)}.home__nav-brand{display:flex;align-items:center;gap:.75rem}.home__nav-logo{width:36px;height:36px;border-radius:8px}.home__nav-name{font-family:var(--font-display);font-weight:600;font-size:1.25rem;color:var(--color-stone)}.home__nav-links{display:flex;align-items:center;gap:2rem}.home__nav-link{font-size:.9375rem;font-weight:500;color:var(--color-stone-light);text-decoration:none;transition:color .2s ease}.home__nav-link:hover{color:var(--color-stone)}.home__nav-link--cta{padding:.625rem 1.25rem;background:var(--color-stone);color:var(--color-cream)!important;border-radius:var(--radius-sm);transition:transform .2s var(--ease-bounce),background .2s ease}.home__nav-link--cta:hover{background:var(--color-slate-dark);transform:translateY(-2px)}.home__hero{position:relative;display:flex;align-items:center;padding:6rem 4rem 4rem;overflow:hidden}.home__hero-content{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:center;max-width:1200px;margin:0 auto;width:100%}.home__hero-left{animation:slideInLeft 1s var(--ease-out-expo) both}@keyframes slideInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}.home__hero-screenshot{display:block;width:100%;height:auto;transition:transform .4s var(--ease-out-expo)}.home__hero-screenshot:hover{transform:scale(1.02)}.home__hero-right{animation:slideInRight 1s var(--ease-out-expo) .2s both}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.home__hero-title{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4rem);font-weight:700;line-height:1.1;margin:0 0 1.5rem;color:var(--color-stone)}.home__hero-title--accent{color:var(--color-amber-dark);font-style:italic}.home__hero-subtitle{font-size:1.25rem;line-height:1.6;color:var(--color-stone-light);margin:0 0 2rem;max-width:480px}.home__hero-actions{display:flex;gap:1rem;margin-bottom:2rem}.home__hero-tagline{font-family:var(--font-display);font-style:italic;font-size:1rem;color:var(--color-stone-light);margin:0;opacity:0;animation:fadeIn .6s ease 1s forwards}@keyframes fadeIn{to{opacity:1}}.home__btn{display:inline-flex;align-items:center;justify-content:center;padding:1rem 2rem;font-family:var(--font-body);font-size:1rem;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;text-decoration:none;transition:all .25s var(--ease-bounce)}.home__btn--primary{background:var(--color-amber);color:var(--color-stone);box-shadow:0 4px 14px var(--color-amber-glow)}.home__btn--primary:hover{background:var(--color-amber-dark);transform:translateY(-3px);box-shadow:0 8px 24px var(--color-amber-glow)}.home__btn--secondary{background:transparent;color:var(--color-stone);border:2px solid var(--color-stone)}.home__btn--secondary:hover{background:var(--color-stone);color:var(--color-cream);transform:translateY(-3px)}.home__btn--large{padding:1.25rem 2.5rem;font-size:1.125rem}.home__features{padding:4rem 4rem 5rem;background:var(--color-cream-dark);position:relative}.home__features:before{content:"";position:absolute;top:0;left:0;right:0;height:80px;background:linear-gradient(to bottom,var(--color-cream),var(--color-cream-dark))}.home__features-header{text-align:center;max-width:700px;margin:0 auto 3rem;position:relative}.home__section-title{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:700;margin:0 0 1rem;color:var(--color-stone)}.home__section-subtitle{font-size:1.125rem;line-height:1.7;color:var(--color-stone-light);margin:0}.home__features-grid{display:flex;flex-direction:column;gap:3rem;max-width:1100px;margin:0 auto}.home__feature{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.home__feature--reverse{direction:rtl}.home__feature--reverse>*{direction:ltr}.home__feature-visual{position:relative}.home__feature-visual img{display:block;width:100%;height:auto;transition:transform .4s var(--ease-out-expo)}.home__feature-visual:hover img{transform:scale(1.02)}.home__feature-visual--constrained{max-width:280px}.home__feature-visual--constrained .home__screenshot-btn img{border-radius:var(--radius-md);box-shadow:var(--shadow-medium)}.home__feature-content{padding:1rem 0}.home__feature-title{font-family:var(--font-display);font-size:1.75rem;font-weight:700;margin:0 0 .75rem;color:var(--color-stone)}.home__feature-desc{font-size:1.0625rem;line-height:1.6;color:var(--color-stone-light);margin:0}.home__faq{padding:4rem 4rem 5rem;background:var(--color-cream)}.home__faq .home__section-title{text-align:center;margin-bottom:2.5rem}.home__faq-list{max-width:700px;margin:0 auto;display:flex;flex-direction:column;gap:.75rem}.home__faq-item{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-soft);overflow:hidden;transition:box-shadow .3s ease}.home__faq-item:hover{box-shadow:var(--shadow-medium)}.home__faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem 2rem;background:none;border:none;font-family:var(--font-body);font-size:1.125rem;font-weight:500;color:var(--color-stone);text-align:left;cursor:pointer;transition:background .2s ease}.home__faq-question:hover{background:#f59e0b0d}.home__faq-icon{flex-shrink:0;color:var(--color-stone-light);transition:transform .3s var(--ease-out-expo)}.home__faq-item--open .home__faq-icon{transform:rotate(180deg)}.home__faq-answer{max-height:0;overflow:hidden;transition:max-height .4s var(--ease-out-expo)}.home__faq-item--open .home__faq-answer{max-height:300px}.home__faq-answer p{padding:0 2rem 1.5rem;margin:0;font-size:1rem;line-height:1.7;color:var(--color-stone-light)}.home__cta{padding:5rem 4rem;background:var(--color-slate-dark);position:relative;overflow:hidden}.home__cta:before{content:"";position:absolute;top:-50%;right:-20%;width:600px;height:600px;background:radial-gradient(circle,var(--color-amber-glow) 0%,transparent 70%);pointer-events:none}.home__cta-content{position:relative;text-align:center;max-width:600px;margin:0 auto}.home__cta-title{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:700;margin:0 0 1rem;color:var(--color-cream)}.home__cta-subtitle{font-size:1.25rem;line-height:1.6;color:#faf7f2b3;margin:0 0 2.5rem}.home__cta-actions{display:flex;justify-content:center}.home__footer{padding:3rem 4rem;background:var(--color-slate-dark);border-top:1px solid rgba(250,247,242,.1)}.home__footer-content{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto}.home__footer-brand{display:flex;align-items:center;gap:.75rem;font-family:var(--font-display);font-weight:600;font-size:1.125rem;color:var(--color-cream)}.home__footer-logo{width:32px;height:32px;border-radius:6px}.home__footer-tagline{font-family:var(--font-display);font-style:italic;font-size:.9375rem;color:#faf7f280;margin:0}.home__footer-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}.home__footer-location{font-family:var(--font-display);font-size:.875rem;letter-spacing:.01em;color:#faf7f280;margin:0}@media(max-width:1024px){.home__hero-content{grid-template-columns:1fr;gap:2.5rem;text-align:center}.home__hero-left{order:2}.home__hero-right{order:1}.home__hero-subtitle{margin-left:auto;margin-right:auto}.home__hero-actions{justify-content:center}.home__hero-screenshot{max-width:600px;margin:0 auto}.home__feature{grid-template-columns:1fr;gap:1.5rem}.home__feature--reverse{direction:ltr}.home__feature-content{text-align:center;padding:0}}@media(max-width:768px){.home__nav{padding:1rem}.home__nav-links{gap:1rem}.home__nav-link:not(.home__nav-link--cta){display:none}.home__hero{padding:5rem 1.5rem 2rem}.home__features,.home__faq,.home__cta{padding:3rem 1.5rem}.home__btn{padding:.875rem 1.5rem;font-size:.9375rem}.home__faq-question{padding:1.25rem 1.5rem;font-size:1rem}.home__faq-answer p{padding:0 1.5rem 1.25rem}.home__footer{padding:2rem 1.5rem}.home__footer-content{flex-direction:column;gap:1rem;text-align:center}}.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg);background-size:cover;background-position:center;padding:1rem;position:relative}.auth__attribution{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);max-width:min(90vw,860px);text-align:center;font-size:.75rem;color:#fff;background:#000000b3;padding:.5rem .75rem;border-radius:6px}.auth__attribution .attribution{margin:0}.auth__attribution a{color:#fff}.auth__attribution img{vertical-align:text-bottom}.auth__container{width:100%;max-width:400px;background-color:#ffffff80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;padding:2.5rem 2rem;box-shadow:0 4px 6px #0000001a,0 1px 3px #00000014;text-align:center}.auth__logo{width:120px;height:120px;margin-bottom:1rem}.auth__title{font-size:1.75rem;font-weight:700;margin:0 0 .25rem;color:var(--color-text)}.auth__subtitle{font-size:1rem;font-weight:400;margin:0 0 1.5rem;color:var(--color-text-muted)}.auth__form{display:flex;flex-direction:column;gap:1rem;text-align:left}.auth__field{display:flex;flex-direction:column;gap:.375rem}.auth__label{font-size:.875rem;font-weight:500;color:var(--color-text)}.auth__input{padding:.75rem 1rem;font-size:1rem;border:2px solid var(--color-border);border-radius:8px;background-color:var(--color-surface);color:var(--color-text);transition:border-color .15s ease}.auth__input:focus{outline:none;border-color:var(--color-primary)}.auth__input::placeholder{color:var(--color-text-muted)}.auth__button{padding:.875rem 1rem;font-size:1rem;font-weight:600;color:#1a1a1a;background-color:var(--color-primary);border:none;border-radius:8px;cursor:pointer;margin-top:.5rem;transition:background-color .15s ease}.auth__button:hover{background-color:var(--color-primary-hover)}.auth__button:disabled{opacity:.6;cursor:not-allowed}.auth__error{padding:.75rem 1rem;font-size:.875rem;color:#dc2626;background-color:#fef2f2;border-radius:8px;border:1px solid #fecaca}.auth__message{padding:.75rem 1rem;font-size:.875rem;color:#059669;background-color:#ecfdf5;border-radius:8px;border:1px solid #a7f3d0}.auth__toggle{display:block;width:100%;margin-top:1.5rem;padding:.5rem;font-size:.875rem;color:var(--color-text-muted);background:none;border:none;cursor:pointer;transition:color .15s ease}.auth__toggle:hover{color:var(--color-primary)}.card{background:#fff;border-radius:4px;padding:8px 10px;margin-bottom:8px;box-shadow:0 1px 2px #0000001a;cursor:pointer;transition:box-shadow .2s,transform .2s}.card:hover{box-shadow:0 2px 4px #00000026}.card--dragging{box-shadow:0 4px 12px #0003;transform:rotate(2deg)}.card__title{font-size:14px;color:#333}.card__due-date{font-size:11px;color:#666;margin-top:6px}.column{background:#f4f5f7;border-radius:6px;display:flex;flex-direction:column;max-height:100%;height:100%}.column__header{padding:10px 12px;display:flex;align-items:center;gap:8px;cursor:grab;border-radius:6px 6px 0 0;transition:background-color .15s}.column__header:hover{background:#ebecf0}.column__title{flex:1;font-size:12px;font-weight:600;text-transform:uppercase;color:#5e6c84;margin:0;letter-spacing:.5px;cursor:pointer;padding:2px 4px;border-radius:3px;transition:background-color .15s}.column__title:hover{background:#dfe1e6}.column__title-input{flex:1;font-size:12px;font-weight:600;text-transform:uppercase;color:#5e6c84;letter-spacing:.5px;padding:2px 4px;border:1px solid #0079bf;border-radius:3px;background:#fff;outline:none}.column__count{font-size:12px;color:#5e6c84;background:#dfe1e6;padding:2px 8px;border-radius:10px}.column__delete-btn{background:none;border:none;color:#5e6c84;font-size:14px;cursor:pointer;padding:2px 6px;border-radius:3px;opacity:0;transition:opacity .15s,background-color .15s,color .15s}.column:hover .column__delete-btn{opacity:1}.column__delete-btn:hover{background:#ffebe6;color:#cf1322}.column__cards{padding:0 8px 4px;flex:1;overflow-y:auto;min-height:60px;transition:background-color .2s}.column__cards--drag-over{background:#e3f2fd}.column__footer{padding:0 8px 8px}.column__add-btn{width:100%;padding:8px 12px;background:none;border:none;border-radius:4px;color:#5e6c84;font-size:13px;cursor:pointer;text-align:left;transition:background-color .15s,color .15s}.column__add-btn:hover{background:#dfe1e6;color:#172b4d}.column__add-form{background:#fff;border-radius:4px;padding:8px;box-shadow:0 1px 2px #0000001a}.column__add-input{width:100%;padding:8px;border:1px solid #dfe1e6;border-radius:4px;font-size:14px;margin-bottom:8px}.column__add-input:focus{outline:none;border-color:#0079bf;box-shadow:0 0 0 2px #0079bf33}.column__add-actions{display:flex;gap:8px}.column__add-submit{padding:6px 12px;background:#0079bf;color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s}.column__add-submit:hover:not(:disabled){background:#026aa7}.column__add-submit:disabled{background:#a0c3d9;cursor:not-allowed}.column__add-cancel{padding:6px 10px;background:none;border:none;color:#5e6c84;font-size:16px;cursor:pointer;border-radius:4px;transition:background-color .15s}.column__add-cancel:hover{background:#dfe1e6}.project{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px;overflow:hidden}.project__header{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#fafbfc;border-bottom:1px solid #e1e4e8;cursor:pointer;transition:background-color .15s}.project__header:hover{background:#e1e4e8}.project__collapse-icon{font-size:12px;color:#6a737d;padding:4px;transition:color .15s}.project__header:hover .project__collapse-icon{color:#24292e}.project__title{font-size:16px;font-weight:600;color:#24292e;margin:0;flex:1}.project__delete-btn{background:none;border:none;color:#6a737d;font-size:14px;cursor:pointer;padding:4px 8px;border-radius:4px;opacity:0;transition:opacity .15s,background-color .15s,color .15s}.project:hover .project__delete-btn{opacity:1}.project__delete-btn:hover{background:#ffebe6;color:#cf1322}.project__column-count{font-size:12px;color:#6a737d}.project__columns{display:flex;gap:12px;padding:16px;overflow-x:auto;min-height:200px}.project__columns--drag-over{background:#e3f2fd}.project__column-wrapper{flex:0 0 260px}.project__column-wrapper--dragging{opacity:.9}.project__column-wrapper--dragging .column{box-shadow:0 4px 12px #00000026;transform:rotate(2deg)}.project--collapsed .project__header{border-bottom:none}.project__add-column{flex:0 0 auto;display:flex;flex-direction:column}.project__add-column-btn{width:40px;height:40px;padding:0;background:#f4f5f7;border:2px dashed #dfe1e6;border-radius:6px;color:#5e6c84;font-size:20px;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s;display:flex;align-items:center;justify-content:center}.project__add-column-btn:hover{background:#ebecf0;border-color:#0079bf;color:#0079bf}.project__add-column-form{background:#f4f5f7;border-radius:6px;padding:12px}.project__add-column-input{width:100%;padding:8px 10px;border:1px solid #dfe1e6;border-radius:4px;font-size:14px;margin-bottom:8px}.project__add-column-input:focus{outline:none;border-color:#0079bf;box-shadow:0 0 0 2px #0079bf33}.project__add-column-actions{display:flex;gap:8px}.project__add-column-submit{padding:6px 12px;background:#0079bf;color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s}.project__add-column-submit:hover:not(:disabled){background:#026aa7}.project__add-column-submit:disabled{background:#a0c3d9;cursor:not-allowed}.project__add-column-cancel{padding:6px 10px;background:none;border:none;color:#5e6c84;font-size:16px;cursor:pointer;border-radius:4px;transition:background-color .15s}.project__add-column-cancel:hover{background:#dfe1e6}.kanban-board{padding:20px;min-height:100vh;background:#f0f2f5}.kanban-board__group{margin-bottom:32px}.kanban-board__group--collapsed{margin-bottom:16px}.kanban-board__group-header{display:flex;align-items:center;gap:12px;padding:8px 12px;margin-bottom:8px;border-bottom:2px solid #d1d5da;cursor:pointer;border-radius:6px 6px 0 0;transition:background-color .15s}.kanban-board__group-header:hover{background:#e1e4e8}.kanban-board__group--collapsed .kanban-board__group-header{border-bottom:none;border-radius:6px;background:#e1e4e8}.kanban-board__group--collapsed .kanban-board__group-header:hover{background:#d1d5da}.kanban-board__group-collapse-btn{background:none;border:none;font-size:12px;color:#6a737d;padding:4px;cursor:pointer;transition:color .15s}.kanban-board__group-header:hover .kanban-board__group-collapse-btn{color:#24292e}.kanban-board__group-title{font-size:18px;font-weight:600;color:#24292e;margin:0;flex:1}.kanban-board__group-count{font-size:13px;color:#6a737d}.sidebar{width:240px;background:#24292e;color:#e1e4e8;display:flex;flex-direction:column;flex-shrink:0;align-self:stretch;transition:width .2s ease}.sidebar--collapsed{width:60px}.sidebar__brand{display:flex;align-items:center;gap:10px;padding:16px;border-bottom:1px solid #444d56}.sidebar__brand--collapsed{flex-direction:column;gap:12px;padding:12px 8px}.sidebar__logo{width:32px;height:32px;border-radius:6px}.sidebar__brand-name{font-size:16px;font-weight:600;color:#e1e4e8;flex:1}.sidebar__collapse-btn{background:none;border:none;color:#959da5;font-size:10px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .15s,color .15s}.sidebar__collapse-btn:hover{background:#2f363d;color:#e1e4e8}.sidebar__header{padding:16px;border-bottom:1px solid #444d56;display:flex;align-items:center;justify-content:space-between}.sidebar__title-btn{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#959da5;background:none;border:none;cursor:pointer;padding:4px 8px;margin:-4px -8px;border-radius:4px;transition:background-color .15s,color .15s}.sidebar__title-btn:hover{background:#2f363d;color:#e1e4e8}.sidebar__add-group-btn{background:none;border:none;color:#959da5;font-size:18px;cursor:pointer;padding:2px 8px;border-radius:4px;transition:background-color .15s,color .15s}.sidebar__add-group-btn:hover{background:#2f363d;color:#e1e4e8}.sidebar__add-group-form{padding:12px 16px;border-bottom:1px solid #444d56}.sidebar__add-group-input{width:100%;padding:8px 10px;border:1px solid #444d56;border-radius:4px;background:#2f363d;color:#e1e4e8;font-size:13px;margin-bottom:8px}.sidebar__add-group-input:focus{outline:none;border-color:#58a6ff}.sidebar__add-group-actions{display:flex;gap:8px}.sidebar__add-group-submit{padding:6px 12px;background:#238636;color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:background-color .15s}.sidebar__add-group-submit:hover:not(:disabled){background:#2ea043}.sidebar__add-group-submit:disabled{background:#1e4620;cursor:not-allowed}.sidebar__add-group-cancel{padding:6px 10px;background:none;border:none;color:#959da5;font-size:14px;cursor:pointer;border-radius:4px;transition:background-color .15s}.sidebar__add-group-cancel:hover{background:#2f363d}.sidebar__nav{flex:1;min-height:0;overflow-y:auto;padding:8px 0}.sidebar__group{margin-bottom:4px;transition:background-color .15s}.sidebar__group--dragging{background:#2f363d;border-radius:4px}.sidebar__group-header{display:flex;align-items:center;gap:8px;padding:8px 16px;color:#e1e4e8;font-size:13px;font-weight:600;cursor:grab;transition:background-color .15s}.sidebar__group-header:hover{background:#2f363d}.sidebar__chevron-btn{background:none;border:none;font-size:10px;width:16px;color:#959da5;cursor:pointer;padding:2px}.sidebar__chevron-btn:hover{color:#e1e4e8}.sidebar__group-name{flex:1;cursor:pointer;padding:2px 4px;border-radius:3px;transition:background-color .15s}.sidebar__group-name:hover{background:#444d56}.sidebar__group-input{flex:1;padding:2px 4px;border:1px solid #58a6ff;border-radius:3px;background:#2f363d;color:#e1e4e8;font-size:13px;font-weight:600;outline:none}.sidebar__group-count{font-size:11px;color:#959da5;background:#444d56;padding:2px 6px;border-radius:10px}.sidebar__group-edit-btn,.sidebar__group-delete-btn{background:none;border:none;color:#959da5;font-size:12px;cursor:pointer;padding:2px 6px;border-radius:3px;opacity:0;transition:opacity .15s,background-color .15s,color .15s}.sidebar__group-header:hover .sidebar__group-edit-btn,.sidebar__group-header:hover .sidebar__group-delete-btn{opacity:1}.sidebar__group-edit-btn:hover{background:#58a6ff33;color:#58a6ff}.sidebar__group-delete-btn:hover{background:#f8514933;color:#f85149}.sidebar__projects{list-style:none;margin:0;padding:4px 0;min-height:8px;transition:background-color .15s}.sidebar__projects--drag-over{background:#58a6ff1a}.sidebar__project{display:flex;align-items:center;width:100%;padding:6px 16px 6px 40px;background:none;border:none;color:#b1bac4;font-size:13px;cursor:grab;text-align:left;transition:background-color .15s,color .15s}.sidebar__project:hover{background:#2f363d;color:#e1e4e8}.sidebar__project--dragging{background:#58a6ff;color:#fff;border-radius:4px}.sidebar__project-name{flex:1;cursor:pointer}.sidebar__project-input{flex:1;padding:2px 4px;border:1px solid #58a6ff;border-radius:3px;background:#2f363d;color:#e1e4e8;font-size:13px;outline:none}.sidebar__project-edit-btn,.sidebar__project-delete-btn{background:none;border:none;color:#959da5;font-size:12px;cursor:pointer;padding:2px 6px;border-radius:3px;opacity:0;transition:opacity .15s,background-color .15s,color .15s}.sidebar__project:hover .sidebar__project-edit-btn,.sidebar__project:hover .sidebar__project-delete-btn{opacity:1}.sidebar__project-edit-btn:hover{background:#58a6ff33;color:#58a6ff}.sidebar__project-delete-btn:hover{background:#f8514933;color:#f85149}.sidebar__add-project-btn{padding:6px 16px 6px 40px;color:#6a737d;font-size:13px;cursor:pointer;transition:background-color .15s,color .15s}.sidebar__add-project-btn:hover{background:#2f363d;color:#959da5}.sidebar__add-project-form{padding:8px 16px 8px 36px}.sidebar__add-project-input{width:100%;padding:6px 8px;border:1px solid #444d56;border-radius:4px;background:#2f363d;color:#e1e4e8;font-size:12px;margin-bottom:6px}.sidebar__add-project-input:focus{outline:none;border-color:#58a6ff}.sidebar__add-project-actions{display:flex;gap:6px}.sidebar__add-project-submit{padding:4px 10px;background:#238636;color:#fff;border:none;border-radius:4px;font-size:11px;font-weight:500;cursor:pointer;transition:background-color .15s}.sidebar__add-project-submit:hover:not(:disabled){background:#2ea043}.sidebar__add-project-submit:disabled{background:#1e4620;cursor:not-allowed}.sidebar__add-project-cancel{padding:4px 8px;background:none;border:none;color:#959da5;font-size:12px;cursor:pointer;border-radius:4px;transition:background-color .15s}.sidebar__add-project-cancel:hover{background:#2f363d}.sidebar__footer{padding:16px;border-top:1px solid #444d56;margin-top:auto;flex-shrink:0}.sidebar__footer--collapsed{padding:12px 8px;display:flex;justify-content:center}.sidebar__sign-out{width:100%;padding:8px 12px;font-size:13px;background:transparent;color:#959da5;border:1px solid #444d56;border-radius:4px;cursor:pointer;transition:background-color .15s,color .15s}.sidebar__sign-out:hover{background:#2f363d;color:#e1e4e8}.sidebar__sign-out--collapsed{width:auto;padding:6px 10px;font-size:14px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:8px;width:100%;max-width:500px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 20px #0003}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e1e4e8}.modal__title{font-size:18px;font-weight:600;margin:0;color:#24292e}.modal__close{background:none;border:none;font-size:20px;color:#6a737d;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .15s}.modal__close:hover{background:#f1f3f5}.modal__body{padding:20px;overflow-y:auto}.modal__field{margin-bottom:16px}.modal__field:last-child{margin-bottom:0}.modal__label{display:block;font-size:13px;font-weight:600;color:#5e6c84;margin-bottom:6px}.modal__input{width:100%;padding:10px 12px;border:1px solid #dfe1e6;border-radius:4px;font-size:14px;transition:border-color .15s,box-shadow .15s}.modal__input:focus{outline:none;border-color:#0079bf;box-shadow:0 0 0 2px #0079bf33}.modal__textarea{width:100%;padding:10px 12px;border:1px solid #dfe1e6;border-radius:4px;font-size:14px;font-family:inherit;resize:vertical;transition:border-color .15s,box-shadow .15s}.modal__textarea:focus{outline:none;border-color:#0079bf;box-shadow:0 0 0 2px #0079bf33}.modal__footer{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-top:1px solid #e1e4e8;background:#fafbfc}.modal__footer-right{display:flex;gap:8px}.modal__btn{padding:8px 16px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s}.modal__btn--save{background:#0079bf;color:#fff;border:none}.modal__btn--save:hover:not(:disabled){background:#026aa7}.modal__btn--save:disabled{background:#a0c3d9;cursor:not-allowed}.modal__btn--cancel{background:#fff;color:#5e6c84;border:1px solid #dfe1e6}.modal__btn--cancel:hover{background:#f4f5f7}.modal__btn--delete{background:#fff;color:#cf1322;border:1px solid #ffa39e}.modal__btn--delete:hover{background:#fff1f0}.empty-state{display:flex;align-items:center;justify-content:center;min-height:100%;padding:2rem}.empty-state__content{text-align:center;max-width:400px}.empty-state__title{font-size:1.5rem;font-weight:600;margin:0 0 1rem;color:var(--color-text)}.empty-state__description{font-size:1rem;color:var(--color-text-muted);margin:0 0 1.5rem;line-height:1.5}.empty-state__button{padding:.75rem 1.5rem;font-size:1rem;font-weight:500;color:#fff;background-color:var(--color-primary);border:none;border-radius:4px;cursor:pointer}.empty-state__button:hover{background-color:var(--color-primary-hover)}.not-found{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--color-bg);padding:2rem;text-align:center}.not-found__logo{width:100px;height:100px;margin-bottom:1.5rem}.not-found__title{font-size:5rem;font-weight:700;color:var(--color-text);margin:0 0 .5rem;line-height:1}.not-found__message{font-size:1.25rem;color:var(--color-text-muted);margin:0 0 2rem}.not-found__link{display:inline-block;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;color:#1a1a1a;background-color:var(--color-primary);border-radius:8px;text-decoration:none;transition:background-color .15s ease}.not-found__link:hover{background-color:var(--color-primary-hover)}.demo-banner{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 20px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#78350f;font-size:14px;font-weight:500;box-shadow:0 2px 4px #0000001a}.demo-banner__message{display:flex;align-items:center;gap:8px}.demo-banner__cta{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;background:#78350f;color:#fef3c7;font-size:13px;font-weight:600;text-decoration:none;border-radius:6px;transition:background-color .15s,transform .15s}.demo-banner__cta:hover{background:#92400e;transform:translateY(-1px)}.demo-page{height:100vh;padding-top:44px;display:flex;flex-direction:column;overflow:hidden}.demo-page__body{flex:1;display:flex;overflow:hidden;min-height:0}.demo-page__main{flex:1;overflow-y:auto;display:flex;flex-direction:column}.demo-page__breadcrumb{display:flex;align-items:center;gap:4px;padding:12px 20px;font-size:14px;color:#6b7280;border-bottom:1px solid #e5e7eb;background:#fafafa;flex-shrink:0}.demo-page__breadcrumb-link{background:none;border:none;color:#3b82f6;font-size:14px;cursor:pointer;padding:0}.demo-page__breadcrumb-link:hover{text-decoration:underline}.demo-page__breadcrumb-current{color:#374151;font-weight:500}.app{height:100vh;display:flex;flex-direction:column;overflow:hidden}.app__header{background:transparent;padding:8px 20px;display:flex;justify-content:flex-end;align-items:center;flex-shrink:0}.app__header-spacer{flex:1}.app__sign-out{padding:6px 12px;font-size:13px;background:transparent;color:#6b7280;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;transition:background-color .15s,color .15s}.app__sign-out:hover{background:#f3f4f6;color:#374151}.app__loading,.app__error{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:1rem;color:var(--color-text-muted, #666)}.app__body{flex:1;display:flex;overflow:hidden;min-height:0}.app__main{flex:1;overflow-y:auto;display:flex;flex-direction:column}.app__main--empty{display:flex;align-items:center;justify-content:center}.app__breadcrumb{display:flex;align-items:center;gap:4px;padding:12px 20px;font-size:14px;color:#6b7280;border-bottom:1px solid #e5e7eb;background:#fafafa;flex-shrink:0}.app__breadcrumb-link{background:none;border:none;color:#3b82f6;font-size:14px;cursor:pointer;padding:0}.app__breadcrumb-link:hover{text-decoration:underline}.app__breadcrumb-current{color:#374151;font-weight:500}
