:root{--ink:#17313a;--dark:#102a30;--dark2:#17353c;--slate:#5f7480;--teal:#1d998c;--teal2:#107a71;--mint:#e9f8f4;--lime:#baf070;--border:#e1e8e9;--bg:#f4f7f7;--white:#fff;--danger:#bc4848;--shadow:0 15px 45px rgba(24,53,60,.07)}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-size:15px;-webkit-font-smoothing:antialiased}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}a{color:inherit;text-decoration:none}p{line-height:1.6}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.85rem,3vw,2.45rem);letter-spacing:-.048em;line-height:1.12;margin-bottom:12px}h2{font-size:1.12rem;letter-spacing:-.025em;margin-bottom:6px}small{font-size:.82rem;color:#7b8f93}label{display:block;color:#2f4950;font-size:.87rem;font-weight:650;margin-bottom:8px}label b{color:var(--danger)}input:not([type=radio]):not([type=checkbox]),select,textarea{width:100%;min-height:47px;border:1px solid #d9e4e5;border-radius:12px;background:white;color:var(--ink);padding:12px 14px;outline:none;transition:border .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:#3aa99c;box-shadow:0 0 0 3px rgba(29,153,140,.12)}textarea{min-height:83px;resize:vertical}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23486169' stroke-width='2'%3E%3Cpath d='m4 7 5 5 5-5'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:42px}::placeholder{color:#9aabb0}.btn{min-height:42px;padding:11px 18px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700;font-size:.9rem;border:1px solid transparent;text-align:center;transition:transform .12s,filter .12s}.btn:hover:not(:disabled){filter:brightness(.97);transform:translateY(-1px)}.btn-primary{background:var(--teal);color:#fff}.btn-outline{background:#fff;border-color:var(--border);color:#37545b}.btn-soft{background:#e7f6f1;color:#127b6e}.btn-danger{background:#fff0f0;color:#a84848;border-color:#f8d7d7}.btn-large{width:100%;padding:15px 20px;min-height:53px;margin-top:14px;font-size:1rem}.eyebrow{display:block;font-size:.69rem;font-weight:850;letter-spacing:.12em;color:#279c8c;margin-bottom:9px}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink)}.brand-symbol{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:13px;background:var(--dark);color:var(--lime);font-size:1.85rem;line-height:1;flex-shrink:0}.brand strong{display:block;font-size:1.05rem;font-weight:850;letter-spacing:-.025em}.brand small{display:block;line-height:1.3;margin-top:1px}.alert{border-radius:11px;padding:13px 15px;margin:14px 0;font-size:.9rem;line-height:1.5}.alert-error{background:#fff0f0;color:#98373d;border:1px solid #f3cece}.alert-success{background:#e9faf1;color:#237850;border:1px solid #b3e5c6}.alert-info{background:#eef6fa;color:#2a6782;border:1px solid #d2e5ed}
/* Public register */
.public-layout{background:radial-gradient(ellipse at 30% 0%,#e4f4ef 0,transparent 40%),var(--bg);min-height:100vh}.public-shell{width:min(100%,560px);margin:0 auto;padding:25px 18px 40px}.public-shell.narrow{max-width:480px}.public-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:35px}.version{font-size:.77rem;color:#618178;background:#e2eeeb;border-radius:999px;padding:7px 11px;font-weight:700}.public-intro{text-align:left;margin-bottom:24px}.public-intro p{font-size:1rem;color:var(--slate);margin:0;max-width:485px}.intro-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#deede8;color:#39776b;font-size:.7rem;letter-spacing:.09em;font-weight:850;margin-bottom:18px}.live-dot{width:7px;height:7px;border-radius:50%;background:#43b685;box-shadow:0 0 0 3px #beeada}.form-card{background:#fff;border-radius:19px;padding:28px;border:1px solid #ebeeee;box-shadow:var(--shadow)}.step-label{display:flex;align-items:center;gap:12px;margin-bottom:21px}.step-label>span{background:#e4f6f0;color:#168b7e;width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-weight:850;font-size:.98rem}.step-label strong{font-size:1.04rem;display:block}.step-label small{display:block;margin-top:3px}.section-line{height:1px;background:#e7edef;margin:27px 0}.pin-field{margin-top:18px}.pin-field[hidden]{display:none}.activity-list{display:grid;grid-template-columns:1fr;gap:9px}.activity-option{position:relative;display:flex;align-items:center;gap:12px;margin:0;padding:13px;border:1px solid #e2eaec;border-radius:12px;cursor:pointer;font-size:.94rem;transition:border .15s,background .15s}.activity-option input{position:absolute;left:12px;opacity:0;width:1px;height:1px}.activity-option:has(input:checked){background:#ecfaf6;border-color:#41aa99}.activity-option:has(input:focus-visible){outline:3px solid #81d0c5;outline-offset:2px}.activity-option .activity-icon{height:30px;width:30px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#f1f6f6;color:#7d9499;font-size:.85rem}.activity-option:has(input:checked) .activity-icon{background:#1c998c;color:#fff}.activity-check{margin-left:auto;color:#d1dddd;font-size:1rem}.activity-option:has(input:checked) .activity-check{color:var(--teal)}.optional{font-weight:400;color:#93a4a7;margin-left:5px}.helper{display:block;margin-top:6px}.form-footer{font-size:.75rem;color:#91a0a6;text-align:center;margin:14px 0 0}.public-bottom{text-align:center;color:#607b80;font-size:.8rem;margin-top:27px}.public-bottom small{display:block;margin-top:5px}.success-card{text-align:center}.success-card>p,.login-card>p,.installer>.form-card>p{color:var(--slate)}.success-icon{width:70px;height:70px;border-radius:22px;background:var(--mint);color:var(--teal);display:flex;align-items:center;justify-content:center;font-size:2rem;margin:3px auto 18px}.receipt{margin:24px 0;padding:18px 20px;background:#f5f8f8;border-radius:14px;text-align:left}.receipt div{display:flex;align-items:baseline;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #e4eaea}.receipt div:last-child{border:0}.receipt small{font-size:.76rem}.receipt strong{font-size:.87rem;text-align:right}.login-card{margin-top:10px}.login-card form{display:grid;gap:12px;margin-top:23px}.login-card label{margin-bottom:0}.login-card label input{margin-top:8px}.center-link{display:block;text-align:center;color:#168b7e;font-weight:650;margin-top:25px}.installer{max-width:660px}.installer h2{margin:12px 0 4px}.stack{display:flex;flex-direction:column;gap:15px}.stack label{margin-bottom:0}.stack label input{margin-top:7px}.stack small{line-height:1.55}.two-inputs{display:grid;grid-template-columns:2fr 1fr;gap:12px}
/* Admin */
.admin-layout{background:#f4f7f8;display:flex;min-width:320px}.sidebar{width:248px;background:var(--dark);min-height:100vh;position:fixed;top:0;left:0;bottom:0;display:flex;flex-direction:column;padding:25px 17px;color:#fff;z-index:5}.brand-light{color:#fff;gap:10px;padding:3px 8px 27px}.brand-light .brand-symbol{background:#24484b}.brand-light strong{font-size:.96rem}.brand-light small{font-size:.7rem;color:#98afb0}.nav{display:flex;flex-direction:column;gap:5px}.nav a{padding:13px 13px;color:#a9c0c1;border-radius:10px;font-weight:600;font-size:.86rem;display:flex;align-items:center;gap:11px}.nav a:hover{background:#1e3c42;color:white}.nav a.active{background:#24544f;color:#e0fff4}.nav-dot{width:8px;height:8px;border:1.5px solid currentColor;border-radius:3px;opacity:.65}.nav a.active .nav-dot{background:#a9e86b;border-color:#a9e86b;opacity:1}.sidebar-foot{margin-top:auto;display:flex;justify-content:space-between;gap:10px;padding:22px 8px 5px;font-size:.8rem;color:#b4c9c7}.sidebar-foot a:hover{color:white}.admin-main{margin-left:248px;width:calc(100% - 248px);min-height:100vh;display:flex;flex-direction:column}.admin-top{background:white;border-bottom:1px solid #e3e9eb;height:77px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;gap:15px}.admin-top .eyebrow{margin-bottom:3px;font-size:.58rem}.admin-top strong{display:block;font-size:.98rem}.link-soft{color:#208879;font-size:.85rem;font-weight:700}.admin-content{width:min(100%,1370px);padding:33px 35px 45px;margin:0 auto;flex:1}.admin-footer{padding:20px 35px;color:#94a5a8;font-size:.76rem}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px}.page-head h1{margin-bottom:7px}.page-head p{color:var(--slate);margin:0;font-size:.9rem}.today-label,.pill-total{white-space:nowrap;border:1px solid #dfe9e9;background:white;border-radius:999px;padding:9px 14px;color:#627d80;font-size:.79rem;font-weight:700;margin-top:11px}.today-label{color:#219083}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.kpi{position:relative;background:white;border:1px solid #e6eced;border-radius:16px;padding:22px 22px 19px;min-height:155px;box-shadow:0 4px 18px rgba(24,53,60,.025)}.kpi>span{display:block;font-size:.85rem;color:#678189;font-weight:650}.kpi strong{display:block;font-size:2.45rem;line-height:1.3;letter-spacing:-.05em;margin-top:7px}.kpi small{font-size:.74rem}.kpi i{position:absolute;right:19px;top:18px;width:33px;height:33px;border-radius:10px;background:#ebf8f3;display:flex;align-items:center;justify-content:center;color:#29998b;font-style:normal;font-size:1rem}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.48fr) minmax(280px,1fr);gap:20px}.panel{background:white;border:1px solid #e4ebec;border-radius:16px;overflow:hidden;box-shadow:0 3px 18px rgba(24,53,60,.025);margin-bottom:20px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px 23px 18px;border-bottom:1px solid #eef1f2}.panel-heading h2{margin:0 0 5px}.panel-heading p{font-size:.79rem;color:#8a9da1;margin:0}.text-link{color:#168b7e;font-weight:700;font-size:.82rem}.table-wrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{background:#fbfcfc;font-size:.72rem;text-transform:uppercase;letter-spacing:.055em;color:#8ca0a4;font-weight:800;padding:15px 19px;border-bottom:1px solid #edf2f2}td{padding:16px 19px;border-bottom:1px solid #edf2f2;font-size:.85rem}tbody tr:last-child td{border-bottom:0}td strong{font-weight:700}.muted{color:#819498}.empty{text-align:center;color:#8a9ca1;padding:32px}.activity-stats{padding:24px;display:flex;flex-direction:column;gap:25px}.activity-stat>div:first-child{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px}.activity-stat strong{font-size:.8rem}.activity-stat span{font-size:.78rem;color:#8b9da1}.bar{height:7px;border-radius:999px;background:#edf4f2;overflow:hidden}.bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#50beaa,#1d998c)}.tip{border:1px solid #d9e9e6;background:#eaf6f3;padding:17px 21px;border-radius:13px;color:#2b6663;margin-top:4px}.tip strong{display:block;margin-bottom:4px;font-size:.89rem}.tip p{margin:0;font-size:.82rem;line-height:1.65}.tip a{color:#126e68;text-decoration:underline}.filters{padding:22px}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(135px,1fr)) auto;gap:12px;align-items:end}.filter-grid label{font-size:.75rem}.filter-grid input,.filter-grid select{height:43px;min-height:43px;padding:10px;font-size:.84rem}.filter-actions .btn{width:100%}.filter-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:17px}.time-cell{display:inline-block;background:#edf9f5;color:#1d897c;padding:6px 9px;border-radius:8px;font-weight:800;font-variant-numeric:tabular-nums}.notes-cell{max-width:270px;white-space:normal;color:#71868d}.pagination{padding:17px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #edf2f2;font-size:.8rem;color:#799095}.pagination>div{display:flex;gap:8px}.management-grid{display:grid;grid-template-columns:minmax(285px,.8fr) minmax(0,1.2fr);gap:20px;align-items:start}.form-panel{padding-bottom:22px}.form-panel .stack{padding:22px 23px 3px}.stack.compact{padding:0}.manage-list{padding:8px 20px 14px}.manage-item{border-bottom:1px solid #edf1f2}.manage-item:last-child{border-bottom:0}.manage-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:13px 4px}.manage-item summary::-webkit-details-marker{display:none}.avatar{background:#e7f5f1;color:#1b8e80;border-radius:12px;width:39px;height:39px;display:flex;align-items:center;justify-content:center;font-weight:850;flex-shrink:0}.activity-avatar{background:#eaf2f6;color:#347b97}.manage-summary{flex:1;min-width:0}.manage-summary strong{font-size:.84rem;display:block}.manage-summary small{display:block;margin-top:3px;font-size:.72rem}.status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 9px;font-size:.7rem;font-weight:750;white-space:nowrap}.status.on{background:#e6f8ed;color:#25835c}.status.off{background:#f7eeee;color:#a66565}.chevron{font-size:1.3rem;color:#97a6a8}.manage-item[open] .chevron{transform:rotate(180deg)}.manage-content{padding:6px 6px 19px 53px;display:grid;gap:14px}.manage-content .stack.compact{display:grid;gap:11px}.manage-content .btn{font-size:.8rem;padding:8px 12px}.checkbox-row{display:flex;align-items:center;gap:8px;font-weight:500;color:#667d80}.checkbox-row input{width:15px;height:15px}.qr-document-title{text-align:center;font-size:1.8rem;font-weight:850;line-height:1.2;color:#183b43;margin:5px 0 20px;letter-spacing:-.015em}.qr-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:10px 0 25px}.qr-card{background:white;border:1px solid #e2e8e9;border-radius:18px;overflow:hidden;box-shadow:0 5px 25px rgba(24,53,60,.06)}.qr-strip{padding:13px;text-align:center;font-size:.8rem;font-weight:850;letter-spacing:.09em}.strip-green{background:#b5ef7c;color:#224e43}.strip-blue{background:#183b43;color:white}.qr-body{text-align:center;padding:24px 21px 30px}.qr-illustration{font-size:2.5rem;color:#24988e;margin-bottom:9px}.qr-body h2{font-size:1.42rem;margin:0 0 9px}.qr-body p{font-size:.83rem;min-height:43px;color:#698389;margin:0 auto 14px;max-width:265px}.qr-code{width:min(100%,250px);aspect-ratio:1;margin:0 auto 20px;padding:12px;border:1px solid #e6eeee;border-radius:10px}.qr-code svg{display:block}.qr-instruction{max-width:255px;text-align:left;background:#f5f9f9;border-radius:11px;padding:13px 16px;margin:0 auto 18px;font-size:.84rem;line-height:1.9;color:#4b676b}.qr-instruction strong{color:#159b8d;margin-right:7px}.qr-url{font-size:.67rem;overflow-wrap:anywhere;display:block;max-width:290px;margin:auto}.diagnostic-list{padding:12px 24px}.diagnostic-row{display:flex;align-items:center;justify-content:space-between;padding:13px 0;gap:20px;border-bottom:1px solid #e9eeee}.diagnostic-row:last-child{border:0}.diagnostic-row strong{font-size:.86rem}
@media(max-width:1110px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-grid{grid-template-columns:repeat(3,1fr)}.filter-actions{grid-column:1/-1}.management-grid{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr}}@media(max-width:850px){.sidebar{width:100%;height:auto;min-height:0;position:relative;padding:14px 15px 7px;display:block}.admin-layout{display:block}.sidebar .brand-light{padding-bottom:12px}.nav{display:flex;flex-direction:row;overflow-x:auto;padding-bottom:9px;gap:4px}.nav a{white-space:nowrap;font-size:.8rem;padding:9px 10px}.sidebar-foot{display:none}.admin-main{margin:0;width:100%}.admin-top{padding:15px 22px;height:auto}.admin-content{padding:25px 20px 35px}.admin-footer{padding:20px}.filter-grid{grid-template-columns:repeat(2,1fr)}.qr-cards{gap:12px}}@media(max-width:600px){.public-shell{padding:18px 13px 35px}.public-header{padding-bottom:29px}.form-card{padding:21px}.public-intro{margin-bottom:19px}.brand-symbol{width:38px;height:38px}.brand strong{font-size:.99rem}.page-head{display:block}.page-head h1{font-size:1.9rem}.today-label,.pill-total{display:inline-block;margin-top:16px}.kpi-grid{gap:9px}.kpi{min-height:127px;padding:17px}.kpi strong{font-size:2rem}.kpi i{position:static;margin-top:6px;width:23px;height:23px}.panel-heading{padding:17px}.filters{padding:17px}.filter-grid{gap:9px}.filter-actions{grid-column:1/-1}.filter-bottom{flex-wrap:wrap;gap:10px}.admin-top .link-soft{font-size:.73rem}.admin-content{padding:24px 12px}.sidebar{padding:14px 11px 6px}.qr-cards{grid-template-columns:1fr;max-width:450px;margin:0 auto 20px}.qr-body p{min-height:0}.manage-list{padding:8px 12px}.manage-content{padding-left:7px}.form-panel .stack{padding:18px}.two-inputs{grid-template-columns:1fr}.receipt div{display:block}.receipt strong{display:block;text-align:left;margin-top:5px}.qr-card{break-inside:avoid}}
@media print{.qr-document-title{display:block;text-align:center;font-size:22pt;line-height:1.13;margin:0 0 4mm;font-weight:800;break-after:avoid}.qr-body{padding:12px 14px!important}.qr-illustration{font-size:1.7rem;margin-bottom:3px}.qr-code{width:66mm!important;margin-bottom:12px}.qr-instruction{padding:10px 14px;margin-bottom:10px;line-height:1.65}.qr-body p{min-height:36px}.qr-strip{padding:12px}body,html{background:#fff!important;color:#122a30!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.sidebar,.admin-top,.admin-footer,.no-print{display:none!important}.admin-main{margin:0;width:100%;min-height:0}.admin-content{padding:0;max-width:none}.qr-cards{display:grid;grid-template-columns:1fr 1fr;gap:12mm;margin:0;max-width:none}.qr-card{box-shadow:none;border:2px solid #ddd;border-radius:0;break-inside:avoid}.qr-strip{padding:16px}.qr-body{padding:20px 15px}.qr-code{width:72mm;padding:3mm;max-width:none}.qr-instruction{font-size:11pt}.qr-body p{min-height:45px}.qr-url{font-size:9pt}.qr-body h2{font-size:18pt}@page{size:A4 landscape;margin:12mm}}
