@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f7f7f8;--surface: #ffffff;--surface2: #f3f3f5;--border: #e8e8ec;--border2: #d4d4da;--accent: #5b5bd6;--accent-h: #4747c2;--accent-bg: #eeeeff;--accent-t: #5b5bd6;--text: #1a1a2e;--text-sec: #6b6b80;--muted: #a0a0b5;--red: #e5484d;--red-bg: #fff0f0;--red-border:#ffd6d8;--amber: #c2620a;--amber-bg: #fff4e5;--amber-border:#ffd9a8;--green: #1a7f4b;--green-bg: #edfaf3;--green-border:#b4e8cc;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SF Mono", "Roboto Mono", monospace;--r: 6px;--r-lg: 10px;--r-xl: 14px;--sidebar-w: 232px;--topbar-h: 56px;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow: 0 1px 4px rgba(0,0,0,.07), 0 4px 12px rgba(0,0,0,.05);--shadow-lg: 0 8px 30px rgba(0,0,0,.1), 0 2px 8px rgba(0,0,0,.06)}html,body,#root{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:100vh;overflow:hidden}.sidebar{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:0;overflow-y:auto}.logo{display:flex;align-items:center;gap:9px;padding:20px 16px 16px}.logo-icon{width:28px;height:28px;background:var(--accent);border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:14px;color:#fff;flex-shrink:0}.logo-text{font-size:15px;font-weight:600;color:var(--text);letter-spacing:-.01em}.nav{display:flex;flex-direction:column;padding:4px 8px;gap:1px;flex:1}.nav-item{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-radius:var(--r);border:none;background:transparent;color:var(--text-sec);font-family:var(--font);font-size:13.5px;font-weight:400;cursor:pointer;transition:background .12s,color .12s;text-align:left}.nav-item:hover{background:var(--surface2);color:var(--text)}.nav-item.active{background:var(--accent-bg);color:var(--accent-t);font-weight:500}.nav-label{flex:1}.nav-count{font-size:11px;font-weight:500;font-family:var(--font-mono);color:var(--muted);background:var(--surface2);border:1px solid var(--border);padding:0 6px;border-radius:20px;min-width:22px;text-align:center;line-height:18px}.nav-count.scaduti{color:var(--red);background:var(--red-bg);border-color:var(--red-border)}.nav-count.urgenti{color:var(--amber);background:var(--amber-bg);border-color:var(--amber-border)}.nav-count.ok{color:var(--green);background:var(--green-bg);border-color:var(--green-border)}.sidebar-stats{margin:8px;border-radius:var(--r-lg);border:1px solid var(--border);overflow:hidden;background:var(--surface)}.stat-row{display:flex;align-items:center;gap:9px;padding:9px 13px;border-bottom:1px solid var(--border);font-size:12.5px}.stat-row:last-child{border-bottom:none}.stat-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.stat-dot.scaduto{background:var(--red)}.stat-dot.urgente{background:var(--amber)}.stat-dot.ok{background:var(--green)}.stat-label{color:var(--text-sec);flex:1}.stat-val{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--text)}.btn-new{margin:10px 8px 12px;padding:9px 14px;background:var(--accent);color:#fff;border:none;border-radius:var(--r);font-family:var(--font);font-size:13.5px;font-weight:500;cursor:pointer;transition:background .15s,box-shadow .15s;box-shadow:0 2px 8px #5b5bd640}.btn-new:hover{background:var(--accent-h);box-shadow:0 4px 14px #5b5bd659}.main{display:flex;flex-direction:column;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:var(--topbar-h);background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;gap:16px}.topbar-title{font-size:15px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px;letter-spacing:-.01em}.topbar-count{font-size:11px;font-weight:500;color:var(--text-sec);background:var(--surface2);border:1px solid var(--border);padding:1px 8px;border-radius:20px;font-family:var(--font-mono)}.topbar-controls{display:flex;gap:8px;align-items:center}.search-input,.filter-select{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r);color:var(--text);font-family:var(--font);font-size:13px;padding:7px 11px;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.search-input{width:220px}.search-input::placeholder{color:var(--muted)}.search-input:focus,.filter-select:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px #5b5bd61f}.filter-select{cursor:pointer}.table-wrap{flex:1;overflow-y:auto;padding:16px 20px}.empty{padding:60px;text-align:center;color:var(--muted);font-size:14px}table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--r-xl);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden}thead th{padding:10px 16px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:left;border-bottom:1px solid var(--border);background:var(--surface2);position:sticky;top:0;z-index:1}tbody tr{border-bottom:1px solid var(--border);transition:background .1s}tbody tr:hover{background:#fafafc}tbody tr:last-child{border-bottom:none}td{padding:11px 16px;vertical-align:middle}.row-scaduto{background:var(--red-bg)!important}.row-scaduto:hover{background:#ffe4e5!important}.row-urgente{background:var(--amber-bg)!important}.row-urgente:hover{background:#ffecd4!important}.cell-nome{font-weight:500;font-size:13.5px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.cell-date{font-family:var(--font-mono);font-size:12px;color:var(--text-sec)}.cell-days{width:90px}.days-val{font-family:var(--font-mono);font-size:12px;font-weight:600}.days-val.scaduto{color:var(--red)}.days-val.urgente{color:var(--amber)}.days-val.ok{color:var(--text-sec)}.cell-actions{display:flex;gap:5px;justify-content:flex-end;opacity:0;transition:opacity .12s}tbody tr:hover .cell-actions{opacity:1}.action-btn{padding:4px 11px;font-size:12px;font-family:var(--font);font-weight:500;border-radius:var(--r);border:1px solid var(--border2);background:var(--surface);color:var(--text-sec);cursor:pointer;transition:all .12s;box-shadow:var(--shadow-sm)}.action-btn:hover{background:var(--surface2);color:var(--text);border-color:var(--border2)}.action-btn.danger{color:var(--red);border-color:var(--red-border)}.action-btn.danger:hover{background:var(--red-bg)}.pill{display:inline-block;font-size:11px;font-weight:500;letter-spacing:.02em;padding:2px 9px;border-radius:20px;border:1px solid transparent}.tipo-dominio{background:#ededff;color:#4747c2;border-color:#d0d0f5}.tipo-hosting{background:var(--amber-bg);color:var(--amber);border-color:var(--amber-border)}.tipo-database{background:var(--green-bg);color:var(--green);border-color:var(--green-border)}.stato-scaduto{background:var(--red-bg);color:var(--red);border-color:var(--red-border)}.stato-urgente{background:var(--amber-bg);color:var(--amber);border-color:var(--amber-border)}.stato-ok{background:var(--green-bg);color:var(--green);border-color:var(--green-border)}.pagination{display:flex;align-items:center;justify-content:space-between;padding:11px 24px;border-top:1px solid var(--border);background:var(--surface);flex-shrink:0}.pag-info{font-size:12px;color:var(--muted);font-family:var(--font-mono)}.pag-btns{display:flex;align-items:center;gap:6px}.pag-pages{font-size:12px;color:var(--text-sec);min-width:55px;text-align:center}.pag-btn{width:30px;height:30px;border-radius:var(--r);border:1px solid var(--border2);background:var(--surface);color:var(--text-sec);cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:all .12s;box-shadow:var(--shadow-sm)}.pag-btn:hover:not(:disabled){background:var(--accent-bg);color:var(--accent);border-color:#c5c5f0}.pag-btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.error-bar{padding:10px 24px;background:var(--red-bg);color:var(--red);font-size:13px;border-bottom:1px solid var(--red-border);font-weight:500}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f0f1e66;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);width:460px;max-width:95vw;overflow:hidden;box-shadow:var(--shadow-lg)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border)}.modal-header h2{font-size:15px;font-weight:600;color:var(--text);letter-spacing:-.01em}.modal-close{background:var(--surface2);border:1px solid var(--border);color:var(--text-sec);cursor:pointer;font-size:13px;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .12s}.modal-close:hover{background:var(--red-bg);color:var(--red);border-color:var(--red-border)}.modal-body{padding:20px 22px;display:flex;flex-direction:column;gap:15px}.modal-body label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:500;color:var(--text-sec);letter-spacing:.01em}.optional{font-size:11px;color:var(--muted);font-weight:400}.modal-body input,.modal-body select{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r);color:var(--text);font-family:var(--font);font-size:14px;padding:9px 12px;outline:none;transition:border-color .15s,box-shadow .15s,background .15s;width:100%}.modal-body input:focus,.modal-body select:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px #5b5bd61f}.modal-body input::placeholder{color:var(--muted)}.modal-footer{display:flex;gap:8px;justify-content:flex-end;padding:14px 22px;border-top:1px solid var(--border);background:var(--surface2)}.btn-cancel{padding:8px 16px;background:var(--surface);border:1px solid var(--border2);border-radius:var(--r);color:var(--text-sec);font-family:var(--font);font-size:13.5px;font-weight:500;cursor:pointer;transition:all .12s}.btn-cancel:hover{background:var(--surface2);color:var(--text)}.btn-save{padding:8px 18px;background:var(--accent);color:#fff;border:none;border-radius:var(--r);font-family:var(--font);font-size:13.5px;font-weight:500;cursor:pointer;box-shadow:0 2px 8px #5b5bd640;transition:background .15s,box-shadow .15s}.btn-save:hover{background:var(--accent-h);box-shadow:0 4px 14px #5b5bd659}.btn-save:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}.cell-contatto{font-size:12.5px;color:var(--text-sec);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-empty{color:var(--muted)}.tipo-abbonamento{background:#fdf4ff;color:#9333ea;border-color:#e9d5ff}.stato-nessuna{background:var(--surface2);color:var(--muted);border-color:var(--border)}
