*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f0f2f5;color:#333}.app{max-width:700px;margin:0 auto;padding:20px}h1{color:#1a1a2e;font-size:1.8rem;margin:0}.app-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.header-actions{display:flex;align-items:center;gap:8px}.user-info{font-size:.85rem;color:#666}.header-btn{padding:6px 12px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;font-size:.8rem;color:#555;transition:background .15s}.header-btn:hover{background:#f0f0f0}.header-btn-logout{color:#e74c3c;border-color:#e74c3c}.header-btn-logout:hover{background:#fdf0ef}.tab-bar{margin-bottom:16px}.tabs{display:flex;align-items:center;gap:4px;overflow-x:auto;padding-bottom:4px}.tab{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid #ddd;border-bottom:none;border-radius:6px 6px 0 0;background:#fff;cursor:pointer;font-size:.9rem;color:#555;white-space:nowrap;transition:background .15s,color .15s}.tab:hover{background:#e8e8e8}.tab-active{background:#1a1a2e;color:#fff;border-color:#1a1a2e}.tab-active:hover{background:#16213e}.tab-name{pointer-events:none}.tab-delete{font-size:1.1rem;line-height:1;opacity:.5;transition:opacity .15s}.tab-delete:hover{opacity:1}.tab-active .tab-delete{color:#fff}.add-tab-btn{padding:8px 14px;border:1px dashed #aaa;border-radius:6px 6px 0 0;background:transparent;cursor:pointer;font-size:1.1rem;color:#888;transition:background .15s,color .15s}.add-tab-btn:hover{background:#e0e0e0;color:#333}.add-category-form{display:flex;gap:4px}.add-category-form input{padding:6px 10px;border:1px solid #ccc;border-radius:4px;font-size:.9rem;width:140px}.add-category-form button{padding:6px 12px;border:none;border-radius:4px;background:#1a1a2e;color:#fff;cursor:pointer;font-size:.85rem}.list-container{background:#fff;border:1px solid #ddd;border-radius:0 8px 8px;padding:16px}.add-item-form{display:flex;gap:8px;margin-bottom:16px}.add-item-form input{flex:1;padding:8px 12px;border:1px solid #ccc;border-radius:6px;font-size:.95rem}.add-item-form input:focus{outline:none;border-color:#1a1a2e}.add-item-form button{padding:8px 18px;border:none;border-radius:6px;background:#1a1a2e;color:#fff;cursor:pointer;font-size:.95rem;transition:background .15s}.add-item-form button:hover{background:#16213e}.list-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #eee;border-radius:6px;margin-bottom:6px;background:#fafafa;transition:box-shadow .15s}.list-item:hover{box-shadow:0 1px 4px #00000014}.drag-handle{cursor:grab;color:#aaa;font-size:1.1rem;-webkit-user-select:none;user-select:none;padding:2px 4px}.drag-handle:active{cursor:grabbing}.item-text{flex:1;font-size:.95rem}.item-delete{border:none;background:none;color:#ccc;font-size:1.2rem;cursor:pointer;padding:2px 6px;transition:color .15s}.item-delete:hover{color:#e74c3c}.add-category-form select{padding:6px 8px;border:1px solid #ccc;border-radius:4px;font-size:.85rem;background:#fff}.search-add-form{position:relative;margin-bottom:16px}.search-spinner{font-size:.8rem;color:#888;white-space:nowrap;padding:8px 0}.search-results{list-style:none;border:1px solid #ddd;border-radius:6px;max-height:320px;overflow-y:auto;margin-top:4px;background:#fff;box-shadow:0 4px 12px #0000001a}.search-result{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;border-bottom:1px solid #f0f0f0}.search-result:hover{background:#f5f5ff}.search-result:last-child{border-bottom:none}.search-thumb{width:36px;height:52px;object-fit:cover;border-radius:3px;flex-shrink:0;background:#eee}.search-result-info{min-width:0}.search-result-year{color:#888;font-size:.85rem}.search-result-detail{color:#666;font-size:.85rem}.list-item-media{position:relative}.item-thumbnail{width:30px;height:42px;object-fit:cover;border-radius:3px;flex-shrink:0;background:#eee}.item-popover{position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);width:340px;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 20px #00000026;z-index:100;display:flex;gap:12px;padding:14px;pointer-events:none}.popover-image{width:100px;height:auto;max-height:150px;border-radius:4px;flex-shrink:0;object-fit:cover}.popover-details{flex:1;min-width:0}.popover-details h3{margin-bottom:6px;font-size:.95rem;line-height:1.3}.popover-details p{font-size:.8rem;margin-bottom:3px;color:#555}.popover-overview{margin-top:6px;font-size:.78rem;color:#777;line-height:1.4;max-height:80px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}@media(max-width:900px){.item-popover{left:0;top:calc(100% + 8px);transform:none;width:100%;max-width:400px}}.empty-message{text-align:center;color:#999;padding:30px;font-style:italic}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;border-radius:12px;padding:40px;box-shadow:0 4px 20px #0000001a;width:100%;max-width:380px}.login-card h1{text-align:center;margin-bottom:24px}.login-card form{display:flex;flex-direction:column;gap:12px}.login-card input{padding:10px 14px;border:1px solid #ddd;border-radius:6px;font-size:.95rem}.login-card input:focus{outline:none;border-color:#1a1a2e}.login-card button{padding:10px;border:none;border-radius:6px;background:#1a1a2e;color:#fff;cursor:pointer;font-size:.95rem;transition:background .15s}.login-card button:hover{background:#16213e}.login-card button:disabled{opacity:.6;cursor:not-allowed}.login-error{background:#fdf0ef;color:#e74c3c;padding:8px 12px;border-radius:4px;font-size:.85rem}.settings-page{max-width:500px;margin:0 auto;padding:20px}.settings-card{background:#fff;border-radius:12px;padding:30px;box-shadow:0 4px 20px #0000001a}.settings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.settings-header h2{color:#1a1a2e;font-size:1.4rem}.settings-close{border:none;background:none;font-size:1.5rem;cursor:pointer;color:#999;padding:4px 8px}.settings-close:hover{color:#333}.settings-user{color:#666;font-size:.9rem;margin-bottom:24px}.settings-form{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #eee}.settings-form:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.settings-form h3{color:#1a1a2e;font-size:1rem;margin-bottom:12px}.settings-form label{display:block;font-weight:600;margin-bottom:8px;color:#333}.settings-form input{display:block;width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:.9rem;margin-bottom:8px}.settings-form input:focus{outline:none;border-color:#1a1a2e}.settings-form button{padding:8px 16px;border:none;border-radius:6px;background:#1a1a2e;color:#fff;cursor:pointer;font-size:.85rem;margin-top:4px}.settings-form button:hover{background:#16213e}.settings-row{display:flex;gap:8px}.settings-row input{flex:1;margin-bottom:0}.settings-hint{color:#888;font-size:.8rem;margin-top:6px}.settings-success{background:#eafbe7;color:#27ae60;padding:8px 12px;border-radius:4px;font-size:.85rem;margin-bottom:8px}.user-list{margin-top:16px}.user-list h3{color:#1a1a2e;font-size:1rem;margin-bottom:12px}.user-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid #eee;border-radius:6px;margin-bottom:4px}.user-email{flex:1;font-size:.9rem}.user-role{font-size:.75rem;padding:2px 8px;border-radius:10px;background:#e8e8e8;color:#555;text-transform:uppercase}.user-delete{border:none;background:none;color:#ccc;font-size:1.2rem;cursor:pointer;padding:2px 6px}.user-delete:hover{color:#e74c3c}
