html,body{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:#fff}*,*:before,*:after{box-sizing:border-box}:root{--semovi-maroon: #9d2148;--text: #1f2937;--muted: #6b7280;--border: #cbd5e1;--bg: #ffffff;--card-bg: #fbfdff;--shadow: 0 2px 10px rgba(0, 0, 0, .08);--primary: #9d2148;--primary-hover: #861c3e;--primary-text: #ffffff;--danger: #b91c1c;--danger-bg: #fef2f2;--danger-border: #fecaca}.page--admin{min-height:100vh;width:100vw;background:#f6f7fb;color:var(--text);padding:22px 24px 48px;overflow-x:hidden}.page--admin .page__header{max-width:none;width:100%;margin:0 0 18px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.page--admin .page__hint{margin-top:6px;font-size:14px;color:var(--muted)}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.alert{max-width:none;width:100%;margin:0 0 14px;padding:10px 12px;border-radius:6px;border:1px solid transparent;font-size:14px}.alert--error{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.card{max-width:none;width:100%;margin:0 0 16px;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);padding:14px 14px 16px}.card__title{font-size:16px;font-weight:700;margin:0 0 12px;color:var(--text)}.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.field{display:grid;gap:6px}.field--full{grid-column:1 / -1}.field--actions{display:flex;align-items:flex-end;gap:10px}.field--checkbox{display:flex;align-items:center;gap:10px}.field__label{font-size:13px;color:var(--muted)}.field__input{width:100%;border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:14px;outline:none;background:#fff;color:var(--text)}.field__input:focus{border-color:color-mix(in srgb,var(--primary) 50%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent)}.actions{grid-column:1 / -1;display:flex;gap:10px}.btn{appearance:none;border:1px solid var(--border);background:#fff;color:var(--text);border-radius:6px;padding:8px 12px;font-size:14px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover{background:color-mix(in srgb,var(--border) 20%,#ffffff)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.btn--primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn--secondary{border-color:color-mix(in srgb,var(--primary) 50%,var(--border))}.link{color:var(--primary);text-decoration:none;font-weight:600}.link:hover{text-decoration:underline}.table{width:100%;display:grid;gap:8px}.table__row{display:grid;grid-template-columns:1fr 2fr 1fr 2fr;gap:10px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:8px;background:#fff}.table__row--proyectos{grid-template-columns:2fr 1.2fr .8fr auto}.table__row--licencias{grid-template-columns:1fr 2fr 1fr 2fr auto}.table__head{background:color-mix(in srgb,var(--border) 15%,#ffffff);font-size:13px;font-weight:700;color:var(--muted)}.cell--strong{font-weight:700}.cell--mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.cell--right{text-align:right;display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap}.modal-backdrop{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px;z-index:1000}.modal{width:min(900px,100%);background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 40px #00000040;padding:14px}.modal--narrow{width:min(520px,100%)}.modal__header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.modal__title{font-size:16px;font-weight:700}.modal__body{margin-bottom:12px}.modal__footer{display:flex;justify-content:flex-end;gap:10px}.qr{display:grid;gap:10px;justify-items:center}.qr__img{width:260px;height:260px;border:1px solid var(--border);border-radius:8px;background:#fff}.qr__value{font-size:12px;word-break:break-all;text-align:center}@media(max-width:900px){.form,.table__row{grid-template-columns:1fr}}
