:root{color:#17231f;background:#f4f6f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #17231f;--muted: #66736e;--line: #dfe5df;--surface: #fff;--primary: #12694f;--primary-dark: #0a503b;--primary-soft: #e4f2ec;--danger: #b8323c;--shadow: 0 12px 35px rgb(25 47 39 / 7%)}*{box-sizing:border-box}html{min-width:320px;min-height:100%}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--primary)}h1,h2,h3,p{margin-top:0}h1{margin-bottom:.65rem;font-size:clamp(2rem,4vw,3.25rem);letter-spacing:-.045em;line-height:1.04}h2{margin-bottom:.45rem;font-size:1.35rem;letter-spacing:-.02em}h3{margin-bottom:.35rem}p{color:var(--muted);line-height:1.55}code{padding:.15rem .35rem;border-radius:.35rem;background:#edf1ed;font-size:.82rem}:focus-visible{outline:3px solid #55b895;outline-offset:3px}.application-shell{min-height:100vh}.application-header{position:sticky;z-index:20;top:0;display:flex;align-items:center;gap:1.25rem;min-height:4.5rem;padding:.75rem max(1.25rem,calc((100vw - 90rem)/2));color:#eef7f3;background:#102c24;box-shadow:0 2px 15px #081e1726}.brand{display:flex;align-items:center;gap:.7rem;color:#fff;font-weight:750;text-decoration:none;white-space:nowrap}.brand-mark{display:grid;width:2rem;height:2rem;place-items:center;border-radius:.55rem;color:#102c24;background:#81d3b2}.application-header nav{display:flex;flex:1;align-items:center;gap:.25rem}.application-header nav a{padding:.6rem .8rem;border-radius:.5rem;color:#bad0c7;font-size:.9rem;font-weight:650;text-decoration:none}.application-header nav a:hover,.application-header nav a.router-link-active{color:#fff;background:#ffffff17}.language-control{display:flex;align-items:center;gap:.5rem;padding:.25rem .3rem .25rem .7rem;border:1px solid rgb(255 255 255 / 14%);border-radius:.7rem;color:#9fbdb1;font-size:.72rem;font-weight:750}.application-header:not(.signed-in) .language-control{margin-left:auto}.language-control select{width:auto;min-height:2rem;padding-block:.35rem;border-color:#fff3;color:#eef7f3;background:#173c31}.user-menu{display:flex;align-items:center;gap:.8rem;color:#bad0c7;font-size:.85rem}main{width:min(90rem,100%);margin:0 auto;padding:clamp(2rem,5vw,4.5rem) clamp(1rem,4vw,3rem) 6rem}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2rem}.page-header p{margin-bottom:0}.page-actions,.row-actions{display:flex;align-items:center;gap:.5rem}.eyebrow{margin-bottom:.4rem;color:var(--primary);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.muted{color:var(--muted)}.panel{border:1px solid var(--line);border-radius:1rem;background:var(--surface);box-shadow:var(--shadow)}.content-stack{display:grid;gap:1.25rem}.loading-state,.empty-state{padding:4rem 2rem;color:var(--muted);text-align:center}.empty-state h3{color:var(--ink)}.empty-illustration{margin-bottom:.75rem;color:#76aa94;font-size:3rem}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.5rem}.section-heading p,.section-heading h2{margin-bottom:0}.section-heading .eyebrow{margin-bottom:.35rem}.button{display:inline-flex;min-height:2.55rem;align-items:center;justify-content:center;padding:.62rem 1rem;border:1px solid transparent;border-radius:.62rem;cursor:pointer;font-weight:700;line-height:1.1;text-decoration:none;transition:background .15s,border-color .15s,transform .15s}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.5}.button.primary{color:#fff;background:var(--primary)}.button.primary:hover:not(:disabled){background:var(--primary-dark)}.button.secondary{border-color:#c8d5ce;color:var(--ink);background:#fff}.button.secondary:hover:not(:disabled){border-color:#7fa28f;background:#f8faf8}.button.ghost{border-color:transparent;color:var(--primary);background:transparent}.button.ghost.light{color:#e4f4ed}.button.text{min-height:2rem;padding:.25rem .35rem;color:var(--primary);background:transparent;font-size:.82rem}.button.danger,.button.text.danger{color:var(--danger)}.button.danger:not(.text){border-color:#e4aeb2;background:#fff6f6}.button.wide{width:100%}.button.compact{min-height:2.2rem;padding:.45rem .7rem;font-size:.78rem}label{display:grid;gap:.42rem;color:#34443e;font-size:.82rem;font-weight:700}input,select,textarea{width:100%;min-height:2.75rem;padding:.65rem .75rem;border:1px solid #cbd5cf;border-radius:.58rem;background:#fff}textarea{resize:vertical}input:hover,select:hover,textarea:hover{border-color:#91a59b}input:disabled,select:disabled,textarea:disabled{color:#6d7873;background:#f0f2f0}.form-stack{display:grid;align-content:start;gap:1rem;padding:clamp(1.25rem,3vw,2rem)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.inline-form{display:flex;align-items:end;gap:1rem;padding:1.5rem}.inline-form>div:first-child{flex:1}.inline-form p,.inline-form h2,.inline-form h3{margin-bottom:0}.inline-form label{min-width:10rem}.inline-form .checkbox-field{display:flex;min-width:15rem;align-items:center;gap:.5rem}.checkbox-field{display:flex;align-items:center;gap:.55rem}.checkbox-field input{width:auto;min-height:0}.field-help{grid-column:1 / -1;margin:0;font-size:.85rem}.danger-text{color:var(--danger)}.error-summary{padding:.8rem 1rem;border:1px solid #e7b0b5;border-radius:.55rem;color:#8e222b;background:#fff1f2}.auth-layout{display:grid;min-height:calc(100vh - 13rem);grid-template-columns:1.15fr minmax(20rem,.65fr);align-items:center;gap:clamp(2rem,8vw,8rem)}.auth-intro{max-width:42rem}.auth-intro h1{font-size:clamp(2.8rem,7vw,5.7rem)}.auth-intro>p:last-child{max-width:35rem;font-size:1.1rem}.auth-card{display:grid;width:100%;max-width:30rem;justify-self:end;gap:.9rem;padding:2rem}.auth-card h2,.auth-card p{margin-bottom:0}.auth-card input:focus,.auth-card input:focus-visible{border-color:var(--primary);outline:0;box-shadow:none}.auth-submit{margin-top:.55rem}.narrow-page{width:min(32rem,100%);margin:2rem auto}.password-input{position:relative;display:block}.password-input input{padding-right:6.5rem}.password-reveal{position:absolute;top:50%;right:.5rem;min-height:1.9rem;padding:.25rem .45rem;transform:translateY(-50%);border:0;border-radius:.4rem;color:var(--primary);background:transparent;cursor:pointer;font-size:.76rem;font-weight:800}.password-reveal:hover{background:var(--primary-soft)}.tabs{display:flex;gap:.3rem;margin-bottom:1.25rem;padding:.35rem;overflow-x:auto;border:1px solid var(--line);border-radius:.8rem;background:#e9ede9}.tab{flex:0 0 auto;padding:.65rem 1rem;border:0;border-radius:.55rem;color:#53615b;background:transparent;cursor:pointer;font-weight:750;text-transform:capitalize}.tab.active{color:var(--ink);background:#fff;box-shadow:0 2px 8px #14282014}.split-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(19rem,.8fr);gap:1.25rem;align-items:start}.profile-grid,.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;align-items:start}.profile-footer{margin-top:2rem;color:var(--muted);font-size:.78rem;text-align:center}.table-panel{overflow:hidden}.table-scroll{overflow-x:auto}.bulk-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border-top:1px solid var(--line);background:var(--primary-soft)}.bulk-actions>div{display:flex;flex-wrap:wrap;gap:.5rem}.bulk-actions strong{color:var(--primary-dark);font-size:.82rem}table{width:100%;border-collapse:collapse}th,td{padding:.9rem 1rem;border-top:1px solid #edf0ed;text-align:left;vertical-align:middle}th{border-top:0;color:#76817c;background:#fafbfa;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}td{font-size:.88rem}td strong,td small{display:block}td small{margin-top:.2rem;color:var(--muted)}.row-actions{justify-content:flex-end;white-space:nowrap}.selection-cell{width:3rem;padding-right:0;text-align:center}.selection-cell input{width:auto;min-height:0;margin:0}.empty-cell{padding:3rem;color:var(--muted);text-align:center}.pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.78rem}.pagination>div{display:flex;align-items:center;gap:.75rem}.pagination-count{min-width:3rem;text-align:center}.status-badge{display:inline-flex;align-items:center;padding:.28rem .55rem;border-radius:999px;color:#505d57;background:#edf0ee;font-size:.7rem;font-weight:800;text-transform:capitalize}.status-badge.active,.status-badge.activated,.status-badge.published{color:#126247;background:#ddf3e9}.status-badge.draft,.status-badge.pending,.status-badge.assigned,.status-badge.available{color:#7c5b09;background:#fff0c4}.status-badge.disabled,.status-badge.rejected,.status-badge.withdrawn{color:#9a2a33;background:#fae4e6}.card-list{display:grid;padding:0 1rem 1rem}.list-card{display:flex;align-items:center;gap:1rem;padding:1rem .5rem;border-top:1px solid #edf0ed}.list-card>div:first-child{flex:1}.list-card small{display:block;margin-top:.2rem;color:var(--muted)}.secret-panel{display:grid;gap:.4rem;padding:1.5rem}.issued-keys{display:grid;gap:.4rem;padding:1rem;border:1px solid #b9d7ca;border-radius:.7rem;background:#f1faf6}.modal-backdrop{position:fixed;z-index:100;inset:0;display:grid;padding:1rem;place-items:center;overflow-y:auto;background:#0818139e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-card{width:min(34rem,100%);max-height:calc(100vh - 2rem);overflow-y:auto;border:1px solid rgb(255 255 255 / 40%);border-radius:1rem;background:#fff;box-shadow:0 24px 70px #04120d4d}.modal-card.wide{width:min(58rem,100%)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--line)}.modal-header h2,.modal-header p{margin-bottom:0}.modal-header p{margin-top:.3rem}.modal-close{display:grid;width:2.25rem;height:2.25rem;flex:0 0 auto;place-items:center;border:0;border-radius:.55rem;color:var(--muted);background:#f0f3f1;cursor:pointer;font-size:1.45rem;line-height:1}.modal-body .modal-form{padding:1.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:.65rem;padding:1rem 1.5rem 1.5rem;border-top:1px solid var(--line)}.confirmation-message{margin:0;padding:1.5rem;color:var(--ink)}.release-targets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.release-target{display:grid;gap:.8rem;margin:0;padding:1rem;border:1px solid var(--line);border-radius:.75rem}.release-target legend{padding:0 .35rem;color:var(--ink);font-weight:800}.release-target input[type=file]{min-height:0;padding:.45rem;font-size:.74rem}.form-actions{display:flex;flex-wrap:wrap;gap:.65rem}.protected-label{color:#81a295;font-size:.75rem;font-weight:800}.detail-page-grid{display:grid;grid-template-columns:minmax(28rem,1.1fr) minmax(22rem,.9fr);gap:1.25rem;align-items:start}.activity-panel{overflow:hidden}.activity-list{display:grid;gap:0;margin:0;padding:0 1.5rem 1rem;list-style:none}.activity-list li{position:relative;display:grid;grid-template-columns:1rem 1fr;gap:.7rem;padding:1rem 0;border-top:1px solid var(--line)}.activity-list p,.activity-list small{margin:.2rem 0 0;color:var(--muted);font-size:.78rem}.activity-dot{width:.65rem;height:.65rem;margin-top:.3rem;border:2px solid #fff;border-radius:50%;background:var(--primary);box-shadow:0 0 0 2px #b8d9ca}.compact-zone{margin-top:.5rem}.tenant-detail-form{grid-template-columns:repeat(2,minmax(0,1fr))}.tenant-detail-form>*{grid-column:1 / -1}.flush-heading{padding:0 0 .5rem}.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.short-field{width:min(12rem,100%)}.dashboard-cards{display:grid;grid-template-columns:1.25fr 1fr;gap:1.25rem;margin-bottom:1.25rem}.metric-card{display:flex;min-height:12rem;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1.5rem;border:1px solid #d5e1da;border-radius:1rem;background:linear-gradient(145deg,#fff,#eef5f1);box-shadow:var(--shadow)}.metric-card p:last-child{margin-bottom:0}.release-card{align-items:center}.metric-row{display:flex;width:100%;justify-content:space-around;gap:1rem}.metric-row div,.small-metric{display:grid;gap:.2rem;text-align:center}.metric-row strong{color:var(--primary);font-size:2.4rem}.metric-row span,.small-metric span{color:var(--muted);font-size:.72rem;font-weight:750;text-transform:capitalize}.kiosk-list-panel{overflow:hidden}.kiosk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;padding:0 1.5rem 1.5rem}.kiosk-card{display:flex;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:.8rem;color:inherit;text-decoration:none}.kiosk-card:hover{border-color:#80ad99;box-shadow:0 8px 18px #1b483614}.kiosk-card>div:nth-child(2){flex:1}.kiosk-card h3,.kiosk-card p{margin-bottom:0}.kiosk-card p{margin-top:.25rem;font-size:.78rem}.kiosk-icon{display:grid;width:2.7rem;height:2.7rem;place-items:center;border-radius:.7rem;color:#0b5d43;background:#dff1e9;font-weight:800}.license-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;margin-bottom:1.25rem}.small-metric{padding:1rem;border:1px solid var(--line);border-radius:.75rem;background:#fff}.small-metric strong{color:var(--primary);font-size:1.6rem}.settings-panel{padding:1.75rem}.detail-list{display:grid;margin-top:.5rem;border-top:1px solid var(--line)}.detail-list div{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line)}.detail-list span{color:var(--muted)}.media-card{display:grid;gap:1rem;padding:1.5rem}.media-preview{display:grid;min-height:14rem;place-items:center;overflow:hidden;border:1px dashed #bdcac3;border-radius:.75rem;color:var(--muted);background:#f7f9f7}.media-preview img,.media-preview video{width:100%;max-height:22rem;object-fit:contain}.file-button{position:relative;overflow:hidden}.file-button input[type=file]{position:absolute;width:1px;height:1px;opacity:0}progress{width:100%;accent-color:var(--primary)}.language-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0}.input-action{display:flex;gap:.5rem}.chip-row{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1rem}.language-chip{padding:.4rem .7rem;border:1px solid #bcd1c6;border-radius:999px;color:var(--primary);background:#f4fbf7;cursor:pointer;font-weight:750}.language-chip:disabled{color:#78837e;background:#f0f2f0;cursor:not-allowed}.tile-editor{display:grid;grid-template-columns:8rem minmax(0,1fr) auto;gap:1.25rem;align-items:center;padding:1.25rem}.tile-editor-actions{display:grid;align-self:start;gap:.5rem;justify-items:center}.tile-order{display:grid;gap:.3rem;text-align:center}.tile-order span{font-weight:800}.tile-order button{width:2rem;height:2rem;border:1px solid var(--line);border-radius:.4rem;background:#fff;cursor:pointer}.tile-icon-editor{display:grid;gap:.45rem;place-items:center}.tile-icon-preview{display:grid;width:5rem;height:5rem;place-items:center;border-radius:.8rem}.tile-icon-preview img{width:3rem;height:3rem;object-fit:contain}.icon-placeholder{display:grid;width:100%;height:100%;place-items:center;color:#fff;font-size:.75rem}.color-field{display:flex;align-items:center;gap:.5rem}.color-field input{width:2.5rem;height:2rem;padding:.15rem;cursor:pointer}.tile-fields{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.tile-fields label:last-child{grid-column:1 / -1}.tile-actions{align-items:flex-end}.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:2rem;padding:1.25rem;border:1px solid #efc1c5;border-radius:.8rem;background:#fff8f8}.danger-zone h2,.danger-zone p{margin-bottom:0}.notifications{position:fixed;z-index:50;right:1rem;bottom:1rem;display:grid;width:min(24rem,calc(100vw - 2rem));gap:.5rem}.notification{padding:.9rem 1rem;border:0;border-radius:.7rem;color:#fff;background:#174b3a;box-shadow:0 8px 25px #0003;cursor:pointer;text-align:left}.notification.error{background:#9b2933}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1050px){.split-layout,.detail-page-grid{grid-template-columns:1fr}.auth-layout{gap:3rem}.tile-editor{grid-template-columns:7rem minmax(0,1fr)}.tile-editor-actions{display:flex;grid-column:2 / -1;align-items:center;justify-self:end}.tile-order{display:flex;align-items:center}}@media(max-width:780px){.application-header{position:static;flex-wrap:wrap;gap:.5rem 1rem}.application-header nav{order:3;width:100%;overflow-x:auto}.application-header nav{flex-basis:100%}.language-control span,.user-menu span{display:none}main{padding-top:2rem}.page-header{align-items:flex-start;flex-direction:column}.auth-layout,.dashboard-cards,.profile-grid,.settings-grid{grid-template-columns:1fr}.auth-card{justify-self:stretch}.auth-intro h1{font-size:clamp(2.5rem,12vw,4rem)}.inline-form{align-items:stretch;flex-direction:column}.inline-form label{min-width:0}.release-targets,.kiosk-grid{grid-template-columns:1fr}.license-metrics{grid-template-columns:repeat(2,1fr)}.tile-editor{grid-template-columns:1fr}.tile-icon-editor{align-self:start}.tile-fields,.tile-editor-actions{grid-column:1 / -1}}@media(max-width:520px){.brand span:last-child{display:none}.application-header{padding-inline:.75rem}.application-header nav a{padding-inline:.55rem;font-size:.82rem}main{padding-inline:.75rem}.form-grid,.language-toolbar,.tile-fields,.three-columns{grid-template-columns:1fr}.pagination{align-items:stretch;flex-direction:column}.pagination>div{justify-content:space-between}.tile-fields label:last-child{grid-column:auto}.metric-card,.danger-zone{align-items:stretch;flex-direction:column}.release-card{align-items:stretch}.row-actions{flex-wrap:wrap;white-space:normal}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
