*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f1117;--surface: #1a1d27;--surface2: #23273a;--border: #2e3250;--accent: #6366f1;--accent-hover: #4f52d6;--text: #e8eaf6;--text-muted: #8b8fa8;--danger: #ef4444;--danger-hover: #dc2626;--radius: 12px;--font: "Segoe UI", system-ui, sans-serif}body{background:var(--bg);color:var(--text);font-family:var(--font);min-height:100vh}.app{display:flex;flex-direction:column;min-height:100vh}.header{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.logo{font-size:1.25rem;font-weight:700;color:var(--accent);letter-spacing:-.5px}.nav{display:flex;gap:.5rem}.nav-btn{padding:.4rem 1rem;border-radius:8px;border:none;background:transparent;color:var(--text-muted);font-size:.9rem;cursor:pointer;transition:background .15s,color .15s}.nav-btn:hover{background:var(--surface2);color:var(--text)}.nav-btn.active{background:var(--accent);color:#fff}.main{flex:1;padding:2rem;max-width:1100px;width:100%;margin:0 auto}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.card{display:flex;align-items:center;gap:.85rem;padding:1rem 1.1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:var(--text);transition:border-color .15s,transform .12s,background .15s}.card:hover{border-color:var(--accent);background:var(--surface2);transform:translateY(-2px)}.card-icon{width:40px;height:40px;border-radius:8px;background:var(--surface2);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.card-icon img{width:24px;height:24px;object-fit:contain}.card-icon-fallback{font-size:1.2rem;font-weight:700;color:var(--accent)}.card-info{display:flex;flex-direction:column;overflow:hidden}.card-title{font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-url{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin{display:flex;flex-direction:column;gap:2rem}.form-section,.list-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.form-section h2,.list-section h2{font-size:1rem;font-weight:600;margin-bottom:1.25rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.35rem}.form-group label{font-size:.85rem;color:var(--text-muted);font-weight:500}.form-group input{padding:.6rem .9rem;background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.95rem;font-family:var(--font);transition:border-color .15s;outline:none}.form-group input:focus{border-color:var(--accent)}.form-error{color:var(--danger);font-size:.85rem}.form-actions{display:flex;gap:.75rem;margin-top:.25rem}.btn-primary{padding:.55rem 1.25rem;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{padding:.55rem 1.25rem;background:var(--surface2);color:var(--text-muted);border:1px solid var(--border);border-radius:8px;font-size:.9rem;cursor:pointer;transition:background .15s,color .15s}.btn-secondary:hover{background:var(--border);color:var(--text)}.site-list{list-style:none;display:flex;flex-direction:column;gap:.6rem}.site-item{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;background:var(--surface2);border:1px solid var(--border);border-radius:8px;gap:1rem}.site-item-info{display:flex;flex-direction:column;overflow:hidden}.site-item-title{font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-item-url{font-size:.8rem;color:var(--text-muted);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-item-url:hover{color:var(--accent)}.site-item-actions{display:flex;gap:.5rem;flex-shrink:0}.btn-edit{padding:.35rem .8rem;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:.82rem;cursor:pointer;transition:border-color .15s,color .15s}.btn-edit:hover{border-color:var(--accent);color:var(--accent)}.btn-delete{padding:.35rem .8rem;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--danger);font-size:.82rem;cursor:pointer;transition:background .15s}.btn-delete:hover{background:var(--danger);color:#fff}.status-text{color:var(--text-muted);text-align:center;margin-top:3rem;font-size:.95rem}@media (max-width: 768px){.header{padding:.75rem 1rem}.main{padding:1rem}.grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.form-section,.list-section{padding:1rem}}@media (max-width: 520px){.header{flex-direction:column;align-items:flex-start;gap:.6rem}.nav{width:100%}.nav-btn{flex:1;text-align:center}.main{padding:.75rem}.grid{grid-template-columns:1fr 1fr}.site-item{flex-direction:column;align-items:flex-start;gap:.6rem}.site-item-actions{width:100%;justify-content:flex-end}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%;text-align:center}}
