:root{--blue: #003f7d;--blue-light: #e8eff7;--red: #b42318;--border: #c9d3df;--text: #1e1e1e;--muted: #5b6573;--radius: 6px}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:#f4f6f9;line-height:1.4}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--blue);color:#fff;padding:1.25rem 1.5rem}.github-link{display:inline-flex;color:#fff;opacity:.85}.github-link:hover,.github-link:focus-visible{opacity:1}.github-link:focus-visible{outline:2px solid #fff;outline-offset:3px;border-radius:50%}.app-header h1{margin:0;font-weight:400;font-size:1.75rem}.app-header p{margin:.25rem 0 0;opacity:.85}.toolbar{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem 1.5rem;background:#fff;border-bottom:1px solid var(--border)}.toolbar-spacer{flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.45rem .9rem;font:inherit;font-size:.95rem;color:var(--blue);background:#fff;border:1px solid var(--blue);border-radius:var(--radius);cursor:pointer}.btn:hover{background:var(--blue-light)}.btn:focus-visible,input:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.btn-primary{color:#fff;background:var(--blue)}.btn-primary:hover{background:#00305f}.btn-danger{color:var(--red);border-color:var(--red)}.btn-danger:hover{background:#fdecea}.btn-icon{flex:0 0 auto;width:2rem;height:2rem;padding:0}.boxes{max-width:960px;margin:1.5rem auto;padding:0 1rem;display:grid;gap:1.5rem}.installation-options{max-width:928px;margin:1.5rem auto;padding:1rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius)}.installation-options legend{color:var(--blue);font-weight:600}.installation-options p{margin:0 0 .75rem;color:var(--muted);font-size:.9rem}.installation-checkboxes{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}.installation-checkboxes label{display:flex;align-items:center;gap:.5rem;min-height:44px;cursor:pointer}.installation-checkboxes input{width:1.25rem;height:1.25rem;margin:0;accent-color:var(--blue)}.empty-state{text-align:center;color:var(--muted);margin:3rem 1rem}.add-box-action{max-width:960px;margin:0 auto 1.5rem;padding:0 1rem}.box{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.box-header{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:1rem}.field{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--muted)}.field-grow{flex:1;min-width:200px}.box-actions,.row-actions{display:flex;gap:.25rem}input[type=text]{width:100%;padding:.4rem .5rem;font:inherit;color:var(--text);border:1px solid var(--border);border-radius:4px}.box-header .input-number{width:5rem}.groups-table{width:100%;border-collapse:collapse}.groups-table th{background:var(--blue);color:#fff;text-align:left;padding:.5rem;font-weight:600}.groups-table td{padding:.3rem;border-bottom:1px solid var(--border)}.groups-table .col-number{width:6rem}.groups-table .col-name{width:30%}.groups-table .col-actions{width:7rem}.groups-table .input-number{width:100%}.btn-add-group,.rcbo-panel{margin-top:.75rem}.rcbo-list{display:grid;gap:.5rem;margin:0 0 .75rem;padding:0;list-style:none}.rcbo-item{display:grid;grid-template-columns:2.75rem 6rem minmax(0,1fr) auto;align-items:center;gap:.5rem}.rcbo-color{width:2.75rem;height:2.25rem;padding:2px;border:1px solid var(--border);border-radius:4px;background:#fff;cursor:pointer}.groups-table .col-rcbo{width:12rem}.rcbo-select{display:flex;align-items:center;gap:.4rem}.rcbo-select select{flex:1;min-width:0;padding:.4rem .3rem;font:inherit;color:var(--text);background:#fff;border:1px solid var(--border);border-radius:4px}.rcbo-swatch{flex:0 0 auto;width:1rem;height:1rem;border:1px solid rgba(0,0,0,.35);border-radius:3px}.rcbo-swatch.is-empty{background:repeating-linear-gradient(45deg,#fff 0 3px,var(--border) 3px 5px)}select:focus-visible,.rcbo-color:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.print-area{display:none}@media(max-width:640px){.installation-options{margin:1rem;padding:.75rem;min-width:0}.installation-checkboxes{flex-direction:column;gap:0}.app-header{padding:1rem}.app-header>div{min-width:0}.app-header h1{font-size:1.5rem}.github-link{flex:0 0 44px;min-height:44px;align-items:center;justify-content:center}.toolbar{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:.75rem 1rem}.toolbar-spacer{display:none}.btn{min-height:44px;padding:.5rem}.btn-icon{width:44px;height:44px;padding:0}.boxes{margin:1rem auto;gap:1rem}.add-box-action{margin-bottom:calc(8rem + env(safe-area-inset-bottom,0px))}.add-box-action .btn{width:100%}.box{min-width:0;padding:.75rem}.box-header{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:.5rem}.field{min-width:0}.box-header .input-number{width:100%}.box-actions{grid-column:1 / -1;justify-content:flex-end}input[type=text]{min-height:44px;font-size:1rem}.groups-table,.groups-table tbody{display:block;width:100%}.groups-table thead{display:none}.groups-table tr{display:grid;grid-template-columns:4rem minmax(0,1fr);gap:.5rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.groups-table td{min-width:0;border:0;padding:0}.groups-table td:nth-child(3){grid-column:1 / -1}.groups-table .group-actions,.groups-table .group-rcbo{grid-column:1 / -1}.rcbo-select select{min-height:44px;font-size:1rem}.rcbo-item{grid-template-columns:44px minmax(0,1fr);padding-bottom:.5rem;border-bottom:1px solid var(--border)}.rcbo-color{width:44px;height:44px}.rcbo-item>input[type=text]:not(.input-number),.rcbo-item .row-actions{grid-column:1 / -1}.rcbo-panel .btn-primary{width:100%}.row-actions{justify-content:flex-end}.btn-add-group{width:100%}}@page{size:A4 portrait;margin:15mm}@media print{body{background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}.no-print{display:none!important}.print-area{display:block}.print-page{break-after:page}.print-page:last-child{break-after:auto}.print-warnings{display:flex;gap:4mm;margin-bottom:5mm;break-inside:avoid;break-after:avoid;color:#000;font-family:Helvetica,Arial,sans-serif}.print-warning{flex:0 0 42mm;height:42mm;border:1.2mm solid var(--red);border-radius:3mm;padding:2mm;text-align:center;break-inside:avoid}.print-warning strong{display:block;font-size:7.4pt;line-height:4mm;white-space:nowrap}.print-warning strong:first-child{font-size:8pt}.print-warning p{margin:2mm 0 1mm;min-height:9mm;font-size:6.8pt;line-height:1.2;text-transform:uppercase}.print-warning svg{display:block;width:24mm;height:12mm;margin:0 auto}.print-page h1{margin:0 0 .25rem;color:var(--blue);font-weight:400;font-size:26pt}.print-page .print-date{margin:0 0 .5rem;color:var(--muted);font-size:10pt}.print-page h2{margin:0 0 .75rem;color:var(--blue);font-weight:400;font-size:13pt}.print-page table{width:100%;border-collapse:collapse;font-size:10pt}.print-page th,.print-page td{border:1px solid var(--blue);height:10mm;padding:0 2mm}.print-page th{background:var(--blue);color:#fff;font-size:11pt}.print-page .col-number{width:22mm}.print-page .col-name{width:55mm}.print-page td:first-child{text-align:center}.print-page td.rcbo-cell{font-weight:700}.print-rcbo-key{display:flex;flex-wrap:wrap;align-items:center;gap:1.5mm 5mm;margin:0 0 3mm;padding:0;list-style:none;font-size:9pt}.print-rcbo-key li{display:flex;align-items:center;gap:1.5mm}.print-rcbo-key-title{font-weight:700}.print-rcbo-swatch{width:4mm;height:4mm;border:.2mm solid #1e1e1e}}
