@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700;800;900&display=swap');
:root{--navy:#0c3043;--blue:#176db2;--cyan:#08a8dc;--green:#18794e;--amber:#9a6700;--red:#b42318;--ink:#383737;--muted:#63747d;--bg:#edf2f5;--card:#fff;--line:#d8e1e6;font-family:Poppins,ui-sans-serif,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg)}button,input,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}.brand{display:flex;gap:12px;align-items:center;padding:22px 4px}.brand-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--navy);color:#fff;font-weight:950}.brand h1{margin:0;font-size:1.55rem}.brand p{margin:3px 0 0;color:var(--muted)}.login-shell{width:min(100% - 28px,560px);margin:auto;padding-top:8vh}.panel{padding:20px;border-radius:18px;background:var(--card);box-shadow:0 2px 9px rgba(25,48,59,.08)}.login-panel{padding:26px}.login-panel h2{font-size:1.45rem}label{display:block;margin-bottom:14px;color:var(--muted);font-size:.8rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}input,select{display:block;width:100%;min-height:48px;margin-top:6px;padding:9px 12px;border:2px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-size:1rem;text-transform:none}input:focus,select:focus{outline:3px solid rgba(28,110,164,.17);border-color:var(--blue)}.button{min-height:48px;padding:10px 18px;border:0;border-radius:12px;font-weight:850}.primary{background:var(--navy);color:#fff}.secondary{background:#e6eef2;color:var(--navy)}.fit{width:auto}.login-panel .button{width:100%}.notice{min-height:22px;margin:12px 0 0;color:var(--red);font-weight:750}.notice.success{color:var(--green)}
.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:255px;display:flex;flex-direction:column;padding:18px;background:#fff;border-right:1px solid var(--line)}.brand.compact{padding:5px 2px 28px}.brand.compact .brand-mark{width:43px;height:43px;border-radius:12px}.brand.compact h1{font-size:1.25rem}.sidebar nav{display:grid;gap:7px}.sidebar nav button{padding:13px 14px;border:0;border-radius:11px;background:transparent;color:var(--muted);text-align:left;font-weight:850}.sidebar nav button.active{background:#e8f1f6;color:var(--navy)}.session{margin-top:auto;padding:14px;border-top:1px solid var(--line)}.session span,.session small{display:block}.session small{color:var(--muted);margin:3px 0 10px}.session button{padding:0;border:0;background:transparent;color:var(--blue);font-weight:800}.content{margin-left:255px;padding:30px 32px 60px}.mobile-header{display:none}.global:empty{display:none}.view{display:none}.view.active{display:block}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px}.page-heading h2{margin:2px 0 4px;font-size:2rem}.page-heading p,.material-heading p{margin:0;color:var(--muted)}.eyebrow{color:var(--blue);font-size:.72rem;font-weight:950;letter-spacing:.13em}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.summary-card{padding:20px;border-radius:16px;background:var(--navy);color:#fff}.summary-card span{display:block;font-size:.76rem;opacity:.72;text-transform:uppercase}.summary-card strong{display:block;margin-top:7px;font-size:1.8rem}.summary-card.warning{background:#805400}.toolbar{display:flex;justify-content:flex-end;margin-bottom:12px}.toolbar input{max-width:360px;margin:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px 10px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-size:.76rem;text-transform:uppercase}.badge{display:inline-block;padding:5px 9px;border-radius:99px;background:#e8f1f6;color:var(--navy);font-size:.8rem;font-weight:850}.badge.enviado{background:#fff0d8;color:#805400}.badge.cancelado{background:#fde8e6;color:var(--red)}.stock-low{color:var(--red);font-weight:850}.empty{padding:28px;text-align:center;color:var(--muted)}.row-button{padding:6px 9px;border:0;border-radius:8px;background:#e6eef2;color:var(--navy);font-weight:800}
.dialog{width:min(calc(100% - 30px),760px);padding:25px;border:0;border-radius:18px;box-shadow:0 22px 75px rgba(11,31,42,.35)}.dialog.wide{width:min(calc(100% - 30px),1120px)}.dialog::backdrop{background:rgba(8,25,34,.6)}.dialog-heading,.material-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.dialog-heading h2{margin:2px 0}.close{border:0;background:transparent;color:var(--muted);font-size:2rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 16px}.form-grid.three{grid-template-columns:repeat(3,1fr)}.span-2{grid-column:span 2}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.material-heading{align-items:flex-end;margin:8px 0 12px;padding-top:15px;border-top:1px solid var(--line)}.material-heading h3{margin-bottom:3px}.event-items{max-height:42vh;overflow:auto;border:1px solid var(--line);border-radius:13px}.item-line{display:grid;grid-template-columns:58px minmax(200px,1fr) 120px 120px 130px;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line)}.item-line:last-child{border:0}.item-line strong,.item-line small{display:block}.item-line small{color:var(--muted)}.item-line input{margin:0;min-height:42px}.availability{font-weight:850}.availability.short{color:var(--red)}.cost-total{padding:15px;text-align:right;font-size:1.05rem}.cost-total strong{margin-left:12px;font-size:1.35rem;color:var(--navy)}
.event-first-save{display:flex;align-items:center;gap:14px;margin:4px 0 18px}.event-first-save span{color:var(--muted);font-size:.9rem}.material-search{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:12px}.material-search input{margin:0}.selected-line{background:#f2f7fa}.item-photo-link{display:inline-flex;width:54px;height:54px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:9px;background:#f3f6f7}.item-photo-thumb{width:44px;height:44px;display:block;object-fit:contain}.item-photo-placeholder{display:inline-flex;width:54px;height:54px;align-items:center;justify-content:center;border:1px dashed #b8c6cd;border-radius:9px;color:var(--muted);font-size:.68rem;text-align:center}.item-photo-box{display:flex;align-items:center;gap:14px;margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f6f9fa}.item-photo-box[hidden]{display:none}.item-photo-box img{width:120px;height:90px;object-fit:contain;border-radius:9px;background:#fff}.form-grid label>span{font-weight:500;color:var(--muted)}
@media(max-width:1000px){.summary-grid{grid-template-columns:1fr 1fr}.form-grid.three{grid-template-columns:1fr 1fr}.span-2{grid-column:span 1}.item-line{grid-template-columns:58px 1fr 100px 110px}.item-line .line-cost{display:none}}
@media(max-width:720px){.sidebar{z-index:10;transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0);box-shadow:10px 0 35px rgba(0,0,0,.2)}.content{margin:0;padding:18px 14px 40px}.mobile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.mobile-header strong,.mobile-header small{display:block}.mobile-header small{color:var(--muted)}.mobile-header button{width:45px;height:45px;border:0;border-radius:11px;background:#fff;color:var(--navy);font-size:1.25rem}.page-heading{align-items:flex-start}.page-heading h2{font-size:1.6rem}.form-grid,.form-grid.three{grid-template-columns:1fr}.span-2{grid-column:auto}.dialog{padding:19px}.dialog-actions{display:grid}.dialog-actions .button{width:100%}.item-line{grid-template-columns:58px 1fr 95px}.item-line .availability{grid-column:2}.item-line .line-cost{display:block;grid-column:3;grid-row:2}.event-items{max-height:45vh}}
@media(max-width:430px){.summary-grid{grid-template-columns:1fr 1fr;gap:8px}.summary-card{padding:14px}.summary-card strong{font-size:1.45rem}.page-heading{display:block}.page-heading .button{width:100%;margin-top:12px}th,td{padding:10px 8px}.item-line{grid-template-columns:58px 1fr}.item-line .availability,.item-line .line-cost{grid-column:2;grid-row:auto}.item-line input{grid-column:2}.item-photo-box{align-items:flex-start;flex-direction:column}}

/* Identidad Material.es: palabra en Poppins y símbolo .es oficial sin redibujar. */
.brand{gap:18px}.material-brand{display:inline-flex;align-items:center;gap:10px;height:64px;white-space:nowrap}.material-word{color:#383737;font-family:Poppins,ui-sans-serif,system-ui,sans-serif;font-size:2.35rem;font-weight:800;line-height:1;letter-spacing:-.055em}.official-es{position:relative;display:block;flex:0 0 147px;width:147px;height:64px;overflow:hidden}.official-es img{position:absolute;top:-67px;left:-182px;width:auto;height:147px;max-width:none}.brand-copy{min-width:0}.brand h1{font-size:1.28rem}.login-shell{width:min(100% - 28px,720px)}.primary{background:linear-gradient(125deg,var(--blue),var(--cyan))}.sidebar{width:285px}.content{margin-left:285px}.brand.compact{display:block}.brand.compact .material-brand{height:48px;gap:7px}.brand.compact .material-word{font-size:1.45rem}.brand.compact .official-es{flex-basis:110px;width:110px;height:48px}.brand.compact .official-es img{top:-50px;left:-136px;height:110px}.brand.compact>p{margin:5px 0 0 2px}
@media(max-width:720px){.content{margin-left:0}.mobile-logo{height:39px;gap:6px}.mobile-logo .material-word{font-size:1.35rem}.mobile-logo .official-es{flex-basis:90px;width:90px;height:39px}.mobile-logo .official-es img{top:-41px;left:-111px;height:90px}}

.button.danger{background:#fde8e6;color:var(--red)}.button:disabled{opacity:.5;cursor:not-allowed}.button[hidden]{display:none}.button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.item-actions #delete-item{margin-right:auto}.delete-item-help{margin:16px 0 0;color:var(--muted);font-size:.85rem}

.catalog-sort{display:inline-flex;align-items:center;gap:8px;padding:4px 0;border:0;background:transparent;color:inherit;font:inherit;text-transform:inherit;text-align:left}.catalog-sort span{font-size:.75rem}.catalog-sort:focus-visible{outline:3px solid var(--blue);outline-offset:4px;border-radius:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
