:root{--bg-color:#faf9f7;--surface-color:#fff;--text-main:#000;--text-muted:#888;--border-color:#e0e0e0;--border-focus:#000;--accent-danger:#ff3b30;--accent-danger-bg:#ff3b301a;--accent-success:#34c759;background-color:var(--bg-color);color:var(--text-main);box-sizing:border-box;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,monospace}*,:before,:after{box-sizing:inherit}body{-webkit-font-smoothing:antialiased;margin:0;padding:0}.container{max-width:1200px;margin:0 auto;padding:2rem}.auth-container{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-card{background:var(--surface-color);border:1px solid var(--border-color);width:100%;max-width:400px;padding:2.5rem;box-shadow:0 4px 24px #0000000a}.auth-title{letter-spacing:2px;text-align:center;margin:0 0 2rem;font-size:1.5rem}.auth-form{flex-direction:column;gap:1.5rem;display:flex}.auth-footer{text-align:center;color:var(--text-muted);margin-top:2rem;font-size:.85rem}.input-group{flex-direction:column;gap:.5rem;display:flex}.input-group label{letter-spacing:1px;color:var(--text-muted);font-size:.75rem}input{box-sizing:border-box;border:1px solid var(--border-color);width:100%;color:var(--text-main);background:0 0;outline:none;padding:.75rem;font-family:inherit;font-size:1rem;transition:border-color .2s}input:focus{border-color:var(--border-focus)}.btn{color:var(--text-main);border:1px solid var(--border-color);letter-spacing:1px;cursor:pointer;text-transform:uppercase;background:0 0;padding:.85rem;font-family:inherit;font-size:.9rem;transition:all .2s}.btn:hover{background:var(--text-main);color:var(--bg-color)}.btn-primary{margin-top:1rem}.btn-danger-fill{background-color:var(--accent-danger-bg);color:var(--accent-danger);letter-spacing:1px;cursor:pointer;text-transform:uppercase;border:none;outline:none;padding:.85rem;font-family:inherit;font-size:.9rem;transition:all .2s}.btn-danger-fill:hover{background-color:var(--accent-danger);color:#fff}.form-actions{gap:1rem;margin-top:.5rem;display:flex}.form-actions .btn,.form-actions .btn-danger-fill{flex:1;margin-top:0}.error-banner{background:var(--accent-danger-bg);color:var(--accent-danger);border:1px solid var(--accent-danger);text-align:center;margin-bottom:1.5rem;padding:.75rem;font-size:.85rem}.nav-link{color:var(--text-main);border-bottom:1px solid var(--text-main);margin-left:8px;padding-bottom:2px;text-decoration:none;transition:opacity .2s}.nav-link:hover{opacity:.7}.list-container{background:var(--surface-color);border:1px solid var(--border-color);margin-top:1rem}.list-row{border-bottom:1px solid var(--border-color);background:var(--surface-color);align-items:center;gap:1.5rem;padding:1.25rem;transition:all .2s;display:flex}.list-row:last-child{border-bottom:none}.list-row.marked{opacity:.35;background-color:#fafafa}.custom-checkbox{border:2px solid var(--text-muted);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:all .2s;display:flex}.custom-checkbox:hover{border-color:var(--text-main)}.list-row.marked .custom-checkbox{background-color:var(--text-main);border-color:var(--text-main)}.item-name{cursor:pointer;text-transform:capitalize;flex-grow:1;font-size:1.1rem;transition:color .2s}.item-name:hover{text-decoration:underline}.list-row.marked .item-name{text-decoration:line-through}.item-meta{color:var(--text-muted);text-transform:lowercase;text-align:right;letter-spacing:.5px;min-width:80px;font-size:.95rem}.btn-delete{color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;transition:color .2s,filter .2s;display:flex}.btn-delete:hover{color:var(--accent-danger);filter:drop-shadow(0 0 4px #ff3b3066)}.badge{border:1px solid var(--border-color);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;background:0 0;border-radius:4px;margin-right:6px;padding:2px 6px;font-size:.7rem;display:inline-block}.group-section{margin-bottom:2.5rem}.group-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:2px;border-bottom:1px solid var(--border-color);margin-bottom:0;padding-bottom:.5rem;font-size:.9rem}.row-primary{text-transform:capitalize;flex-grow:1;font-size:1.1rem}.row-secondary{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:.9rem}.loading-state{text-align:center;margin-top:3rem}.empty-state{text-align:center;color:var(--text-muted);margin-top:3rem}.modal-form{text-align:left;margin-top:1.5rem}.modal-error,.modal-warning{margin-top:1rem}.form-group{margin-bottom:1rem}.input-row{align-items:stretch;gap:1rem;margin-bottom:1rem;display:flex}.input-col{flex-direction:column;flex:1;justify-content:flex-end;min-width:0;display:flex}.form-select{width:100%;color:var(--text-main);box-sizing:border-box;cursor:pointer;background:0 0;border:none;outline:none;padding:.75rem .25rem;font-family:inherit;font-size:1rem;transition:background-color .2s}.form-select:hover{background-color:#00000008}.tab-nav{border-bottom:1px solid var(--border-color);gap:2rem;margin-bottom:1.5rem;display:flex}.tab-btn{color:var(--text-muted);letter-spacing:2px;cursor:pointer;text-transform:uppercase;background:0 0;border:none;padding:.75rem 0;font-family:inherit;font-size:1rem;transition:color .2s;position:relative}.tab-btn:hover{color:var(--text-main)}.tab-btn.active{color:var(--text-main);font-weight:700}.tab-btn.active:after{content:"";background-color:var(--text-main);width:100%;height:2px;position:absolute;bottom:-1px;left:0}.login-page-wrapper{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-auth-card{background:var(--surface-color);border:1px solid var(--border-color);width:100%;max-width:400px;padding:2.5rem;box-shadow:0 4px 24px #0000000a}.login-title{letter-spacing:2px;text-align:center;text-transform:uppercase;margin:0 0 2rem;font-size:1.5rem}.login-form-layout{flex-direction:column;gap:1.5rem;display:flex}.login-footer-text{text-align:center;color:var(--text-muted);margin-top:2rem;font-size:.85rem}.login-nav-link{color:var(--text-main);border-bottom:1px solid var(--text-main);margin-left:8px;padding-bottom:2px;text-decoration:none;transition:opacity .2s}.login-nav-link:hover{opacity:.7}.login-submit-btn{width:100%;margin-top:1rem}.register-page-wrapper{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.register-auth-card{background:var(--surface-color);border:1px solid var(--border-color);width:100%;max-width:400px;padding:2.5rem;box-shadow:0 4px 24px #0000000a}.register-title{letter-spacing:2px;text-align:center;text-transform:uppercase;margin:0 0 2rem;font-size:1.5rem}.register-form-layout{flex-direction:column;gap:1.5rem;display:flex}.register-footer-text{text-align:center;color:var(--text-muted);margin-top:2rem;font-size:.85rem}.register-nav-link{color:var(--text-main);border-bottom:1px solid var(--text-main);margin-left:8px;padding-bottom:2px;text-decoration:none;transition:opacity .2s}.register-nav-link:hover{opacity:.7}.register-submit-btn{width:100%;margin-top:1rem}.taskbar{border-bottom:1px solid var(--border-color);background:var(--surface-color);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.taskbar-left{color:var(--text-muted);letter-spacing:1px;flex:1;font-size:.75rem}.taskbar-center{text-align:center;letter-spacing:2px;text-transform:uppercase;flex:1;font-size:1.25rem}.taskbar-right{flex:1;justify-content:flex-end;align-items:center;gap:1.5rem;display:flex}.icon-link,.btn-icon{color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .2s,filter .2s;display:flex}.icon-link:hover,.btn-icon:hover{color:var(--text-main)}.icon-link.active{color:var(--text-main);position:relative}.icon-link.active:after{content:"";background-color:var(--text-main);border-radius:50%;width:4px;height:4px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.logout-icon:hover{color:var(--accent-danger);filter:drop-shadow(0 0 6px #ff3b3099)}.modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;background-color:#ffffffb3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--surface-color);border:1px solid var(--border-color);text-align:center;letter-spacing:1px;width:100%;max-width:400px;padding:2.5rem;box-shadow:0 4px 24px #0000000d}.modal-actions{justify-content:center;gap:1rem;margin-top:2rem;display:flex}.border-danger{border-color:var(--accent-danger)}.border-danger:hover{background:var(--accent-danger);color:#fff}.list-join-code-interactive{cursor:pointer;align-items:center;gap:6px;width:fit-content;margin-top:6px;display:flex}.list-card-icon-group{gap:.5rem;display:flex}.list-selection-toast{background-color:var(--text-main);color:var(--bg-color);letter-spacing:2px;z-index:9999;border-radius:50px;padding:.75rem 2rem;font-size:.85rem;position:fixed;bottom:40px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000026}.list-selection-loading{text-align:center}.dashboard-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.dashboard-title{letter-spacing:2px;margin:0;font-size:1.25rem}.header-actions{gap:1rem;display:flex}.btn-back{color:var(--text-muted);cursor:pointer;letter-spacing:1px;text-transform:uppercase;background:0 0;border:none;align-items:center;gap:.5rem;margin-bottom:2rem;padding:0;font-family:inherit;font-size:.85rem;transition:color .2s,filter .2s;display:inline-flex}.btn-back:hover{color:var(--accent-danger);filter:drop-shadow(0 0 6px #ff3b3099)}.selection-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.selection-card{border:1px solid var(--border-color);background:var(--surface-color);cursor:pointer;flex-direction:column;gap:1rem;padding:1.5rem;transition:all .2s;display:flex}.selection-card:hover{border-color:var(--border-focus);transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.card-title{text-transform:uppercase;margin:0;font-size:1.1rem}.card-subtitle{color:var(--text-muted);margin:0;font-size:.8rem}.selection-card{border:1px solid var(--border-color);background:var(--surface-color);cursor:pointer;flex-direction:column;gap:.5rem;padding:1.5rem;transition:all .2s;display:flex;position:relative}.card-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.btn-delete-card{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.btn-delete-card:hover{color:var(--accent-danger);filter:drop-shadow(0 0 6px #ff3b3099)}.list-header-container{border-bottom:none;margin-bottom:1rem}.list-header-title-row{align-items:center;display:flex}.list-header-vendor-badge{cursor:pointer;border-style:dashed;margin-left:12px}.item-row-name-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.item-row-meta-group{justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.item-row-badge-inline{margin:0}.list-items-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.list-items-sort-select{width:auto;padding:.5rem}.list-items-empty-toolbar{justify-content:flex-end;margin-bottom:1rem;display:flex}.list-items-grouped-wrapper{background:0 0;border:none;padding:0}.list-items-grouped-content{margin-top:.5rem}.list-settings-action-group{flex-direction:column;gap:.75rem;margin-top:1.5rem;display:flex}.item-editor-inventory-warning{color:var(--text-muted);text-transform:lowercase;margin-bottom:1.5rem;font-size:.75rem}.item-editor-select,.vendor-modal-select{border:1px solid var(--border-color);padding:.75rem}.house-detail-header{border-bottom:none;align-items:flex-start;margin-bottom:1.5rem}.house-detail-content{flex:1}.house-detail-title{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.house-edit-icon-btn{color:var(--text-muted);padding:0 4px}.house-address-text{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin:4px 0;font-size:.85rem}.house-join-code-text{cursor:pointer;align-items:center;gap:6px;width:fit-content;margin:6px 0 0;display:flex}.house-header-actions-container{margin-top:4px}.house-toast-notification{background-color:var(--text-main);color:var(--bg-color);letter-spacing:2px;z-index:9999;border-radius:50px;padding:.75rem 2rem;font-size:.85rem;position:fixed;bottom:40px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000026}.inventory-empty-header{justify-content:flex-end;margin-bottom:1rem;display:flex}.inventory-grouped-container{background:0 0;border:none;padding:0}.inventory-grouped-subcontainer{margin-top:.5rem}.inventory-controls-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.inventory-sort-dropdown{width:auto;padding:.5rem}.purchase-row-clickable{cursor:pointer}.purchase-buyer-text{margin-top:.25rem;font-size:.75rem}.purchase-meta-container{align-items:center;gap:1.5rem;display:flex}.purchase-badge-inline{margin:0}.purchase-modal-content{max-width:500px}.purchase-modal-metadata{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:1.5rem;font-size:.85rem}.purchase-modal-metadata-line{margin:4px 0}.purchase-modal-list-wrapper{border:1px solid var(--border-color);max-height:50vh;margin-top:0;overflow-y:auto}.purchase-modal-empty{padding:2rem}.purchase-modal-item-row{padding:1rem}.purchase-modal-item-name{text-align:left}.purchase-modal-actions{margin-top:1.5rem}.settings-danger-zone{border-top:1px solid var(--border-color);flex-direction:column;gap:.75rem;padding-top:1.5rem;display:flex}.settings-close-actions{margin-top:1.5rem}.vendor-dashboard-layout{flex-wrap:wrap;align-items:flex-start;gap:2rem;display:flex}.vendor-sidebar-pane{flex-direction:column;flex:1;gap:1rem;min-width:300px;display:flex}.vendor-main-pane{background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;flex:2;min-width:300px;padding:1.5rem}.vendor-list-item{border:1px solid var(--border-color);background:var(--surface-color);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;padding:1rem;transition:border-color .2s;display:flex}.vendor-list-item.active{border-color:var(--text-main);box-shadow:0 0 0 1px var(--text-main)}.vendor-item-actions{gap:.5rem;display:flex}.dict-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.dict-search-input{border-radius:50px;flex:1;max-width:300px;padding:.6rem 1rem}.dict-actions-group{gap:.5rem;display:flex}.dict-map-select{border:1px solid var(--border-color);padding:.75rem}
