:root{color-scheme:light;--foreground:#24231f;--background:#f3f1e9;--border:#d4d0c5;--primary:#161614;--primary-foreground:#fff;background:var(--background);color:var(--foreground);font:14px/1.45 Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;padding:12px}main{max-width:1200px;margin:auto}button,input,select{font:inherit}button,input,select,label{max-width:100%}[hidden]{display:none!important}
.viz-row,.viz-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.viz-row{justify-content:space-between}.viz-row>span:first-child{font-weight:700}.text-small{font-size:12px;color:#615d54}.tabular-nums{font-variant-numeric:tabular-nums}
.btn{min-height:40px;padding:8px 11px;border:1px solid #c8c3b7;border-radius:6px;background:#fff;color:var(--foreground);cursor:pointer;font-size:13px;font-weight:600;transition:background .18s,border-color .18s,box-shadow .18s}
.btn:hover{border-color:#ef581e;box-shadow:0 2px 6px #24231f0d}.btn[aria-pressed=true]{background:#24231f;color:#fff;border-color:#24231f}.btn-primary,#se-save{background:#fa5d18;border-color:#fa5d18;color:#171714}.btn:disabled{opacity:.45;cursor:default;box-shadow:none} :focus-visible{outline:3px solid #eb641e;outline-offset:3px}
.form-label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600}.form-control,.form-select{padding:8px 10px;min-height:40px;border:1px solid #c8c3b7;border-radius:6px;background:#fff;color:#24231f;font-size:14px;width:100%}.form-control[type=file]{font-size:12px}.form-check{display:flex;align-items:center;gap:6px;min-height:32px;font-size:13px}.form-check-input{width:17px;height:17px;accent-color:#ed581b}
hr{border:0;border-top:1px solid var(--border);margin:14px 0}output{font-variant-numeric:tabular-nums}#pb-angle{margin-left:auto;font-size:12px}#pb-help{font-size:12px;color:#615d54;margin:10px 0 0;text-align:center}
#pizarron-safety-editor{width:100%}.se-stage{position:relative;width:100%;margin:4px 0 10px;border-radius:8px;background:radial-gradient(ellipse at 50% 40%,#fff 0%,#f3f1e9 75%);overflow:hidden}
#pb-canvas{display:block;width:100%;height:430px;touch-action:none;cursor:grab;outline-offset:-4px}#pb-canvas:active{cursor:grabbing}
#pb-loading,#pb-error{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;margin:0;padding:24px;background:#f3f1e9;text-align:center}
#pb-loading::before,.is-loading::before{content:"";display:inline-block;width:16px;height:16px;flex:none;border:2px solid #d5d0c5;border-top-color:#f45d1b;border-radius:50%;animation:se-spin .8s linear infinite;vertical-align:middle}.is-loading{display:inline-flex;align-items:center;gap:8px}
.se-options{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px}.se-options>div{min-width:0}.se-number{width:84px;max-width:100%}.se-label{margin-bottom:8px}.se-panel{margin-top:14px;min-height:100px}.se-panel>.viz-controls{align-items:flex-end}.se-token-controls,.se-visibility,.se-footer{margin-top:12px}.se-footer{padding-top:12px;border-top:1px solid var(--border)}.se-footer output{flex:1;min-width:160px}.se-footer .btn{margin-left:auto}
[data-variant=maintenance] #se-mode-cross,[data-variant=maintenance] #se-mode-lights,[data-variant=maintenance] .se-visibility{display:none!important}
#se-token-safe[aria-pressed=true],#se-green[aria-pressed=true]{background:#e0f3e5;color:#075f28;border-color:#288c48}#se-token-aid[aria-pressed=true],#se-yellow[aria-pressed=true]{background:#fff1b1;color:#684d00;border-color:#bc950b}#se-token-accident[aria-pressed=true],#se-red[aria-pressed=true]{background:#ffe4df;color:#a72618;border-color:#bf3c2b}
@keyframes se-spin{to{transform:rotate(360deg)}}
@media(max-width:600px){#pb-canvas{height:330px}.se-options{grid-template-columns:1fr}.btn{min-height:44px;padding:9px 10px}.form-control,.form-select{min-height:44px;font-size:16px}.viz-row>span{font-size:12px}.se-panel{min-height:155px}.form-label{flex:1;min-width:130px}#se-panel-cross .form-label{flex:0;min-width:65px}.se-panel output{width:100%}.se-panel .se-number{flex:1;max-width:130px}.se-footer{align-items:flex-start}.se-stage{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.btn{transition:none}#pb-loading::before,.is-loading::before{animation-duration:1.8s}}
.se-stage{min-height:430px}@media(max-width:600px){.se-stage{min-height:330px}}
