:root{--hum-logo-from: #2FB3A2;--hum-logo-to: #C58A2E;--sillage-ink: #1F3D33;--sillage-ink-deep: #122721;--sillage-cream: #E8E1CE;--sillage-paper: #FBFAF6;--sillage-paper-alt: #F1EEE4;--sillage-gold: #C58A2E;--sillage-text: #5A6259;--sillage-text-faint: #9A9589;--sillage-rule: #E4E0D4;--app-bg: #F4F6F5;--app-surface: #FFFFFF;--app-surface-alt: #F1F4F2;--app-ink: #0E3B34;--app-text: #5A6864;--app-text-faint: #8A9591;--app-rule: #E2E7E5;--app-action: #0E3B34;--app-action-ink: #F4F6F5;--app-mint: #D7F49B;--app-mint-ink: #173F26;--state-success: #2F7D5B;--state-success-bg: #E4F0E6;--state-success-rule: #BEDCC6;--state-watch: #B0741C;--state-watch-bg: #F6EBD6;--state-watch-rule: #E6CFA4;--state-alert: #A83A22;--state-alert-bg: #F6E2DC;--state-alert-rule: #E5BCAF;--font-display: "Plus Jakarta Sans", system-ui, sans-serif;--font-body: "Plus Jakarta Sans", system-ui, sans-serif;--font-signature: "Instrument Serif", Georgia, serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--track-display: -.03em;--track-label: .16em;--radius-control: 8px;--radius-card: 14px;--radius-panel: 20px;--radius-pill: 999px;--shadow-panel: 0 12px 32px rgba(14, 59, 52, .08);--shadow-float: 0 30px 80px rgba(14, 59, 52, .16);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-11: 44px;--space-16: 64px}[data-theme=dark]{--app-bg: #0B1F1C;--app-surface: #12261F;--app-surface-alt: rgba(244, 246, 245, .06);--app-ink: #F4F6F5;--app-text: rgba(244, 246, 245, .72);--app-text-faint: rgba(244, 246, 245, .45);--app-rule: rgba(244, 246, 245, .14);--app-action: #D7F49B;--app-action-ink: #173F26;--state-success: #7FD3A8;--state-success-bg: rgba(47, 125, 91, .18);--state-success-rule: rgba(127, 211, 168, .35);--state-watch: #E8B45C;--state-watch-bg: rgba(176, 116, 28, .2);--state-watch-rule: rgba(232, 180, 92, .35);--state-alert: #F08A6E;--state-alert-bg: rgba(168, 58, 34, .22);--state-alert-rule: rgba(240, 138, 110, .35)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--app-bg);color:var(--app-text);font-family:var(--font-body);transition:background-color .2s ease,color .2s ease}a{color:inherit}#app{min-height:100vh;display:flex;flex-direction:column}.banner{width:100%;background:var(--sillage-ink);color:#f5f1e8bf;text-align:center;font-size:13px;padding:10px 16px}.page{max-width:1280px;width:100%;margin:0 auto;padding:0 var(--space-8);flex:1;display:flex;flex-direction:column}.header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-6) 0;border-bottom:1px solid var(--app-rule)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:38px;height:34px;object-fit:contain;flex-shrink:0}.brand-name{font-family:var(--font-display);font-weight:800;font-size:19px;letter-spacing:var(--track-display);color:var(--app-ink)}.brand-sub{font-family:var(--font-mono);font-size:11px;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--app-text-faint);margin-top:2px}.header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.auth-controls{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.theme-toggle{width:40px;height:40px;border-radius:50%;border:1px solid var(--app-rule);background:var(--app-surface);color:var(--app-ink);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s ease,transform .15s ease}.theme-toggle:hover{border-color:var(--app-ink);transform:scale(1.04)}.ghost-btn,.ghost-btn-primary{font-family:var(--font-body);font-size:13px;font-weight:600;padding:9px 16px;border-radius:var(--radius-pill);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease;white-space:nowrap}.ghost-btn{border:1px solid var(--app-rule);background:var(--app-surface);color:var(--app-text)}.ghost-btn:hover{border-color:var(--app-ink);color:var(--app-ink)}.ghost-btn-primary{border:1px solid var(--app-action);background:var(--app-action);color:var(--app-action-ink)}.ghost-btn-primary:hover{opacity:.88}.ghost-btn-primary:disabled{opacity:.5;cursor:not-allowed}.ghost-btn-danger{border-color:var(--state-alert-rule);color:var(--state-alert)}.ghost-btn-danger:hover{border-color:var(--state-alert);color:var(--state-alert)}.user-chip{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 14px;border:1px solid var(--app-rule);border-radius:var(--radius-pill);background:var(--app-surface)}.user-chip-name{font-size:13px;font-weight:600;color:var(--app-ink)}.role-badge{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:var(--radius-pill)}.role-badge.role-admin{background:var(--state-watch-bg);color:var(--state-watch)}.role-badge.role-user{background:var(--app-surface-alt);color:var(--app-text-faint)}.guest-notice{display:none;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-4) var(--space-6);margin-bottom:var(--space-6);border:1px solid var(--app-rule);border-radius:var(--radius-card);background:var(--app-surface-alt);font-size:14px;color:var(--app-text)}.guest-notice-visible{display:flex}.hero{padding:var(--space-16) 0 var(--space-8);max-width:640px;display:flex;flex-direction:column;gap:var(--space-3)}.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--sillage-gold)}.hero-title{margin:0;font-family:var(--font-display);font-weight:700;font-size:48px;line-height:1.08;letter-spacing:-.035em;color:var(--app-ink)}.hero-title em{font-family:var(--font-signature);font-style:italic;font-weight:400;font-size:1.1em}.hero-text{margin:0;font-size:16px;line-height:1.6;color:var(--app-text);max-width:480px}.controls{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;padding-bottom:var(--space-6)}.search input{width:260px;max-width:100%;padding:10px 14px;border-radius:var(--radius-control);border:1px solid var(--app-rule);background:var(--app-surface);color:var(--app-ink);font-family:var(--font-body);font-size:14px;outline:none;transition:border-color .15s ease}.search input:focus{border-color:var(--app-ink)}.search input::placeholder{color:var(--app-text-faint)}.filters{display:flex;gap:var(--space-2);flex-wrap:wrap}.chip{font-family:var(--font-body);font-size:13px;font-weight:500;padding:8px 16px;border-radius:var(--radius-pill);border:1px solid var(--app-rule);background:var(--app-surface);color:var(--app-text);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.chip:hover{border-color:var(--app-ink)}.chip-active{background:var(--app-action);color:var(--app-action-ink);border-color:var(--app-action)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-6);padding-bottom:var(--space-16)}.empty{grid-column:1 / -1;text-align:center;padding:var(--space-16) 0;color:var(--app-text-faint);font-size:15px}.card{position:relative;display:flex;flex-direction:column;background:var(--app-surface);border:1px solid var(--app-rule);border-radius:var(--radius-card);overflow:hidden;transition:border-color .15s ease,transform .15s ease}.card:hover{border-color:var(--app-ink);transform:translateY(-2px)}.card-link{display:flex;flex-direction:column;flex:1;min-width:0;text-decoration:none;color:inherit}.card-disabled .card-link{cursor:default}.card-feedback{position:absolute;top:12px;right:12px;z-index:2;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#0b1f1c8c;color:#f4f6f5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background-color .15s ease,color .15s ease,transform .15s ease}.card-feedback:hover{background:var(--sillage-gold);color:#173f26;transform:scale(1.06)}.card-theme-badge{position:absolute;bottom:12px;left:12px;z-index:2;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:8px;box-shadow:0 2px 6px #0e3b3433}.card-disabled .card-visual{filter:grayscale(.35)}.card-disabled .card-domain{font-style:italic}.card-visual{position:relative;height:148px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--app-surface-alt)}.card-visual img,.card-visual svg{width:auto;height:72%;object-fit:contain}.badge{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:5px;background:#0b1f1c8c;color:#f4f6f5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.badge:before{content:"";width:6px;height:6px;border-radius:50%;flex-shrink:0}.badge-disponible:before{background:#7fd3a8}.badge-beta:before{background:#e8b45c}.badge-bientot:before{background:#ffffff8c}.card-body{padding:var(--space-4) var(--space-4) var(--space-6);display:flex;flex-direction:column;gap:4px;flex:1}.card-name{font-family:var(--font-display);font-weight:700;font-size:18px;letter-spacing:-.02em;color:var(--app-ink)}.card-tagline{font-size:13px;color:var(--app-text-faint)}.card-theme-tag{align-self:flex-start;margin-top:6px;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:var(--radius-pill)}.card-description{margin:8px 0 0;font-size:14px;line-height:1.55;color:var(--app-text);flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--app-rule)}.card-domain{font-family:var(--font-mono);font-size:11px;color:var(--app-text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-arrow{font-size:16px;color:var(--app-ink);transition:transform .15s ease,color .15s ease;flex-shrink:0}.card:hover .card-arrow{transform:translate(2px,-2px);color:var(--sillage-gold)}.footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;padding:var(--space-8) 0 var(--space-16);border-top:1px solid var(--app-rule);margin-top:var(--space-4);font-size:13px;color:var(--app-text-faint)}.footer code{font-family:var(--font-mono);font-size:12px;background:var(--app-surface-alt);padding:2px 6px;border-radius:4px;color:var(--app-text)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:#0b1f1c80}.modal{width:100%;max-width:480px;max-height:84vh;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);border-radius:var(--radius-panel);background:var(--app-surface);box-shadow:var(--shadow-float)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.modal-title{font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:-.02em;color:var(--app-ink)}.modal-close{width:30px;height:30px;border-radius:50%;border:1px solid var(--app-rule);background:var(--app-surface);color:var(--app-text);font-size:18px;line-height:1;cursor:pointer}.modal-close:hover{border-color:var(--app-ink);color:var(--app-ink)}.modal-hint{margin:0;font-size:13px;color:var(--app-text-faint)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}.user-list{display:flex;flex-direction:column;gap:var(--space-2)}.user-option{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:12px 16px;border:1px solid var(--app-rule);border-radius:var(--radius-control);background:var(--app-surface);color:var(--app-ink);font-family:var(--font-body);cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.user-option:hover{border-color:var(--app-ink);background:var(--app-surface-alt)}.user-option-selected{border-color:var(--app-ink);background:var(--app-surface-alt);box-shadow:inset 0 0 0 1px var(--app-ink)}.user-option-name{font-size:14px;font-weight:600}.field-error{margin:0;font-size:12px;color:var(--state-alert)}.user-table{display:flex;flex-direction:column;border:1px solid var(--app-rule);border-radius:var(--radius-control);overflow:hidden}.user-table-row{display:grid;grid-template-columns:1.2fr .9fr 1.3fr auto;gap:var(--space-2);align-items:center;padding:10px 14px;border-bottom:1px solid var(--app-rule);font-size:13px}.user-table-row:last-child{border-bottom:none}.user-table-head{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--app-text-faint);background:var(--app-surface-alt)}.user-table-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-table-actions{display:flex;gap:6px;white-space:nowrap}.user-table-actions .ghost-btn{padding:6px 10px;font-size:12px}.admin-form{display:flex;flex-direction:column;gap:var(--space-2)}.field-label{font-size:13px;font-weight:600;color:var(--app-ink);margin-top:var(--space-2)}.field-input{width:100%;padding:10px 14px;border-radius:var(--radius-control);border:1px solid var(--app-rule);background:var(--app-surface);color:var(--app-ink);font-family:var(--font-body);font-size:14px;outline:none}.field-input:focus{border-color:var(--app-ink)}.field-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--app-text);margin-top:var(--space-2);cursor:pointer}.service-checkboxes{display:flex;flex-direction:column;gap:6px;padding:10px 14px;border:1px solid var(--app-rule);border-radius:var(--radius-control);background:var(--app-surface-alt)}.service-checkboxes .field-checkbox{margin-top:0}@media (max-width: 640px){.hero-title{font-size:36px}.page{padding:0 var(--space-4)}.controls{align-items:flex-start}.search input{width:100%}.header{flex-wrap:wrap;gap:var(--space-3)}.user-table-row{grid-template-columns:1fr;gap:4px}.user-table-head{display:none}.user-table-actions{margin-top:4px}}
