:root{color-scheme:light;--bg:#f3f6fb;--surface:#fff;--ink:#1f3048;--muted:#66758a;--blue:#2563eb;--line:#e3e9f2;--green:#18a56b;--amber:#e7a821;--red:#dc4d57;--radius:16px;font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.55}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:9px;padding:10px 16px;cursor:pointer;font-weight:650;text-decoration:none;transition:transform .15s,background .15s}button:hover,.button:hover{transform:translateY(-1px);text-decoration:none}button:disabled{opacity:.5;cursor:default}.primary{background:var(--blue);color:white}.secondary{background:#e9effa;color:#244f96}.danger{background:#fde8eb;color:#a32634}.ghost{background:transparent;color:var(--muted)}.app{display:flex;min-height:100vh}.sidebar{width:244px;position:fixed;inset:0 auto 0 0;background:#142848;color:#b7c8e1;padding:28px 18px;overflow:auto;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;color:#fff;font-size:23px;font-weight:750;margin:0 10px 30px}.brand small{font-size:11px;color:#9ab7e7}.brand-mark{display:inline-grid;place-items:center;width:38px;height:38px;background:#3c78ec;color:white;border-radius:12px;font-size:24px;font-weight:800}.nav-link{display:block;color:#c0cee4;padding:11px 14px;border-radius:9px;margin:2px 0;font-size:14px}.nav-link:hover,.nav-link.active{background:#294771;color:white;text-decoration:none}.nav-group{color:#7f9bc0;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:1.2px;padding:15px 14px 0;margin:0}.sidebar-foot{margin-top:auto;padding:30px 14px 0;color:#9bb2d0;font-size:12px}.workspace{margin-left:244px;flex:1;min-width:0}.topbar{height:78px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:20px}.account{display:flex;align-items:center;gap:10px}.account form{margin:0}.avatar{display:grid;place-items:center;background:#e5ecfb;color:#3d61a6;border-radius:50%;width:36px;height:36px;font-weight:750}main{padding:30px 34px;max-width:1600px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.eyebrow{font-size:11px;letter-spacing:1.7px;text-transform:uppercase;color:var(--muted);font-weight:750;margin:0 0 7px}h1{font-size:29px;letter-spacing:-.7px;line-height:1.2;margin:0}h2{font-size:18px;margin:0 0 18px;letter-spacing:-.3px}h3{font-size:16px;margin:0}.muted{color:var(--muted)}.company-picker{display:flex;align-items:end;gap:8px;margin:0}.company-picker label{min-width:180px;margin:0;font-size:12px}.company-picker select{padding:8px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:22px;box-shadow:0 5px 18px #20334d05;animation:appear .35s both}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.metric{display:flex;flex-direction:column;background:white;padding:22px;border:1px solid var(--line);border-radius:var(--radius);border-top:4px solid var(--blue);color:var(--ink);animation:appear .3s both}.metric:hover{text-decoration:none}.metric strong{font-size:36px;line-height:1.3;letter-spacing:-1px;margin:8px 0}.metric span{font-size:13px;color:var(--muted)}.metric small{color:var(--muted)}.green{border-top-color:var(--green)}.amber{border-top-color:var(--amber)}.red{border-top-color:var(--red)}.dashboard-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.quick-link{display:block;padding:14px;border:1px solid var(--line);border-radius:10px;margin:10px 0;font-weight:600}.bar-row{display:grid;grid-template-columns:1fr auto;gap:6px;font-size:13px;margin:14px 0}.bar-track{grid-column:1/-1;height:8px;border-radius:5px;background:#eef2f7;overflow:hidden}.bar-track span{display:block;height:8px;background:var(--amber);border:0}.bar-track .state-abierta{background:var(--green)}.bar-track .state-cerrada{background:var(--red)}.incident-card{border:1px solid var(--line);border-top:4px solid var(--amber);border-radius:12px;padding:18px;margin:14px 0;background:white;transition:box-shadow .2s}.incident-card:hover{box-shadow:0 7px 22px #28436d0d}.incident-card.state-abierta{border-top-color:var(--green)}.incident-card.state-cerrada{border-top-color:var(--red)}.incident-card.state-resuelta{border-top-color:#398de5}.card-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.badge{display:inline-block;border-radius:30px;background:#fff2ce;color:#8c6206;font-size:11px;font-weight:750;padding:5px 10px;white-space:nowrap}.badge.state-abierta,.badge.state-completa,.badge.state-aprobado,.badge.state-enviada{background:#dff6eb;color:#18784f}.badge.state-cerrada,.badge.state-rechazado,.badge.state-fallida{background:#fde4e8;color:#a82b3a}.badge.state-resuelta,.badge.state-finalizada{background:#dfedff;color:#2f64ab}.badge.state-cancelada,.badge.state-no_seleccionado{background:#edf0f5;color:#69788d}.list-item{border-top:1px solid var(--line);padding:20px 0}.list-item:first-of-type{border-top:0}.list-item p{margin:9px 0}.pre{white-space:pre-wrap;overflow-wrap:anywhere}.notice{padding:14px 18px;border-radius:10px;margin-bottom:22px}.success{background:#dff6eb;color:#1d7551}.error{background:#fde6ea;color:#9e2b3d}.warning{background:#fff2d1;color:#8b650e}form{margin:14px 0 8px}label{display:block;font-size:13px;font-weight:650;margin:13px 0;color:#4c5f79}input:not([type=checkbox]):not([type=hidden]),textarea,select{width:100%;display:block;border:1px solid #d5dfeb;padding:10px 12px;border-radius:8px;background:white;color:var(--ink);margin-top:5px;max-width:100%}input[type=checkbox]{accent-color:var(--blue);width:16px;height:16px;vertical-align:middle}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:3px solid #2563eb22;border-color:var(--blue)}:focus-visible{outline:3px solid #5692f7;outline-offset:3px}fieldset{border:1px solid var(--line);border-radius:10px;margin:16px 0;padding:16px}legend{font-weight:650;font-size:13px}.form-grid,.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0}.empty{color:var(--muted);padding:18px;background:#f6f8fc;border-radius:10px}.stat-chips{display:flex;flex-wrap:wrap;gap:12px}.stat-chips span{background:#f3f6fb;padding:12px;border-radius:10px;color:var(--muted)}.stat-chips strong{color:var(--ink);margin-left:8px}.footer{font-size:11px;color:var(--muted);padding:12px 0 4px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--muted);font-size:12px;background:#f7f9fc}th,td{padding:12px;border-bottom:1px solid var(--line)}.pagination{display:flex;gap:20px;align-items:center;justify-content:center;margin:24px}details{border:1px solid var(--line);padding:12px;border-radius:8px}summary{cursor:pointer;font-weight:600}li{margin:10px 0}.photo{max-width:100%;max-height:440px;border-radius:12px}.photos{display:flex;flex-wrap:wrap;gap:12px}.photos img{max-width:240px;max-height:180px;border-radius:10px}.budget-total{font-size:32px;font-weight:800}.menu-button{display:none}.login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at top left,#dce8fb,transparent 55%),#f1f5fb}.login-card{width:min(430px,calc(100% - 32px));padding:36px;background:white;border-radius:22px;border:1px solid var(--line);box-shadow:0 20px 80px #223b6514;margin:30px auto;animation:appear .4s}.login-card .brand-mark{margin-bottom:24px}.login-card button{width:100%;margin-top:12px}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{width:210px}.workspace{margin-left:210px}main{padding:24px}.topbar{padding:0 24px}.dashboard-grid{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{transform:translateX(-100%);z-index:20;width:244px;transition:transform .2s}.sidebar.open{transform:translateX(0)}.workspace{margin-left:0}.menu-button{display:inline-flex}.topbar{padding:12px 16px;height:auto;min-height:68px}.topbar>.muted{display:none}.account>span:not(.avatar){display:none}main{padding:20px 16px}.page-heading{align-items:start;flex-direction:column}.company-picker{width:100%}.company-picker label{flex:1}h1{font-size:26px}.card{padding:18px}.metrics{gap:10px}.metric{padding:16px}.metric strong{font-size:30px}.card-heading{flex-wrap:wrap}.form-grid,.grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.point-choice{display:grid;grid-template-columns:1fr 90px;align-items:center;gap:15px}.timeline-item{border-left:3px solid #dce7f8;padding:5px 0 5px 18px;margin:16px 0}.danger-zone{margin:16px 0}.card-grid .card{margin-bottom:0}@media(max-width:760px){.card-grid{grid-template-columns:1fr}.point-choice{grid-template-columns:1fr 70px}}

.company-logo{max-width:165px;max-height:80px;object-fit:contain;background:white;padding:8px;border-radius:10px;margin:20px auto}.calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:20px 0}.calendar-nav h2{margin:0}.calendar-scroll{overflow:auto}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}.calendar-weekday{padding:12px;text-align:center;background:#e8eef8;font-weight:700}.calendar-day{min-height:145px;padding:10px;background:white}.calendar-day.blank{background:#f5f7fb}.calendar-event{display:block;border-left:3px solid var(--blue);padding:7px;margin:8px 0;background:#eef4ff;border-radius:5px;font-size:11px;overflow-wrap:anywhere}.calendar-event small{display:block;color:var(--muted)}.calendar-event.cancelled{opacity:.55;border-color:var(--red);text-decoration:line-through}.weekdays{display:flex;flex-wrap:wrap;gap:14px}
/* Temas por empresa */
a{color:var(--link,var(--blue))}.sidebar{background:var(--sidebar,#142848);color:var(--sidebar-muted,#b7c8e1)}.sidebar .brand,.sidebar .nav-link.active{color:var(--sidebar-ink,#fff)}.sidebar .nav-link{color:var(--sidebar-muted,#c0cee4)}.sidebar .nav-link:hover,.sidebar .nav-link.active{background:var(--sidebar-active,#294771)}.primary,.brand-mark{background:var(--blue);color:var(--primary-ink,#fff)}.topbar,.card,.metric,.incident-card,input,select,textarea,.calendar-day{background:var(--surface);color:var(--ink)}.secondary,.stat-chips,.empty,th,.calendar-weekday,.calendar-event{background:var(--soft,#e9effa);color:var(--ink)}input,select,textarea{border-color:var(--line)}.calendar-day.blank{background:var(--bg)}.theme-editor{border:1px solid var(--line);border-radius:12px;padding:18px;margin:0 0 18px}.theme-editor legend{font-weight:700}.theme-editor input[type=color]{width:100%;height:46px;padding:4px;cursor:pointer}.theme-preview{display:grid;grid-template-columns:145px 1fr;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--bg);color:var(--ink);margin-top:16px}.theme-preview aside{padding:22px 14px;background:var(--sidebar);color:var(--sidebar-ink);font-weight:700}.theme-preview aside span{display:block;margin-top:14px;font-size:12px;font-weight:400}.theme-preview>div{padding:20px}.theme-preview article{background:var(--surface);padding:18px;border:1px solid var(--line);border-radius:10px;margin-top:12px}.theme-preview article p{font-size:13px}.preview-button{display:inline-block;background:var(--blue);color:var(--primary-ink);border-radius:8px;padding:9px 14px}.settings-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.settings-tabs a{padding:10px 15px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink)}[id=apariencia],[id=identificadores],[id=telegram],[id=correo]{scroll-margin-top:25px}@media(max-width:550px){.theme-preview{grid-template-columns:100px 1fr}.theme-preview>div{padding:12px}}

.settings-tabs{gap:12px;padding:8px 0}.settings-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid var(--line);box-shadow:0 2px 5px #00000008}.settings-tabs a:hover{background:var(--soft);text-decoration:none}.color-picker-row{display:flex;align-items:center;gap:12px;margin-top:7px}.theme-editor .color-picker-row input[type=color]{width:62px;min-width:62px;flex:0 0 62px;height:44px;appearance:auto;-webkit-appearance:auto;padding:3px;border:1px solid var(--line);border-radius:7px}.color-swatch{display:inline-block;width:34px;height:34px;border:1px solid var(--line);border-radius:6px;flex:0 0 34px}.color-value{font-family:Consolas,monospace;color:var(--ink);font-size:14px}.nfc-manual{margin-top:12px}.nfc-full-url{font-family:Consolas,monospace;font-size:13px}.settings-tabs a+a{margin-left:0}
input:not([type=checkbox]):not([type=hidden]),textarea,select{background:var(--surface);border-color:var(--line);color:var(--ink)}label{color:var(--muted)}.nav-group,.sidebar-foot,.brand small{color:var(--sidebar-muted,#9bb2d0)}
.round-point-done{border-left:4px solid var(--green);padding:10px 12px;background:var(--soft);border-radius:6px}.round-point-pending{border-left:4px solid var(--amber);padding:10px 12px}.point-qr{display:block;width:min(320px,100%);height:auto;margin:20px 0;border:1px solid var(--line);border-radius:8px;background:white}
.header-brand{display:flex;align-items:center;gap:14px;min-width:0;flex:1}.header-company-logo{width:auto;max-width:145px;max-height:48px;object-fit:contain;border-radius:4px}.about-grid{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:12px 22px;margin:0}.about-grid dt{color:var(--muted);font-weight:650}.about-grid dd{margin:0;overflow-wrap:anywhere}@media(max-width:760px){.header-company-logo{max-width:100px;max-height:38px}.header-brand>.muted{display:none}.about-grid{grid-template-columns:1fr;gap:5px}.about-grid dd{margin-bottom:12px}}
.brand-name{display:flex;flex-direction:column;line-height:1.1}.brand-name small{font-size:11px;letter-spacing:1.5px;margin-top:6px}.arrival-card{border-left:4px solid var(--blue);background:var(--soft);border-radius:9px;padding:20px;margin:18px 0}

.public-card{width:min(960px,95vw);background:white;padding:16px;border-radius:12px}.public-card iframe{width:100%;height:70vh;border:0}.public-card>p{text-align:center}

/* Marca del programa: independiente de los colores y logos de empresa. */
.sidebar .brand{display:block;margin-bottom:18px;padding:0;background:#fff;border-radius:12px;overflow:hidden}.app-brand-logo{display:block;width:100%;height:auto}.login-brand-logo{display:block;width:100%;max-width:380px;height:auto;margin:0 auto 22px;background:#fff;border-radius:12px}.public-brand-logo{display:block;width:100%;max-width:380px;height:auto;margin:0 auto 18px;background:#fff;border-radius:12px}

.sidebar .brand{display:flex;align-items:center;gap:10px;padding:12px;color:#142848;font-size:19px;font-weight:750;line-height:1.2;text-decoration:none;flex-shrink:0}.app-brand-icon{width:44px;height:44px;object-fit:contain;flex-shrink:0}.about-brand-logo{display:block;width:100%;max-width:420px;height:auto;margin:0 auto 24px;background:#fff;border-radius:12px}

.repair-picker-row{display:flex;align-items:flex-end;gap:10px}.repair-picker-row label{flex:1;min-width:0}.repair-add{font-size:24px;line-height:1;min-width:46px;min-height:46px;margin-bottom:0}.repair-selected{list-style:none;padding:0;display:flex;gap:8px;flex-wrap:wrap}.repair-selected li{display:flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink)}.repair-selected .ghost{font-size:22px;min-width:36px;min-height:36px}.repair-add:disabled{opacity:.5;cursor:not-allowed}

.repair-picker-row{display:grid;grid-template-columns:minmax(0,1fr) 46px;align-items:end}.repair-picker-row label{margin:0;display:block}.repair-picker-row select{height:46px;box-sizing:border-box;margin-bottom:0}.repair-picker-row .repair-add{display:flex;align-items:center;justify-content:center;width:46px;height:46px;min-height:46px;padding:0;margin:0;line-height:1;font-size:26px;align-self:end}.page-navigation{margin:0 0 18px}

.photo-picker{border:1px dashed var(--line);border-radius:14px;padding:18px;margin:16px 0;background:var(--surface)}.photo-heading{display:block;font-weight:650;margin-bottom:12px}.photo-picker .photo-button{position:relative;display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:12px 18px;margin:0 0 8px;border-radius:10px;background:var(--blue);color:#fff;cursor:pointer;overflow:hidden;transition:filter .15s}.photo-button:hover{filter:brightness(.95)}.photo-button:focus-within{outline:3px solid var(--ink);outline-offset:3px}.photo-picker .photo-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}.photo-picker small{display:block;color:var(--muted)}.photo-status{margin:10px 0;color:var(--muted);overflow-wrap:anywhere}.photo-preview{display:block;max-width:100%;max-height:240px;border-radius:10px;object-fit:contain;margin-top:12px}.photo-picker [hidden]{display:none}

.login-card .remember-choice{display:flex;align-items:center;gap:12px;margin:18px 0;cursor:pointer}.login-card .remember-choice input{width:20px;height:20px;margin:0;flex-shrink:0;accent-color:var(--blue)}.remember-choice small{display:block;color:var(--muted);font-weight:400}

.color-picker-row input[type=color]{width:62px;min-width:62px;flex:0 0 62px;height:44px;appearance:auto;-webkit-appearance:auto;padding:3px;border:1px solid var(--line);border-radius:7px;cursor:pointer}.color-picker-row input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.color-picker-row input[type=color]::-webkit-color-swatch{border:0;border-radius:4px}.color-picker-row input[type=color]::-moz-color-swatch{border:0;border-radius:4px}.corporate-logo-preview{margin:16px 0;padding:16px;background:#fff;border:1px solid var(--line);border-radius:12px;display:inline-block}.corporate-logo-preview img{display:block;max-width:100%;width:220px;height:100px;object-fit:contain}.corporate-logo-preview figcaption{color:#475569;margin-top:8px}.public-login-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.public-login-actions .button{flex:1;min-height:48px;text-align:center}

.point-disclosure{padding:0;overflow:hidden}.point-disclosure>summary{padding:18px 20px;cursor:pointer;font-weight:650;color:var(--ink);transition:background .15s}.point-disclosure>summary:hover{background:var(--bg)}.point-disclosure[open]>summary{border-bottom:1px solid var(--line)}.point-disclosure-content{padding:18px 20px}.point-disable{margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:10px}.point-disable>summary{color:var(--red);font-weight:650;cursor:pointer}.point-disable input{max-width:340px}

.list-item.point-disclosure,.list-item.point-disclosure:first-of-type{border:1px solid var(--line);margin:12px 0;border-radius:12px}.point-disclosure>summary{display:flex;align-items:center;justify-content:flex-start;gap:12px;list-style:none}.point-disclosure>summary::-webkit-details-marker{display:none}.point-disclosure>summary::before{content:'›';font-size:24px;line-height:1;transition:transform .15s;flex-shrink:0}.point-disclosure[open]>summary::before{transform:rotate(90deg)}.point-name{min-width:0;overflow-wrap:anywhere}.point-disclosure>summary .badge{flex-shrink:0}.point-search{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin-bottom:20px}.point-search label{flex:1;min-width:180px;margin:0}.point-search button,.point-search .button{min-height:44px}.point-description{font-weight:400;color:var(--ink)}@media(max-width:480px){.point-disclosure>summary{padding:14px 12px;gap:8px}.point-disclosure-content{padding:14px 12px}}

.point-disclosure>summary .point-name{flex:1}.point-disclosure>summary .badge{margin-left:auto}

.point-children{padding:12px 16px;background:var(--bg);border-radius:10px;margin:12px 0}.point-children ul{margin:8px 0;padding-left:20px}

.point-search label:has(select){flex:0 1 240px}.point-search select{min-height:44px}

.workspace{min-width:0}.calendar-grid{width:100%;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day{min-width:0}.mobile-date{display:none}.calendar-legend{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.calendar-legend span{padding:6px 10px;border-radius:7px;font-size:12px}.calendar-event.calendar-done,.calendar-legend .calendar-done{background:#dcfce7;color:#14532d;border-color:#16a34a}.calendar-event.calendar-missed,.calendar-legend .calendar-missed{background:#fee2e2;color:#7f1d1d;border-color:#dc2626}.calendar-event.calendar-progress,.calendar-legend .calendar-progress{background:#fef3c7;color:#78350f;border-color:#d97706}.calendar-event.calendar-planned,.calendar-legend .calendar-planned{background:#dbeafe;color:#1e3a8a;border-color:#2563eb}.calendar-event.calendar-cancelled,.calendar-legend .calendar-cancelled{background:#e2e8f0;color:#334155;border-color:#64748b}.calendar-event small{color:inherit}.settings-disclosure{padding:0;overflow:hidden;margin-bottom:18px}.settings-disclosure>summary{padding:20px;cursor:pointer;font-size:18px}.settings-disclosure[open]>summary{border-bottom:1px solid var(--line)}.settings-content{padding:20px}@media(max-width:760px){.calendar-grid{grid-template-columns:minmax(0,1fr);gap:8px;background:transparent;border:0;overflow:visible}.calendar-weekday,.calendar-day.blank,.desktop-date{display:none}.mobile-date{display:inline}.calendar-day{min-height:0;border:1px solid var(--line);border-radius:10px;padding:14px}.calendar-event{font-size:13px}.calendar-scroll{overflow:visible}.calendar-nav{gap:8px;flex-wrap:wrap}.calendar-nav h2{font-size:20px}.calendar-date{display:block;margin-bottom:8px}.settings-content{padding:16px}}

.badge.state-no_realizada{background:#fee2e2;color:#7f1d1d}

.round-point-order{display:grid;gap:10px}.round-order-row{display:grid;grid-template-columns:24px minmax(0,1fr) 82px auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.round-order-row .check{margin:0;overflow-wrap:anywhere}.round-order-row .round-position{margin:0}.round-position input{width:74px;text-align:center}.round-move-controls{display:flex;gap:6px}.round-move-controls button{width:42px;min-height:42px;padding:8px;font-size:20px}.round-drag-handle{cursor:grab;color:var(--muted);font-size:22px}.round-order-selected{border-left:4px solid var(--blue)}.round-order-dragging{opacity:.45}.round-drag-handle[hidden],.round-move-controls[hidden]{display:none}.round-order-row:has(.round-drag-handle[hidden]){grid-template-columns:minmax(0,1fr) 82px}@media(max-width:520px){.round-order-row{grid-template-columns:18px minmax(0,1fr) auto;gap:8px}.round-order-row .round-position{grid-column:2;grid-row:2}.round-move-controls{grid-column:3;grid-row:1 / span 2}.round-move-controls button{width:40px;min-height:44px}.round-order-row:has(.round-drag-handle[hidden]){grid-template-columns:minmax(0,1fr) 82px}}

.user-role-heading{margin:24px 0 12px;padding:10px 14px;background:var(--bg);border-left:4px solid var(--blue);border-radius:6px;font-size:16px}

.pwa-install-button{display:block;margin:20px auto;min-height:46px}
@media(display-mode:standalone){body{overscroll-behavior-y:none}}
.material-row{display:grid;grid-template-columns:minmax(160px,3fr) minmax(95px,1fr) minmax(110px,1fr) auto;gap:12px;align-items:end;margin:12px 0;padding:14px;border:1px solid var(--line);border-radius:12px}.material-row label{margin:0}.material-row button{min-height:44px}.signature-box{margin:20px 0;padding:16px;border:1px solid var(--line);border-radius:12px}.signature-box canvas{display:block;width:100%;max-width:900px;height:auto;aspect-ratio:3/1;background:#fff;border:1px solid #cbd5e1;border-radius:8px;touch-action:none;cursor:crosshair}.signature-box button{margin-top:12px}@media(max-width:600px){.material-row{grid-template-columns:1fr 1fr}.material-row label:first-child{grid-column:1/-1}.material-row button{grid-column:1/-1;justify-self:end}.signature-box{padding:10px}}

.state-incompleta{background:#fee2e2;color:#991b1b;border-color:#fecaca}
