:root{--color-bg:#f7f5f2;--color-surface:#fff;--color-text:#1f2328;--color-text-muted:#6b7280;--color-border:#e5e7eb;--color-accent:#6d5dfc;--color-accent-hover:#5b4de0;--color-danger:#e53e3e;--color-danger-hover:#c53030;--color-danger-bg:#fdecea;--color-login-gradient:#eef0ff;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 16px #0000001a;--shadow-lg:0 12px 32px #00000024;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--font-heading:"Poppins", system-ui, sans-serif;--font-body:"Nunito", system-ui, sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:#17181c;--color-surface:#21232a;--color-text:#e5e7eb;--color-text-muted:#9399a8;--color-border:#33363f;--color-accent:#8b7dff;--color-accent-hover:#a394ff;--color-danger:#f56565;--color-danger-hover:#fc8181;--color-danger-bg:#3a2323;--color-login-gradient:#23243a;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 16px #00000073;--shadow-lg:0 12px 32px #00000080}}:root[data-theme=dark]{--color-bg:#17181c;--color-surface:#21232a;--color-text:#e5e7eb;--color-text-muted:#9399a8;--color-border:#33363f;--color-accent:#8b7dff;--color-accent-hover:#a394ff;--color-danger:#f56565;--color-danger-hover:#fc8181;--color-danger-bg:#3a2323;--color-login-gradient:#23243a;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 16px #00000073;--shadow-lg:0 12px 32px #00000080}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);margin:0;transition:background .15s,color .15s}button,input,select,textarea{font-family:inherit}.dialog-overlay{z-index:200;padding:var(--space-4);background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-5);gap:var(--space-3);flex-direction:column;width:100%;max-width:320px;display:flex}.dialog h2{font-family:var(--font-heading);color:var(--color-text);margin:0;font-size:1.15rem}.dialog__message{color:var(--color-text-muted);margin:0;font-size:.9rem;line-height:1.4}.dialog__actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2);display:flex}.dialog__cancel{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);cursor:pointer;color:var(--color-text);background:0 0}.dialog__submit{background:var(--color-accent);color:#fff;border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);cursor:pointer;border:none;font-weight:600}.dialog__submit:hover{background:var(--color-accent-hover)}.dialog__submit--danger{background:var(--color-danger)}.dialog__submit--danger:hover{background:var(--color-danger-hover)}.login-page{background:linear-gradient(135deg, var(--color-login-gradient) 0%, var(--color-bg) 60%);min-height:100vh;padding:var(--space-4);justify-content:center;align-items:center;display:flex}.login-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-6);gap:var(--space-3);flex-direction:column;width:100%;max-width:360px;display:flex}.login-card__brand{font-size:1.25rem}.login-card h1{font-family:var(--font-heading);color:var(--color-text);margin:0;font-size:1.5rem}.login-card__subtitle{margin:0 0 var(--space-2);color:var(--color-text-muted);font-size:.9rem}.login-card__field{gap:var(--space-1);color:var(--color-text-muted);flex-direction:column;font-size:.85rem;display:flex}.login-card__field input{padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);color:var(--color-text);font-size:1rem}.login-card__field input:focus{outline:2px solid var(--color-accent);outline-offset:1px}.login-card__error{background:var(--color-danger-bg);color:var(--color-danger);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:.85rem}.login-card__submit{background:var(--color-accent);color:#fff;border-radius:var(--radius-md);padding:var(--space-3);cursor:pointer;margin-top:var(--space-2);border:none;font-size:1rem;font-weight:600;transition:background .15s}.login-card__submit:hover:not(:disabled){background:var(--color-accent-hover)}.login-card__submit:disabled{opacity:.7;cursor:not-allowed}.topbar{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-5);background:var(--color-surface);box-shadow:var(--shadow-sm);z-index:10;display:flex;position:sticky;top:0}.topbar__brand{font-family:var(--font-heading);color:var(--color-text);font-size:1.25rem;font-weight:700}.topbar__user{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.topbar__icon-btn{border:1px solid var(--color-border);cursor:pointer;width:36px;height:36px;color:var(--color-text);background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:1.05rem;transition:background .15s;display:flex}.topbar__icon-btn:hover{background:var(--color-bg)}.topbar__profile{position:relative}.topbar__profile-popover{margin-top:var(--space-2);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-3) var(--space-4);z-index:20;min-width:200px;position:absolute;top:100%;right:0}.topbar__profile-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-1);font-size:.7rem}.topbar__profile-email{color:var(--color-text);word-break:break-all;font-size:.9rem}@media (width<=768px){.topbar{padding:var(--space-2) var(--space-3)}}.footbar{padding:var(--space-3) var(--space-5);text-align:center;color:var(--color-text-muted);font-size:.8rem}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-shell__content{flex-direction:column;flex:1;display:flex}.app-shell__fab{right:var(--space-5);bottom:var(--space-5);background:var(--color-accent);color:#fff;cursor:pointer;width:56px;height:56px;box-shadow:var(--shadow-lg);z-index:1000;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.75rem;line-height:1;transition:transform .15s,background .15s;display:flex;position:fixed}.app-shell__fab:hover{background:var(--color-accent-hover);transform:scale(1.06)}.board-status{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-6);color:var(--color-text-muted);flex-direction:column;flex:1;display:flex}.board-status__cta{background:var(--color-accent);color:#fff;border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);cursor:pointer;border:none;font-weight:600}.board-canvas{min-height:calc(100vh - 140px);padding:var(--space-4);flex:1;position:relative}.board-stack{gap:var(--space-4);padding:var(--space-4);flex-direction:column;flex:1;display:flex}.board-stack__item{min-height:220px}.list-card{border-radius:var(--radius-lg);height:100%;box-shadow:var(--shadow-md);padding:var(--space-3);color:#2b2b2b;flex-direction:column;display:flex;overflow:hidden}.list-card__header{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex;position:relative}.list-card__drag-handle{cursor:grab;opacity:.5;-webkit-user-select:none;user-select:none;padding:0 2px;font-size:1rem}.list-card__drag-handle:active{cursor:grabbing}.list-card__title{font-family:var(--font-heading);min-width:0;padding:var(--space-1);border-radius:var(--radius-sm);color:inherit;background:0 0;border:none;flex:1;font-size:1rem;font-weight:600}.list-card__title:focus{background:#fff9;outline:none}.list-card__badge{white-space:nowrap;background:#fff9;border-radius:999px;padding:2px 8px;font-size:.7rem}.list-card__actions{gap:var(--space-1);display:flex}.list-card__actions button{cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:2px 4px;font-size:1rem;line-height:1}.list-card__actions button:hover{background:#fff9}.list-card__items{flex:1;margin:0;padding:0;list-style:none;overflow-y:auto}.list-card__add{gap:var(--space-2);margin-top:var(--space-2);display:flex}.list-card__add input{border-radius:var(--radius-sm);min-width:0;padding:var(--space-2);color:#2b2b2b;background:#fff9;border:none;flex:1;font-family:inherit}.list-card__add button{border-radius:var(--radius-sm);padding:0 var(--space-3);cursor:pointer;background:#fffc;border:none;font-weight:700}.list-item{align-items:center;gap:var(--space-2);padding:var(--space-1) 0;display:flex}.list-item__label{align-items:center;gap:var(--space-2);cursor:pointer;flex:1;min-width:0;display:flex}.list-item__text{word-break:break-word}.list-item__text--done{opacity:.55;text-decoration:line-through}.list-item__delete{color:inherit;cursor:pointer;padding:0 var(--space-1);opacity:0;background:0 0;border:none;font-size:1.1rem;line-height:1;transition:opacity .1s}.list-item:hover .list-item__delete,.list-item:focus-within .list-item__delete{opacity:.6}.list-item__delete:hover{opacity:1!important}.style-popover{z-index:20;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-3);gap:var(--space-3);width:200px;color:var(--color-text);cursor:default;flex-direction:column;font-size:.9rem;display:flex;position:absolute;top:100%;right:0}.style-popover__label{color:var(--color-text-muted);margin-bottom:var(--space-1);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem}.style-popover__swatches{gap:var(--space-2);flex-wrap:wrap;display:flex}.style-popover__swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:22px;height:22px}.style-popover__swatch--active{border-color:var(--color-text)}.style-popover__size-stepper{align-items:center;gap:var(--space-2);display:flex}.style-popover__size-stepper button{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);cursor:pointer;width:24px;height:24px}.style-popover select{width:100%;padding:var(--space-1);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.dialog__field{gap:var(--space-1);color:var(--color-text-muted);flex-direction:column;font-size:.85rem;display:flex}.dialog__field input,.dialog__field select{padding:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-border);color:var(--color-text);font-family:inherit;font-size:1rem}
