:root{--bg: #ffffff;--bg-sidebar: #f9fafb;--text: #111827;--text-dim: #6b7280;--border: #e2e8f0;--accent: #2563eb;--card-hover: #f1f5f9;--input-bg: #f8fafc;--modal-overlay: rgba(0, 0, 0, .4);--sidebar-active: #eff6ff}[data-theme=dark]{--bg: #09090b;--bg-sidebar: #0f0f12;--text: #f8fafc;--text-dim: #94a3b8;--border: #1e293b;--accent: #ffffff;--card-hover: #1e293b;--input-bg: #0f172a;--modal-overlay: rgba(0, 0, 0, .85);--sidebar-active: #1e293b}*{box-sizing:border-box;margin:0;padding:0;transition:background-color .2s,color .1s}body{font-family:Inter,-apple-system,sans-serif;background-color:var(--bg);color:var(--text);overflow:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-sidebar)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.app-container{display:flex;height:100vh}.sidebar{width:240px;background:var(--bg-sidebar);border-right:1px solid var(--border);padding:1.5rem 1rem;display:flex;flex-direction:column}.logo{font-size:1.3rem;font-weight:800;margin-bottom:.5rem;padding-left:.5rem;letter-spacing:-.025em}.nav-item{padding:.7rem .85rem;border-radius:.6rem;cursor:pointer;font-size:.925rem;font-weight:500;color:var(--text-dim);display:flex;align-items:center;gap:.75rem;margin-bottom:.4rem;position:relative}.nav-item:hover,.nav-item.active{background:var(--sidebar-active);color:var(--text)}.nav-item.active{font-weight:600}.nav-admin-tools{position:absolute;right:.5rem;display:none;gap:.5rem;background:var(--sidebar-active);padding-left:.5rem}.nav-item:hover .nav-admin-tools{display:flex}.nav-admin-tools span{font-size:.8rem;opacity:.6;transition:opacity .2s}.nav-admin-tools span:hover{opacity:1}.sidebar-fixed-actions{margin-top:auto;padding:.75rem 0 .5rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.4rem}.sidebar-footer{border-top:none;padding:1rem 0 .5rem;display:flex;justify-content:space-around;gap:.5rem}.add-cat-btn,.add-link-btn-sidebar{justify-content:center;background:var(--input-bg);color:var(--text-dim);font-weight:500;border:1px dashed var(--border);transition:all .2s;box-shadow:none}.add-cat-btn:hover,.add-link-btn-sidebar:hover{background:var(--sidebar-active);color:var(--text);border-style:solid;border-color:var(--accent);transform:translateY(-1px)}.main-wrapper{flex:1;display:flex;flex-direction:column}.header{height:64px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;background:var(--bg);position:sticky;top:0;z-index:100}.header-left,.header-right{flex:1;display:flex;align-items:center}.header-right{justify-content:flex-end;gap:1.5rem}.header-right .menu-item{font-size:1.05rem;font-weight:600}.header-center{flex:1;display:flex;justify-content:center}.menu-item{color:var(--text);text-decoration:none;font-size:.95rem;font-weight:400;display:flex;align-items:center;gap:.5rem;height:100%;padding:0 .5rem;transition:all .2s;position:relative;opacity:.85}.search-bar{width:240px;display:flex;align-items:center}.search-bar input{flex:1;max-width:400px;padding:.5rem 1rem;border-radius:2rem;border:1px solid var(--border);background:var(--input-bg);color:var(--text);font-size:.9rem;outline:none}.search-bar input::placeholder{color:var(--text-dim)}.top-nav-menu{display:flex;align-items:center;gap:1.25rem;white-space:nowrap}.top-actions{display:flex;align-items:center;gap:1rem}.icon-btn{background:transparent!important;border:none!important;box-shadow:none!important;cursor:pointer;padding:.4rem;border-radius:.4rem;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--text);transition:background-color .2s}.icon-btn:hover{background-color:var(--card-hover)!important}.theme-toggle{font-size:1.2rem}.content-scroll{flex:1;overflow-y:auto;padding:2rem 2rem 15rem;position:relative}.category-section{margin-bottom:2rem;scroll-margin-top:20px}.category-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:1.1rem;font-weight:700;color:var(--text)}.links-grid{display:grid;grid-template-columns:repeat(auto-fill,280px);gap:1.25rem}.link-card{display:flex;align-items:center;padding:1rem;border:1px solid var(--border);border-radius:.75rem;text-decoration:none;color:inherit;gap:1rem;position:relative;background:#fff9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);height:80px;box-shadow:0 2px 8px #0000000a;transition:all .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .link-card{background:#0f0f1299;box-shadow:0 2px 8px #0003}.link-card:hover{border-color:var(--text);transform:translateY(-4px);box-shadow:0 12px 24px #0000001f}.card-icon{width:40px;height:40px;border-radius:8px;flex-shrink:0}.card-info{overflow:hidden}.card-title{font-size:.9rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-desc{font-size:.75rem;color:var(--text-dim);margin-top:.25rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}.card-admin-actions{position:absolute;top:0;right:0;display:none;background:var(--bg);padding:.25rem;border-bottom-left-radius:.5rem;border-left:1px solid var(--border);border-bottom:1px solid var(--border)}.link-card:hover .card-admin-actions{display:flex;gap:.4rem}.tiny-btn{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:.75rem;padding:.2rem .5rem;border-radius:.3rem}.tiny-btn:hover{background:var(--border);color:var(--text)}.tiny-btn.del:hover{color:#ef4444}.modal-overlay{position:fixed;inset:0;background:var(--modal-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999}.modal{background:var(--bg);padding:2rem;border-radius:1.25rem;width:90%;max-width:450px;border:1px solid var(--border);box-shadow:0 25px 50px -12px #00000040}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.75rem;font-weight:800;text-transform:uppercase;color:var(--text-dim);margin-bottom:.5rem}.form-group input,.form-group textarea,.select-input{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:.5rem;background:var(--input-bg);color:var(--text);font-size:.9rem;outline:none}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:2rem}.btn{padding:.7rem 1.5rem;border-radius:.6rem;font-size:.9rem;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--bg);color:var(--text)}.btn-primary{background:var(--accent);color:var(--bg);border:none}.btn-primary:hover{opacity:.9}.badge{display:inline-block;font-size:.75rem;padding:.2rem .5rem;border-radius:.3rem;background:var(--border);color:var(--text-dim)}a[draggable=true]{transition:transform .2s ease,opacity .2s ease,box-shadow .2s ease}@keyframes nudge{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}a.is-dragging{opacity:.5!important;transform:scale(.95)!important}a.drag-over{border-color:var(--accent)!important;box-shadow:0 0 0 3px #2563eb33!important;animation:nudge .3s ease}
