:root{--primary-color: #6eb323;--primary-hover-color: #11462e;--primary-color-disabled: #a5c96f;--text-color: #171717;--background-color: #ffffff;--input-background-color: #f9f9f9;--input-border-color: #6eb323;--input-focus-border-color: #11462e;--table-border-color: #dddddd;--table-stripe-color-even: #f2f2f2;--table-stripe-color-odd: #ffffff;--table-stripe-color-alarm: #ff0f0f4a;--tooltip-background-color: rgba(255, 255, 255, .8);--box-shadow: 0px 0px 5px rgba(0, 0, 0, .2);--color-muted: #666;--color-muted-secondary: #888;--color-warning: #d97706}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:var(--background-color);color:var(--text-color);line-height:1.6;padding:10px}input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=date],input[type=month],input[type=search],select,textarea{width:100%;padding:12px;margin-bottom:10px;border:1px solid var(--input-border-color);border-radius:4px;font-size:16px;background-color:var(--input-background-color);color:var(--text-color);height:auto;line-height:1.6}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--input-focus-border-color);box-shadow:var(--box-shadow)}select{height:48px;line-height:normal;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;padding-right:36px;background:var(--input-background-color) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="%23444444"><path d="M5.516 6.547a.714.714 0 0 1 1.03 0L10 10l3.453-3.453a.714.714 0 0 1 1.03 1.03l-4 4a.714.714 0 0 1-1.03 0l-4-4a.714.714 0 0 1 0-1.03z"/></svg>') no-repeat right 10px center}input:disabled,select:disabled,textarea:disabled{background-color:var(--primary-color-disabled);cursor:not-allowed}button,input[type=submit],input[type=button]{width:100%;padding:12px;margin:6px 0;background-color:var(--primary-color);border:none;border-radius:4px;color:var(--background-color);font-size:16px;cursor:pointer;transition:background-color .3s ease}button:hover,input[type=submit]:hover,input[type=button]:hover{background-color:var(--primary-hover-color)}button:disabled,input[type=submit]:disabled,input[type=button]:disabled{background-color:var(--primary-color-disabled);cursor:not-allowed}table{width:100%;border-collapse:collapse;margin-bottom:20px}th{padding:12px;text-align:left;background-color:var(--primary-hover-color);color:var(--background-color);border-bottom:1px solid var(--table-border-color)}td{padding:12px;text-align:left;border-bottom:1px solid var(--table-border-color)}tbody tr:nth-child(2n){background-color:var(--table-stripe-color-even)}tbody tr.alarm:nth-child(2n){background:repeating-linear-gradient(45deg,var(--table-stripe-color-even),var(--table-stripe-color-even) 10px,var(--table-stripe-color-alarm) 10px,var(--table-stripe-color-alarm) 20px)}tbody tr:nth-child(odd){background-color:var(--table-stripe-color-odd)}tbody tr.alarm:nth-child(odd){background:repeating-linear-gradient(45deg,var(--table-stripe-color-odd),var(--table-stripe-color-odd) 10px,var(--table-stripe-color-alarm) 10px,var(--table-stripe-color-alarm) 20px)}@media only screen and (max-width: 600px){body{padding:5px}input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=date],input[type=month],select,textarea,button,input[type=submit],input[type=button]{padding:10px;font-size:16px}th,td{padding:10px;font-size:14px}}body,input,button,select,textarea{background-color:var(--background-color);color:var(--text-color)}button,input[type=submit],input[type=button]{background-color:var(--primary-color);color:var(--background-color)}button:hover,input[type=submit]:hover,input[type=button]:hover{background-color:var(--primary-hover-color);color:var(--background-color)}.icon-button{width:40px;height:40px;padding:5px;margin:0 6px;display:inline-flex;justify-content:center;align-items:center;border-radius:4px;background-color:var(--primary-color);color:#fff}.icon-button:hover,.icon-button:focus{background-color:var( --primary-hover-color );outline:none}.icon-button:disabled{background-color:var(--primary-color-disabled);outline:none}@media only screen and (max-width: 600px){table.responsive,table.responsive thead,table.responsive tbody,table.responsive th,table.responsive td,table.responsive tr{display:block}table.responsive thead{display:none}table.responsive tr{margin-bottom:10px;display:flex;flex-direction:column;border:1px solid var(--table-border-color);padding:10px;background-color:var(--background-color);overscroll-behavior-y:none}table.responsive tr:nth-child(2n){background-color:var( --table-stripe-color-even )}table.responsive tr:nth-child(odd){background-color:var( --table-stripe-color-odd )}table.responsive td{display:flex;justify-content:space-between;padding:8px;border-bottom:1px solid var(--table-border-color);position:relative;text-align:left}table.responsive td:before{content:attr(data-label);font-weight:700;text-transform:uppercase;color:var(--text-color);flex:1 1 auto;padding-right:10px}table.responsive td:has(.recipient-entry),table.responsive td.recipients-column{flex-direction:column;align-items:flex-start}table.responsive td .recipient-entry{display:block;width:100%;margin-bottom:2px}}.recipients-list{list-style-type:none;padding:0;margin:0}.recipients-list li{display:grid;grid-template-columns:auto 1fr;align-items:center;padding:8px 0;grid-gap:10px}.recipients-list li>span{width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recipients-list li>button{margin-left:10px}.Root{text-align:center}.Root-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion: no-preference){.Root-logo{animation:Root-logo-spin infinite 20s linear}}.Root-header{background-color:#282c34;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:calc(10px + 2vmin);color:#fff}.Root-link{color:#61dafb}@keyframes Root-logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;color:#333}.login-page h1{margin-bottom:.25em}.login-page p{margin-top:0;margin-bottom:2em;color:#666}.login-button{padding:12px 32px;font-size:1rem;border:none;border-radius:4px;background-color:var(--primary-color);color:#fff;cursor:pointer}.login-button:hover{opacity:.9}.nav-container{position:fixed;top:10px;left:10px;z-index:1000}.hamburger-menu{display:block;cursor:pointer}.bar{width:25px;height:3px;background-color:#333;margin:5px 0;transition:.4s}.nav-menu{position:absolute;top:35px;left:0;width:180px;background-color:#fff;padding:10px;box-shadow:0 2px 5px #0000001a;display:none;list-style:none;margin:0}.nav-menu.show{display:block}.nav-menu li{transition:background-color .3s ease}.nav-menu li:hover{background-color:#f0f0f0}.nav-menu li>a{text-decoration:none;color:#333;display:block;padding:8px 12px}.nav-menu li>button{text-decoration:none;color:#333;display:block;padding:8px 12px;border:none;background-color:inherit;font:inherit;margin:inherit}.change .bar:nth-child(1){transform:translateY(8px) rotate(45deg)}.change .bar:nth-child(2){opacity:0}.change .bar:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.menu-divider{height:2px;background-color:#ccc;margin:10px 0}.nav-version{padding:8px 12px;font-size:.75rem;color:#999;font-family:monospace;letter-spacing:.02em;text-align:center;cursor:default}.nav-menu li.nav-version:hover{background-color:transparent}h2{padding-left:50px}.page-selector-trigger{margin-left:50px}.page-selector-trigger h2{padding-left:0}@media only screen and (max-width: 600px){h2{padding-left:40px}.page-selector-trigger{margin-left:40px}}.notifications-container{position:fixed;bottom:0;left:50%;transform:translate(-50%);z-index:1000;display:flex;flex-direction:column;align-items:center;gap:.5rem;pointer-events:none}.notification{display:flex;flex-direction:column;gap:.25rem;padding:.6rem .6rem .6rem 1rem;border-radius:6px 6px 0 0;box-shadow:0 4px 12px #0003;pointer-events:auto;animation:notification-pop-up .25s cubic-bezier(.34,1.56,.64,1);width:min(320px,calc(100vw - 2rem))}.notification__header{display:flex;align-items:center;gap:.75rem}.notification__title{flex:1;font-weight:600;font-size:1rem}@keyframes notification-pop-up{0%{transform:translateY(1rem);opacity:0}to{transform:translateY(0);opacity:1}}.notification--success{background-color:var(--color-success, #d4edda);border:1px solid var(--color-success-border, #c3e6cb);color:var(--color-success-text, #155724)}.notification--error{background-color:var(--color-error, #f8d7da);border:1px solid var(--color-error-border, #f5c6cb);color:var(--color-error-text, #721c24)}.notification--warning{background-color:var(--color-warning, #fff3cd);border:1px solid var(--color-warning-border, #ffeeba);color:var(--color-warning-text, #856404)}.notification--info{background-color:var(--color-info, #d1ecf1);border:1px solid var(--color-info-border, #bee5eb);color:var(--color-info-text, #0c5460)}.notification__message{flex:1;overflow-wrap:break-word}.notification__dismiss{width:1.5rem;background:transparent;border:none;font-size:.9rem;line-height:1.4;cursor:pointer;padding:0;color:#777;opacity:.8;transition:opacity .2s}.notification__dismiss:hover{opacity:1;background-color:transparent;color:#777}.notification__hint{font-size:.75rem;opacity:.75}.notification__details{background:transparent;border:none;align-self:center;font-size:.7rem;cursor:pointer;padding:0;color:#777;opacity:.8;text-decoration:underline;transition:opacity .2s}.notification__details:hover{opacity:1;background-color:transparent;color:#777}.page{max-width:1400px;margin:0 auto}.page-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}.page-header h2{margin:0}.header-actions{margin-left:auto;display:flex;gap:8px;align-items:center}.form-panel,.edit-section{background-color:var(--input-background-color);border:1px solid var(--table-border-color);border-radius:8px;padding:16px 20px;margin-bottom:24px}.form-panel-title,.edit-section>h3,.section-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#555;margin:0 0 16px}.form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px 16px;max-width:640px;margin-bottom:16px}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:640px}.form-grid-full{grid-column:1 / -1}.detail-grid{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 16px;max-width:640px;margin:0 0 16px}.detail-grid dt{color:var(--color-muted-secondary);font-size:13px}.detail-grid dd{margin:0;font-size:14px;word-break:break-word}.form-field{display:flex;flex-direction:column;font-size:13px;font-weight:600;color:#555;gap:4px}.form-field input,.form-field select,.form-field textarea{margin-bottom:0;font-weight:400}.form-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:4px}.form-panel button:not(.icon-button),.form-panel input[type=submit],.form-panel input[type=button],.edit-section button:not(.icon-button),.edit-section input[type=submit],.edit-section input[type=button],.page-header button:not(.icon-button),.page-header input[type=button],.form-actions button:not(.icon-button),.form-actions input[type=submit],.form-actions input[type=button]{width:auto;padding:10px 20px;margin:4px 0;white-space:nowrap}.edit-section button.btn-sm,.form-panel button.btn-sm{padding:6px 12px;font-size:14px}button.btn-secondary,input[type=button].btn-secondary{background-color:var(--input-background-color);color:var(--text-color);border:1px solid var(--table-border-color)}button.btn-secondary:hover,input[type=button].btn-secondary:hover{background-color:var(--table-border-color)}button.btn-danger,input[type=button].btn-danger,.icon-button.danger{background-color:#dc2626}button.btn-danger:hover,input[type=button].btn-danger:hover,.icon-button.danger:hover{background-color:#b91c1c}.checkbox-group{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.checkbox-field{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:400;color:var(--text-color)}.checkbox-field input[type=checkbox]{width:auto;margin:0}.access-list{margin-bottom:16px}.access-entry{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--table-border-color);font-size:14px}.access-entry-label{flex:1}.field-label-row{display:flex;align-items:center;gap:5px}.field-hint{font-size:12px;font-weight:400;color:#888;margin-top:2px}.field-error{font-size:12px;font-weight:400;color:#dc2626;margin-top:2px}.btn-back{margin-bottom:8px}.table-sm{font-size:13px}.empty-hint{color:#888;font-size:14px;padding:8px 0;font-style:italic}@media only screen and (max-width: 600px){.page-header{flex-direction:column;align-items:flex-start}.header-actions{margin-left:0;width:100%}.form-panel,.edit-section{padding:12px}.form-grid.form-grid-2{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions button:not(.icon-button),.form-actions input[type=submit],.form-actions input[type=button]{width:100%;text-align:center}}.role-badge{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:10px;font-size:.72em;font-weight:600;vertical-align:middle}.role-badge--principal{background:var(--color-primary, #2563eb);color:#fff}.role-badge--admin{background:var(--color-success, #16a34a);color:#fff}.role-badge--billing{background:var(--color-warning-soft, #fef3c7);color:var(--color-warning-text, #92400e)}.role-badge--billing-control{background:var(--color-warning, #d97706);color:#fff}.role-badge--muted{background:var(--color-border, #e5e7eb);color:var(--color-text-muted, #6b7280)}.roles-table td{vertical-align:middle}.role-cell{white-space:nowrap}.role-toggle{min-width:108px}.role-toggle--on{background:var(--color-success, #16a34a);border-color:var(--color-success, #16a34a);color:#fff}.role-note{font-size:.8em;color:var(--color-text-muted, #6b7280)}.users-filter{margin:16px 0;max-width:320px}.invitation-list{list-style:none;margin:0;padding:0}.invitation-client{font-weight:600;font-size:1.1em;margin:0 0 4px}.attachment-list{list-style:none;margin:0;padding:0}.attachment-list li{display:flex;align-items:center;gap:6px;padding:2px 0;white-space:nowrap}.invite-scope{border:1px solid var(--table-border-color);border-radius:6px;padding:12px 16px;margin:0}.invite-scope legend{font-size:13px;font-weight:600;color:#555;padding:0 6px}.invite-scope>label{display:flex;align-items:center;gap:8px;font-size:14px;padding:4px 0}.invite-scope input[type=radio]{width:auto;margin:0}.invite-scope__picker{margin-top:12px;padding-top:12px;border-top:1px solid var(--table-border-color)}.invite-scope__grants{list-style:none;margin:12px 0 8px;padding:0}.invite-scope__grants li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0}.pending-invitations{margin-top:20px;border-top:1px solid var(--color-border, #e5e7eb);padding-top:16px}.pending-invitations ul{list-style:none;margin:0 0 8px;padding:0}.pending-invitations li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0}.status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-weight:600;font-size:12px}.status-badge.active{background-color:#e6f4d7;color:#2d6a0e}.status-badge.inactive{background-color:#fde8e8;color:#9b1c1c}.status-badge.hidden{background-color:#f3f4f6;color:#6b7280}.status-badge--creating,.status-badge--draft{background-color:#6b728021;color:#6b7280}.status-badge--open{background-color:#d9770621;color:var(--color-warning)}.status-badge--stripe-draft{background-color:#4f46e521;color:#4f46e5}.status-badge--processing{background-color:#2563eb21;color:#2563eb}.status-badge--paid,.status-badge--issued{background-color:#16a34a21;color:#16a34a}.status-badge--void,.status-badge--voided,.status-badge--reversed,.status-badge--uncollectible{background-color:#dc262621;color:#dc2626}.status-badge--payment-alert{margin-left:6px;background-color:#dc2626;color:#fff}.inline-banner{border-radius:6px;padding:10px 16px;margin-bottom:16px}.inline-banner--warning{background:#fffbeb;border:1px solid var(--color-warning);color:#92400e}.inline-banner--error{background:#fff7ed;border:1px solid #ea580c;color:#9a3412}.inline-banner--success{background:#f0fdf4;border:1px solid #16a34a;color:#14532d}.inline-banner--neutral{background:#f9fafb;border:1px solid #d1d5db;color:#374151}.portal-client-select{display:flex;align-items:center;gap:8px;margin-bottom:16px}.portal-client-select label{font-size:.875rem;font-weight:500;color:var(--text-secondary, #555)}.portal-client-select select{padding:6px 10px;border:1px solid var(--border-color, #ccc);border-radius:4px;background:var(--surface, #fff);font-size:.9375rem}.role-legend{margin:0 0 12px;font-size:.875rem}.role-legend summary{cursor:pointer;color:var(--color-text-muted, #6b7280);-webkit-user-select:none;user-select:none}.role-legend ul{list-style:none;margin:8px 0 0;padding:0}.role-legend li{display:flex;align-items:baseline;gap:8px;margin-bottom:6px;color:var(--color-text-muted, #6b7280)}.role-legend .role-badge{margin-left:0;flex:0 0 auto}.user-roles-modal__row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--color-border, #e5e7eb)}.user-roles-modal__row>div{flex:1 1 auto}.user-roles-modal__row .role-note{margin:2px 0 0}.user-roles-modal__current{margin-left:8px}.role-cell{display:flex;align-items:center;gap:6px;white-space:nowrap}.role-cell .role-badge{margin-left:0}.role-cell .icon-button{margin-left:auto;margin-right:0}.form-field input[readonly]{background-color:var(--table-stripe-color-even);border-color:var(--table-border-color);color:var(--color-muted);cursor:default}.form-field input[readonly]:focus{border-color:var(--table-border-color);outline:none}.confirm-value{margin:0 0 16px;font-size:18px;font-weight:600;color:var(--text-color);word-break:break-all}.install-prompt{position:fixed;left:50%;transform:translate(-50%);bottom:0;z-index:950;width:min(380px,calc(100vw - 1.5rem));box-sizing:border-box;padding:1rem 1.25rem calc(1rem + env(safe-area-inset-bottom));background-color:var(--background-color);color:var(--text-color);border:1px solid var(--input-border-color);border-bottom:none;border-radius:10px 10px 0 0;box-shadow:0 -4px 16px #0000002e;animation:install-prompt-slide-up .3s cubic-bezier(.34,1.3,.64,1)}@keyframes install-prompt-slide-up{0%{transform:translate(-50%,100%)}to{transform:translate(-50%)}}.install-prompt__close{position:absolute;top:.25rem;right:.25rem;width:2.5rem;height:2.5rem;margin:0;padding:0;border:none;background:none;color:var(--color-muted-secondary);font-size:1.5rem;line-height:1;cursor:pointer}.install-prompt__close:hover{background:none;color:var(--text-color)}.install-prompt__title{margin:0 2.5rem .35rem 0;font-weight:600;font-size:1rem}.install-prompt__body{margin:0 0 .75rem;color:var(--color-muted);font-size:.9rem}.install-prompt__steps{margin:0;padding-left:1.25rem;font-size:.9rem;line-height:1.9}.install-prompt__share-icon{width:1.1em;height:1.1em;vertical-align:-.25em;color:#007aff}.install-prompt__dismiss{display:block;width:100%;margin:1rem 0 0;padding:.5rem;border:1px solid var(--table-border-color);border-radius:6px;background-color:var(--input-background-color);color:var(--color-muted);font-size:.9rem;cursor:pointer}.install-prompt__dismiss:hover{background-color:var(--table-stripe-color-even);color:var(--text-color)}.install-prompt__never{display:block;width:auto;margin:.5rem auto 0;padding:.35rem .5rem;border:none;background:none;color:var(--color-muted-secondary);font-size:.8rem;text-decoration:underline;cursor:pointer}.install-prompt__never:hover{background:none;color:var(--text-color)}th.sortable-th{padding:0}.sortable-th-btn{display:flex;align-items:center;gap:8px;width:auto;min-width:100%;margin:0;padding:12px;font:inherit;font-weight:600;color:inherit;background:transparent;border:none;border-radius:0;text-align:left;white-space:nowrap;cursor:pointer;transition:background-color .15s ease}.sortable-th-btn:hover{background-color:#ffffff1f}.sortable-th-btn:focus-visible{outline:2px solid var(--background-color);outline-offset:-2px}.sortable-th-indicator{display:inline-block;width:12px;font-size:11px;line-height:1}.location-input-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.location-input-actions button{width:auto;margin:0;padding:8px 16px;font-size:14px}.location-input-actions .location-input-cancel{margin-left:auto}.location-input-error{width:100%;color:#dc2626;font-size:.875em;margin:0}.device-settings-editor{display:flex;flex-direction:column;gap:16px}.device-settings-field{display:flex;flex-direction:column;gap:6px}.device-settings-field label{font-size:14px;font-weight:600;color:var(--text-color)}.device-settings-unit{font-weight:400;color:var(--text-muted-color, #666)}.device-settings-input-row{display:flex;align-items:stretch;gap:8px}.device-settings-input-row input{flex:1;min-width:0;margin:0}.device-settings-use-reading{flex-shrink:0;width:auto;margin:0;padding:0 12px;background:none;border:1px dashed var(--primary-color);border-radius:4px;color:var(--primary-color);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.device-settings-use-reading:hover{background-color:var(--input-background-color)}.device-settings-hint{margin:0;font-size:12px;color:var(--text-muted-color, #666)}.device-settings-error{margin:0;font-size:13px;color:var(--error-color, #dc3545)}.device-settings-meta{margin:0;font-size:12px;color:var(--text-muted-color, #666)}.device-settings-actions{display:flex;justify-content:flex-end}.devices-list{max-width:1400px;margin:0 auto}.devices-list-header{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.devices-list-header h2{margin:0}.devices-count{font-size:14px;color:#666}.devices-list-header button{width:auto;padding:10px 20px;margin:0 0 0 auto}.devices-filter-bar{background-color:var(--input-background-color);border:1px solid var(--table-border-color);border-radius:8px;padding:16px;margin-bottom:20px}.devices-filter-bar h3{font-size:14px;font-weight:700;color:var(--text-color);margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.devices-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end}.devices-filter-grid label{display:flex;flex-direction:column;font-size:13px;font-weight:600;color:#555}.devices-filter-grid select,.devices-filter-grid input[type=text]{margin-bottom:0;margin-top:4px}.devices-filter-actions{display:flex;align-items:flex-end}.devices-filter-actions button{width:auto;padding:10px 16px;margin:4px 0 0;white-space:nowrap;background-color:var(--input-background-color);color:var(--text-color);border:1px solid var(--table-border-color)}.devices-filter-actions button:hover{background-color:var(--table-border-color)}.devices-last-seen{white-space:nowrap;font-size:13px;color:var(--text-color)}.devices-last-seen-loading{color:#aaa}.devices-card-line{display:none}.devices-actions{white-space:nowrap}.devices-loading,.devices-error,.devices-empty{display:flex;align-items:center;justify-content:center;min-height:200px;background-color:var(--input-background-color);border:2px dashed var(--table-border-color);border-radius:8px}.devices-loading p,.devices-error p,.devices-empty p{font-size:16px;color:#666}.devices-error p{color:#9b1c1c}@media only screen and (max-width: 600px){.devices-list-header{flex-direction:column;align-items:flex-start}.devices-list-header button{margin-left:0;width:100%}.devices-filter-grid{grid-template-columns:1fr}.devices-filter-bar{padding:12px}.devices-filter-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;margin:0;padding:4px 0;background:none;border:none;color:var(--text-color);font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;cursor:pointer}.devices-filter-toggle:hover{background:none;color:var(--text-color)}.devices-filter-toggle[aria-expanded=true]{margin-bottom:12px}.devices-list table.responsive tr.devices-row{display:grid;grid-template-columns:1fr auto auto;grid-template-areas:"name    name    status" "updated actions actions";align-items:center;column-gap:8px;row-gap:8px;padding:12px;border-radius:8px}.devices-list table.responsive tr.devices-row td{display:block;padding:0;border-bottom:none;min-width:0}.devices-list table.responsive tr.devices-row td:before{content:none}.devices-list table.responsive tr.devices-row td.devices-eui,.devices-list table.responsive tr.devices-row td.devices-client,.devices-list table.responsive tr.devices-row td.devices-type,.devices-list table.responsive tr.devices-row td.devices-model{display:none}.devices-list table.responsive td.devices-name{grid-area:name;font-size:16px;font-weight:700;overflow-wrap:anywhere}.devices-list .devices-card-line{display:block;margin-top:2px;font-size:14px;font-weight:400}.devices-list .devices-card-ids{font-size:12px;color:#666}.devices-list table.responsive td.devices-status{grid-area:status;align-self:start}.devices-list table.responsive td.devices-last-seen{grid-area:updated;font-size:12px;color:#666;white-space:normal}.devices-list table.responsive tr.devices-row td.devices-last-seen:before{content:"Updated ";font-weight:400;text-transform:none;color:inherit;padding:0}.devices-list table.responsive tr.devices-row td.devices-actions{grid-area:actions;display:flex;justify-content:flex-end;gap:6px}}.recipients-list{list-style:none;padding:0;margin:0;border:1px solid var(--table-border-color, #e0e0e0);border-radius:6px;overflow:hidden}.recipients-list li{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;font-size:13px;border-bottom:1px solid var(--table-border-color, #e0e0e0);background:var(--input-background-color, #fff)}.recipients-list li:last-child{border-bottom:none}.recipients-list-name{flex:1;font-weight:500;color:var(--text-color, #333);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recipients-list-actions{display:flex;gap:4px;flex-shrink:0}.recipients-add-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:4px;border:1px solid #ccc;background:transparent;font-size:12px;font-weight:500;color:#555;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s;width:auto;margin:0}.recipients-add-btn:hover:not(:disabled){border-color:var(--primary-color, #6eb323);color:var(--primary-color, #6eb323);background:transparent}.recipients-add-btn:disabled{opacity:.35;cursor:default}.recipients-external-row{margin-top:8px}.recipients-external-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:4px;border:1px dashed #ccc;background:transparent;font-size:13px;font-weight:500;color:#666;cursor:pointer;transition:border-color .12s,color .12s;width:auto;margin:0}.recipients-external-btn:hover{border-color:var(--primary-color, #6eb323);color:var(--primary-color, #6eb323);background:transparent}.recipients-selected{margin-top:10px}.recipients-selected-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#aaa;margin-bottom:6px}.recipients-chips{display:flex;flex-wrap:wrap;gap:6px}.recipient-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 10px;border-radius:20px;background:#f0f7e6;border:1px solid #c5e09a;font-size:12px;color:#3a6010;font-weight:500;max-width:260px}.recipient-chip-icon{font-size:10px;opacity:.7;flex-shrink:0}.recipient-chip-label{display:flex;flex-direction:column;min-width:0}.recipient-chip-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recipient-chip-value{font-weight:400;font-size:11px;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recipient-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:16px!important;height:16px;border-radius:50%;border:none;background:#0000001f;color:#3a6010;font-size:10px;cursor:pointer;padding:0!important;flex-shrink:0;line-height:1;transition:background .12s;margin:0}.recipient-chip-remove:hover{background:#00000038}.field-tooltip-wrapper{position:relative;display:inline-flex;align-items:center}.field-tooltip-btn{all:unset;display:inline-flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;color:#aaa;background:none;transition:color .15s}.field-tooltip-btn:hover,.field-tooltip-btn[aria-expanded=true]{color:#666;background:none}.field-tooltip-popup{position:absolute;left:50%;top:calc(100% + 6px);transform:translate(-50%);z-index:100;background:#fff;border:1px solid var(--table-border-color, #ddd);border-radius:6px;padding:8px 12px;font-size:13px;font-weight:400;color:var(--text-color, #333);line-height:1.5;width:260px;box-shadow:0 4px 12px #0000001a;white-space:normal}.field-tooltip-popup:before{content:"";position:absolute;top:-5px;left:50%;transform:translate(-50%);width:8px;height:8px;background:#fff;border-left:1px solid var(--table-border-color, #ddd);border-top:1px solid var(--table-border-color, #ddd);transform:translate(-50%) rotate(45deg)}.schedule-section{border-top:1px solid #e0e0e0;padding-top:16px;margin-top:4px}.schedule-toggle-row{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13px;font-weight:600;color:#555}.schedule-toggle-row input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary-color, #6eb323)}.schedule-fields{display:flex;flex-direction:column;gap:14px;margin-top:14px}.schedule-row{display:flex;flex-direction:column;gap:6px}.schedule-row-label{font-size:12px;font-weight:600;color:#777;text-transform:uppercase;letter-spacing:.04em}.day-chips{display:flex;flex-wrap:wrap;gap:6px}.day-chip{padding:5px 10px;border-radius:4px;border:1px solid #ccc;background:transparent;font-size:13px;font-weight:500;color:var(--text-color, #333);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.day-chip.selected{background:var(--primary-color, #6eb323);border-color:var(--primary-color, #6eb323);color:#fff}.day-chip:hover:not(.selected){border-color:var(--primary-color, #6eb323);color:var(--primary-color, #6eb323)}.schedule-time-row{display:flex;flex-direction:column;gap:8px;align-self:flex-start}.schedule-time-row.overnight{background:#fff8e6;border:1px solid #f0a500;border-radius:6px;padding:8px 10px;box-shadow:0 0 0 3px #f0a50026}.schedule-time-selects{display:flex;align-items:center;gap:10px}.schedule-time-selects select{padding:7px 10px;border:1px solid #ccc;border-radius:4px;font-size:13px;background:#fff;color:var(--text-color, #333)}.schedule-time-sep{font-size:13px;color:#777}.schedule-next-day{font-size:12px;font-weight:600;color:#a06800}.schedule-tz-row select{width:100%;max-width:320px;padding:7px 10px;border:1px solid #ccc;border-radius:4px;font-size:13px;background:#fff;color:var(--text-color, #333)}.notification-section{border-top:1px solid #e0e0e0;padding-top:16px;margin-top:4px;display:contents}.notification-section-label{grid-column:1 / -1;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#aaa;padding-top:16px;border-top:1px solid #e0e0e0;margin-top:4px}.device-toggle-container{display:flex;flex-direction:column;gap:10px}.device-toggle-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.device-toggle-actions{display:flex;gap:8px}.device-toggle-action-btn{padding:6px 12px;min-width:auto;width:auto;font-size:14px;background-color:var(--input-background-color);color:var(--text-color);border:1px solid var(--input-border-color);border-radius:4px;cursor:pointer;transition:background-color .2s ease}.device-toggle-action-btn:hover{background-color:var(--primary-color);color:var(--background-color)}.device-toggle-chips{display:flex;flex-wrap:wrap;gap:8px;overflow-x:auto;padding:4px 0;-webkit-overflow-scrolling:touch}.device-chip{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;min-height:44px;min-width:44px;font-size:14px;font-weight:600;border:2px solid var(--chip-color);border-radius:22px;cursor:pointer;transition:all .2s ease;white-space:nowrap;background-color:var(--chip-bg);color:var(--chip-text);margin:0;width:auto}.device-chip:hover{background-color:var(--chip-bg);color:var(--chip-text)}@media (hover: hover){.device-chip:hover{opacity:.85}}.device-chip:focus{outline:none}.device-chip:focus-visible{outline:none;box-shadow:0 0 0 3px #6eb32366}.device-chip.selected{box-shadow:0 2px 4px #0003}.device-chip.selected:focus-visible{box-shadow:0 2px 4px #0003,0 0 0 3px #6eb32366}@media only screen and (max-width: 600px){.device-toggle-chips{flex-wrap:wrap;overflow-y:auto;overflow-x:hidden;max-height:calc(50vh - 120px);padding-bottom:8px}.device-chip{flex-shrink:0}}.device-group-manager{display:flex;flex-direction:column;gap:10px}.device-group-header{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8px}.device-group-title{font-weight:600;font-size:14px;white-space:nowrap}.device-group-back-btn{padding:4px 8px;font-size:13px;background-color:var(--input-background-color);color:var(--text-color);border:1px solid var(--input-border-color);border-radius:4px;cursor:pointer;transition:background-color .2s ease;white-space:nowrap}.device-group-back-btn:hover{background-color:var(--primary-color);color:var(--background-color)}.device-group-menu-container{position:relative}.device-group-icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;font-size:16px;background-color:var(--input-background-color);color:var(--text-muted-color, #666);border:1px solid var(--input-border-color);border-radius:4px;cursor:pointer;transition:background-color .2s ease,color .2s ease}.device-group-icon-btn:hover{background-color:var(--primary-color);color:var(--background-color)}.device-group-popover{position:absolute;top:100%;right:0;margin-top:4px;min-width:150px;background-color:var(--input-background-color);border:1px solid var(--input-border-color);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:10;overflow:hidden}.device-group-popover-item{display:block;width:100%;padding:10px 14px;font-size:14px;text-align:left;background:none;border:none;color:var(--text-color);cursor:pointer;transition:background-color .15s ease}.device-group-popover-item:hover{background-color:var(--primary-color);color:var(--background-color)}.device-group-popover-item+.device-group-popover-item{border-top:1px solid var(--input-border-color)}.device-group-loaded-indicator{font-size:12px;color:var(--text-muted-color, #666);padding:4px 8px;background-color:var(--input-background-color);border-radius:4px}.device-group-modified{font-style:italic;color:var(--warning-color, #FF9800)}.device-group-empty{text-align:center;color:var(--text-muted-color, #666);padding:20px}.device-group-list{list-style:none;margin:0;padding:0}.device-group-item{display:grid;grid-template-columns:1fr auto;align-items:center;padding:8px;border-bottom:1px solid var(--input-border-color)}.device-group-item:last-child{border-bottom:none}.device-group-name-btn{min-width:0;padding:8px 12px;background:none;border:none;font-size:14px;font-weight:500;color:var(--text-color);cursor:pointer;text-align:left;border-radius:4px;transition:background-color .2s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-group-name-btn:hover{background-color:var(--primary-color);color:var(--background-color)}.device-group-count{font-size:12px;color:var(--text-muted-color, #666);font-weight:400;white-space:nowrap;margin-left:6px}.device-group-name-btn:hover .device-group-count{color:inherit}.device-group-delete-btn{padding:8px;background:none;border:none;color:var(--text-muted-color, #666);cursor:pointer;border-radius:4px;transition:color .2s ease,background-color .2s ease}.device-group-delete-btn:hover{color:var(--danger-color, #F44336);background-color:var(--input-background-color)}.device-group-delete-confirm{display:flex;flex-direction:column;gap:8px;width:100%;padding:8px;background-color:var(--input-background-color);border-radius:4px}.device-group-delete-actions{display:flex;gap:8px}.device-group-confirm-btn{padding:6px 12px;font-size:14px;background-color:var(--danger-color, #F44336);color:#fff;border:none;border-radius:4px;cursor:pointer}.device-group-confirm-btn:hover{opacity:.9}.device-group-cancel-btn{padding:6px 12px;font-size:14px;background-color:var(--input-background-color);color:var(--text-color);border:1px solid var(--input-border-color);border-radius:4px;cursor:pointer}.device-group-cancel-btn:hover{background-color:var(--background-color)}.device-group-naming{display:flex;flex-direction:column;gap:12px;padding:8px}.device-group-naming label{font-weight:600;font-size:14px}.device-group-naming input{padding:10px 12px;font-size:16px;border:1px solid var(--input-border-color);border-radius:4px;background-color:var(--input-background-color);color:var(--text-color)}.device-group-naming input:focus{outline:none;border-color:var(--input-focus-border-color)}.device-group-naming-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.device-group-save-confirm-btn{padding:10px 16px;font-size:14px;font-weight:600;background-color:var(--primary-color);color:#fff;border:none;border-radius:6px;cursor:pointer}.device-group-save-confirm-btn:hover:not(:disabled){background-color:var(--primary-hover-color)}.device-group-save-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.time-range-selector{display:flex;flex-direction:column;gap:12px}.time-range-presets{display:flex;gap:8px;flex-wrap:wrap}.time-range-preset-btn{padding:10px 16px;min-height:44px;min-width:50px;width:auto;font-size:14px;font-weight:600;background-color:var(--input-background-color);color:var(--text-color);border:2px solid var(--input-border-color);border-radius:6px;cursor:pointer;transition:all .2s ease;margin:0}.time-range-preset-btn:hover{background-color:var(--primary-color);color:var(--background-color);border-color:var(--primary-color)}.time-range-preset-btn.active{background-color:var(--primary-hover-color);color:var(--background-color);border-color:var(--primary-hover-color)}.time-range-custom{display:flex;gap:16px;flex-wrap:wrap}.time-range-input-group{display:flex;flex-direction:column;gap:4px;flex:1;min-width:180px}.time-range-input-group label{font-size:14px;font-weight:600;color:var(--text-color)}.time-range-input-group input[type=datetime-local]{padding:10px 12px;min-height:44px;font-size:16px;border:1px solid var(--input-border-color);border-radius:4px;background-color:var(--input-background-color);color:var(--text-color);margin-bottom:0}.time-range-input-group input[type=datetime-local]:focus{outline:none;border-color:var(--input-focus-border-color);box-shadow:var(--box-shadow)}.time-range-live-indicator{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:600;color:var(--primary-color);background-color:color-mix(in srgb,var(--primary-color) 15%,transparent);border-radius:4px;align-self:flex-start}.time-range-live-indicator:before{content:"";width:8px;height:8px;background-color:var(--primary-color);border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@media only screen and (max-width: 600px){.time-range-presets{width:100%}.time-range-preset-btn{flex:1 1 auto;min-width:70px}.time-range-custom{flex-direction:column}.time-range-input-group{width:100%}}.collapsible-selector-wrapper{position:relative;display:inline-flex}.collapsible-dropdown-panel{position:absolute;top:calc(100% + 4px);left:0;background-color:var(--background-color);border:1px solid var(--table-border-color);border-radius:8px;box-shadow:0 4px 16px #00000026;z-index:200;min-width:180px;max-width:min(280px,80vw);overflow:hidden}.collapsible-selector-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;margin:4px;min-height:36px;background-color:var(--input-background-color);border:1px solid var(--input-border-color);border-radius:18px;cursor:pointer;font-size:13px;transition:border-color .2s ease,background-color .2s ease;width:auto}.collapsible-selector-chip:hover{border-color:var(--primary-color);background-color:var(--input-background-color)}.collapsible-selector-chip:focus{outline:none;border-color:var(--input-focus-border-color);box-shadow:var(--box-shadow)}.collapsible-selector-label{color:var(--text-muted-color, #666);font-weight:500}.collapsible-selector-value{color:var(--text-color);font-weight:600;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collapsible-selector-live-dot{width:8px;height:8px;background-color:var(--primary-color);border-radius:50%;animation:collapsible-pulse 2s ease-in-out infinite;flex-shrink:0}@keyframes collapsible-pulse{0%,to{opacity:1}50%{opacity:.4}}.collapsible-selector-content{padding:8px 0}.collapsible-selector-done-btn{width:100%;padding:12px 16px;font-size:14px;font-weight:600;background-color:var(--primary-color);color:#fff;border:none;border-radius:6px;cursor:pointer;margin-top:16px}.collapsible-selector-done-btn:hover{background-color:var(--primary-hover-color)}.collapsible-selector-modal .modal-content{position:fixed;bottom:0;left:0;right:0;max-width:none;border-radius:16px 16px 0 0;max-height:80vh;overflow-y:auto;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.collapsible-selector-modal.device-selector-modal .modal-content{min-height:50vh;max-height:50vh}.chart-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:12px}.chart-header-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.chart-header-actions{display:flex;gap:8px;flex-shrink:0}.chart-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;margin:0;font-family:inherit;background-color:var(--input-background-color);color:var(--text-muted-color, #666);border:1px solid var(--input-border-color);border-radius:6px;cursor:pointer;transition:all .2s ease;text-decoration:none;font-size:14px}.chart-action-btn:hover{background-color:var(--primary-color);color:var(--background-color);border-color:var(--primary-color)}.chart-header-title{font-size:16px;font-weight:700;color:var(--text-color);margin:0;padding:0}.chart-header-subtitle{font-size:13px;font-weight:600;color:#666}.chart-header-subtitle-segment{white-space:nowrap}@media only screen and (max-width: 600px){.chart-header{flex-direction:row;align-items:flex-start;gap:8px}.chart-header-info{gap:2px}.chart-header-title{font-size:14px}.chart-header-subtitle{font-size:11px}.chart-action-btn{width:36px;height:36px}}.chart-pin-marker{position:absolute;top:2px;transform:translate(-50%);z-index:3;display:inline-flex;align-items:center;gap:6px;width:auto;margin:0;padding:2px 8px;background-color:var(--background-color, #fff);border:1px solid #555;border-radius:10px;color:var(--text-color, #333);font-size:12px;font-weight:700;line-height:1.6;white-space:nowrap;cursor:pointer;pointer-events:auto}.chart-pin-marker:hover{background-color:var(--input-background-color, #f2f2f2);border-color:var(--error-color, #dc3545);color:var(--error-color, #dc3545)}.chart-pin-marker-label{font-variant-numeric:tabular-nums}@media only screen and (max-width: 600px){.chart-pin-marker{font-size:11px;padding:2px 6px}}.area-chart-container{background-color:var(--background-color);border:1px solid var(--table-border-color);border-radius:8px;padding:16px;box-shadow:var(--box-shadow);scroll-margin-top:12px}.area-chart-expanded .area-chart-with-nav{align-items:center}.area-chart-expanded .area-chart-nav-btn{height:120px}.area-chart-container.custom-range{border-color:#d4900a;box-shadow:var(--box-shadow),inset 0 0 10px 10px #fef3cd}.area-chart-with-nav{display:flex;align-items:stretch}.area-chart-nav-btn{display:flex;align-items:center;justify-content:center;width:32px;flex-shrink:0;padding:0;background:none;border:1px solid var(--table-border-color);border-radius:6px;color:var(--text-muted-color, #666);cursor:pointer;font-size:18px;transition:all .2s ease}.area-chart-nav-btn:hover{background-color:var(--input-background-color);color:var(--primary-color);border-color:var(--primary-color)}.area-chart-wrapper{position:relative;flex:1;min-width:0;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.area-chart-wrapper *:focus{outline:none}.area-chart-no-data{position:absolute;top:0;right:10px;bottom:20px;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:1}.area-chart-no-data span{font-size:16px;font-weight:600;color:#999}.area-chart-tooltip{background-color:var(--tooltip-background-color);border:2px solid var(--primary-hover-color);border-radius:6px;padding:10px 14px;box-shadow:0 2px 8px #0003;min-width:120px}.area-chart-tooltip-time{font-size:13px;font-weight:600;color:#666;margin:0 0 4px}.area-chart-tooltip-value{font-size:18px;font-weight:700;color:var(--text-color);margin:0}.area-chart-tooltip-secondary{font-size:13px;font-weight:500;color:#888;margin:2px 0 0}.chart-forecast-footer{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:6px}.chart-forecast-notice{margin:0;font-size:13px;color:var(--text-muted-color, #666);text-align:center}.chart-forecast-basis{opacity:.75;font-size:12px}.chart-forecast-toggle{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;border:1px solid var(--border-color, #ccc);border-radius:4px;background:transparent;color:var(--text-color);cursor:pointer;font-size:13px;transition:opacity .15s,background .15s}.chart-forecast-toggle:hover{background:#64646414}.chart-forecast-toggle.off{opacity:.6;border-style:dashed}.chart-forecast-toggle-swatch{display:inline-block;width:20px;height:0;border-top:2px dashed rgba(100,100,100,.7);flex-shrink:0}.chart-forecast-toggle.off .chart-forecast-toggle-swatch{border-top-color:#aaa}.area-chart-container .recharts-wrapper{touch-action:pan-y}.area-chart-interacting .recharts-wrapper{touch-action:none;cursor:col-resize}.area-chart-interacting .recharts-surface{pointer-events:none}@media only screen and (max-width: 600px){.area-chart-container .recharts-wrapper{touch-action:none}.area-chart-container .recharts-surface{pointer-events:none}}.area-chart-container .recharts-cartesian-axis-tick-value{font-weight:600!important}@media only screen and (max-width: 600px){.area-chart-nav-btn{display:none}.area-chart-container{padding:12px}.area-chart-tooltip-value{font-size:16px}}.chart-custom-range-notice{font-size:12px;font-weight:600;color:#a06800;text-align:center;margin:6px 0 0}.chart-selection-popup{position:fixed;transform:translate(-50%,-120%);background-color:var(--primary-color, #4a90d9);color:#fff;padding:4px 10px;border-radius:6px;font-size:13px;font-weight:600;white-space:nowrap;pointer-events:none;z-index:10;box-shadow:0 2px 8px #0003}.fuel-summary-panel{border:1px solid var(--table-border-color);border-left:3px solid var(--primary-color);border-radius:8px;background:var(--background-color);box-shadow:var(--box-shadow);padding:14px 16px 0;margin-bottom:20px;overflow:hidden}.fuel-summary-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;margin-bottom:12px}.fuel-summary-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-color)}.fuel-summary-badge{font-size:.72rem;font-weight:600;color:var(--primary-color);background:#6eb3231a;border:1px solid rgba(110,179,35,.3);border-radius:100px;padding:2px 10px;white-space:nowrap;letter-spacing:.02em}.fuel-summary-stats{display:flex;align-items:stretch;margin-bottom:12px}.fuel-summary-stat{flex:1;display:flex;flex-direction:column;gap:3px}.fuel-summary-stat--right{align-items:flex-end;text-align:right}.fuel-summary-divider{width:1px;background:var(--table-border-color);margin:0 16px;align-self:stretch}.fuel-summary-value{font-size:1.65rem;font-weight:700;line-height:1.15;letter-spacing:-.02em}.fuel-summary-value--volume{color:var(--primary-color)}.fuel-summary-value--free{color:var(--text-color)}.fuel-summary-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#888;font-weight:500}.fuel-summary-track{height:4px;background:var(--table-border-color);margin:0 -16px;position:relative}.fuel-summary-fill{position:absolute;left:0;top:0;height:100%;background:var(--primary-color);transition:width .4s ease;max-width:100%}@media (max-width: 480px){.fuel-summary-value{font-size:1.35rem}}.rainfall-loading,.rainfall-empty{padding:40px 20px;text-align:center;color:#666}.rainfall-table-wrapper{overflow-x:auto}.rainfall-table{width:100%;border-collapse:collapse;font-size:.9rem}.rainfall-table th,.rainfall-table td{padding:10px 12px;text-align:right;border:1px solid var(--table-border-color)}.rainfall-table th:first-child,.rainfall-table td:first-child{text-align:left;position:sticky;left:0;background:var(--table-bg-color, var(--background-color));z-index:1}.rainfall-table tbody tr:nth-child(2n) td:first-child{background:var(--table-stripe-color-even)}.rainfall-table th{white-space:nowrap}.rainfall-table tbody tr:nth-child(2n){background:var(--table-stripe-color-even)}.rainfall-device-link{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:inherit;font-family:inherit;padding:0;text-decoration:underline;text-align:left}.rainfall-device-link:hover{color:var(--primary-hover-color)}.col-abbr{display:none}.rainfall-table-note{margin:8px 0 0;font-size:.8rem;color:#888}@media (max-width: 600px){.rainfall-table th,.rainfall-table td{padding:8px;font-size:.85rem}.col-full{display:none}.col-abbr{display:inline}}.rainfall-bars-legend-line{display:block}.rainfall-bars-drillable{cursor:pointer}.rainfall-bars-tooltip-detail{margin:2px 0 0;font-size:.85rem;color:var(--color-muted)}.rainfall-bars-hint{margin:4px 0 0;font-size:.85rem;color:var(--color-muted);text-align:center}.single-stat-card{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--input-background-color);border:1px solid var(--table-border-color);border-radius:8px;padding:16px 12px;flex:1;min-width:0;text-align:center;box-shadow:var(--box-shadow)}.single-stat-value{font-size:1.6rem;font-weight:700;color:var(--primary-color);line-height:1.2;white-space:nowrap}.single-stat-label{font-size:.8rem;color:#666;margin-top:4px;text-transform:uppercase;letter-spacing:.05em}.rain-gauge-page{display:flex;flex-direction:column;gap:16px}.rain-gauge-device-name{font-size:1.2rem;font-weight:600;color:var(--text-color)}.rain-gauge-stats-row{display:flex;gap:12px;flex-wrap:wrap}.rain-gauge-stats-row .single-stat-card{min-width:120px}.line-chart-container{background:var(--background-color);border:1px solid var(--table-border-color);border-radius:8px;padding:16px;margin-bottom:16px;box-shadow:var(--box-shadow)}.line-chart-container.custom-range{border-color:#d4900a;box-shadow:var(--box-shadow),inset 0 0 10px 10px #fef3cd}.line-chart-legend{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding:4px 0 0;font-size:.8rem;color:var(--text-color)}.line-chart-legend-item{display:flex;align-items:center;gap:6px}.line-chart-with-nav{display:flex;align-items:stretch}.line-chart-wrapper{position:relative;flex:1;min-width:0}.line-chart-interacting{cursor:col-resize;-webkit-user-select:none;user-select:none}.line-chart-nav-btn{display:flex;align-items:center;justify-content:center;width:32px;flex-shrink:0;padding:0;background:none;border:1px solid var(--table-border-color);border-radius:6px;color:var(--text-muted-color, #666);cursor:pointer;font-size:18px;transition:all .2s ease}.line-chart-nav-btn:hover{background-color:var(--input-background-color);color:var(--primary-color);border-color:var(--primary-color)}@media only screen and (max-width: 600px){.line-chart-nav-btn{display:none}}.line-chart-no-data{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#999;font-size:.9rem;pointer-events:none;z-index:1}.line-chart-tooltip{background:var(--tooltip-background-color);border:1px solid var(--table-border-color);border-radius:4px;padding:8px 12px;font-size:.85rem;box-shadow:var(--box-shadow)}.line-chart-tooltip-time{font-weight:600;margin-bottom:4px;color:var(--text-color)}.wind-rose-container{background:var(--background-color);border:1px solid var(--table-border-color);border-radius:8px;padding:16px;margin-bottom:16px;box-shadow:var(--box-shadow)}.wind-rose-title{font-size:1rem;font-weight:600;color:var(--text-color);margin-bottom:12px}.wind-rose-title:has(+.wind-rose-notice){margin-bottom:4px}.wind-rose-notice{font-size:.8rem;line-height:1.4;color:#666;margin-bottom:12px;max-width:52ch}.wind-rose-chart{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.wind-rose-chart svg{flex-shrink:0}.wind-rose-legend{display:flex;flex-direction:column;gap:8px;font-size:.8rem}.wind-rose-legend-item{display:flex;align-items:center;gap:8px}.wind-rose-legend-swatch{display:inline-block;width:14px;height:14px;border-radius:2px;flex-shrink:0}.wind-rose-total{margin-top:4px;color:#888;font-size:.75rem}.wind-rose-timeline{margin-top:16px;display:flex;flex-direction:column;gap:6px}.wind-rose-timeline-label{text-align:center;font-size:.85rem;font-weight:600;color:var(--text-color)}.wind-rose-timeline-track{display:flex;flex-direction:column;gap:4px}.wind-rose-timeline-density{width:100%;height:8px;display:block;border-radius:2px;overflow:hidden}.wind-rose-timeline-controls{display:flex;align-items:center;gap:8px}.wind-rose-timeline-slider{flex:1;accent-color:var(--primary-color);cursor:pointer;padding:0;margin-bottom:0;border:none;background:transparent;width:auto}.wind-rose-timeline-endpoints{display:flex;justify-content:space-between;font-size:.72rem;color:#888}.wind-rose-nav-btn{background:none;border:1px solid var(--table-border-color);border-radius:4px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-color);font-size:.8rem;flex-shrink:0;transition:background .15s}.wind-rose-nav-btn:hover{background:var(--table-stripe-color-even)}.wind-rose-nav-btn:disabled{opacity:.35;cursor:default}.weather-station-page{display:flex;flex-direction:column;gap:16px}.weather-station-device-name{font-size:1.2rem;font-weight:600;color:var(--text-color)}.weather-station-stats-row{display:flex;gap:12px;flex-wrap:wrap}.weather-station-stats-row .single-stat-card{min-width:120px}@media (max-width: 600px){.weather-station-stats-row--latest .single-stat-card:nth-child(1),.weather-station-stats-row--latest .single-stat-card:nth-child(2){flex:1 1 calc(50% - 6px)}.weather-station-stats-row--latest .single-stat-card:nth-child(3),.weather-station-stats-row--latest .single-stat-card:nth-child(4){flex-basis:100%}}.weather-station-tabs{display:flex;border-bottom:2px solid var(--table-border-color)}.weather-station-tab-btn{flex:1;padding:10px 12px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:.9rem;font-weight:500;color:#888;cursor:pointer;transition:color .15s,border-color .15s}.weather-station-tab-btn:hover{color:var(--text-color)}.weather-station-tab-btn.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.daily-water-use-note{margin:4px 0 0;font-size:12px;color:var(--text-muted-color, #666);text-align:center}.daily-water-use-swatch{display:inline-block;width:10px;height:10px;border-radius:2px;background:#c7cdd4;margin-right:4px;vertical-align:baseline}.daily-water-use-tooltip-note{margin:4px 0 0;font-size:11px;color:var(--text-muted-color, #666);max-width:180px}.depth-stacked-chart{background:var(--background-color);border:1px solid var(--table-border-color);border-radius:8px;padding:16px;box-shadow:var(--box-shadow)}.depth-stacked-chart.custom-range{border-color:#d4900a;box-shadow:var(--box-shadow),inset 0 0 10px 10px #fef3cd}.depth-stacked-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.depth-stacked-title{margin:0;font-size:1rem;font-weight:600;color:var(--text-color)}.depth-stacked-with-nav{display:flex;align-items:stretch;gap:4px}.depth-stacked-expanded .depth-stacked-with-nav{align-items:center}.depth-stacked-expanded .depth-stacked-nav-btn{height:120px}.depth-stacked-nav-btn{display:flex;align-items:center;justify-content:center;width:32px;flex-shrink:0;padding:0;background:none;border:1px solid var(--table-border-color);border-radius:6px;color:var(--text-muted-color, #666);cursor:pointer;font-size:18px;transition:all .2s ease}.depth-stacked-nav-btn:hover{background-color:var(--input-background-color);color:var(--primary-color);border-color:var(--primary-color)}.depth-stacked-body{flex:1;min-width:0;position:relative}.depth-stacked-no-data{height:200px;display:flex;align-items:center;justify-content:center;color:var(--text-muted-color, #999);font-size:.9rem}.depth-stacked-band{display:flex;align-items:stretch}.depth-band-label{flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;font-size:.75rem;font-weight:600;color:var(--text-muted-color, #666)}.depth-band-plot{flex:1;min-width:0}.depth-band-plot .recharts-wrapper:focus,.depth-band-plot .recharts-wrapper:focus-visible,.depth-band-plot .recharts-surface:focus,.depth-band-plot .recharts-surface:focus-visible,.depth-band-plot svg:focus,.depth-band-plot svg:focus-visible{outline:none}.depth-stacked-overlay-tooltip{position:absolute;top:4px;pointer-events:none;z-index:10;background:var(--tooltip-background-color, rgba(255, 255, 255, .95));border:1px solid var(--table-border-color);border-radius:4px;padding:6px 10px;font-size:.8rem;box-shadow:var(--box-shadow);white-space:nowrap;min-width:120px}.depth-stacked-overlay-time{margin:0 0 4px;font-size:.75rem;font-weight:600;color:var(--text-color)}.depth-stacked-overlay-row{margin:1px 0;display:flex;justify-content:space-between;gap:12px;font-weight:600}.depth-stacked-overlay-label{color:var(--text-muted-color, #666);font-weight:400}@media only screen and (max-width: 600px){.depth-stacked-nav-btn{display:none}}.depth-stacked-rule{position:absolute;top:0;bottom:28px;width:0;border-left:1px dashed #aaa;pointer-events:none;z-index:2}.depth-stacked-rule--pinned{border-left:2px solid #555}.power-meter-page{display:flex;flex-direction:column;gap:24px}.power-meter-device-name{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.power-meter-toggles{display:flex;flex-wrap:wrap;gap:8px}.power-meter-toggle-btn{display:flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--channel-color, #ccc);border-radius:4px;background:transparent;color:var(--text-primary);cursor:pointer;font-size:.875rem;transition:opacity .15s,background .15s}.power-meter-toggle-btn:hover{background:color-mix(in srgb,var(--channel-color, #ccc) 12%,transparent)}.power-meter-toggle-btn.disabled{opacity:.4;border-style:dashed}.power-meter-toggle-swatch{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--channel-color, #ccc);flex-shrink:0}.power-meter-toggle-btn.disabled .power-meter-toggle-swatch{background:#aaa}.flow-meters-page{display:flex;flex-direction:column;gap:16px}.flow-meters-device-name{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.flow-meters-meter{display:flex;flex-direction:column;gap:12px}.flow-meters-meter-name{margin:0;font-size:1rem;font-weight:600;color:var(--text-color)}.flow-meters-empty{margin:0;color:var(--color-muted)}.flow-meters-stats-row{display:flex;gap:12px;flex-wrap:wrap}.flow-meters-stats-row .single-stat-card{min-width:120px}@media (max-width: 600px){.flow-meters-stats-row .single-stat-card{flex:1 1 calc(50% - 6px)}}.fertigation-page{display:flex;flex-direction:column;gap:16px}.fertigation-device-name{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.fertigation-stats-row{display:flex;gap:12px;flex-wrap:wrap}.fertigation-stats-row .single-stat-card{min-width:120px}@media (max-width: 600px){.fertigation-stats-row .single-stat-card{flex:1 1 calc(50% - 6px)}}.status-monitors-page{display:flex;flex-direction:column;gap:12px}.status-monitors-loading{margin:0;color:var(--color-muted);font-size:.9rem}.status-monitors-table{width:100%;border-collapse:collapse;font-size:.95rem}.status-monitors-table th,.status-monitors-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--table-border-color)}.status-monitors-table th{font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.status-monitors-table tbody:nth-of-type(odd) tr{background-color:var(--table-stripe-color-odd)}.status-monitors-table tbody:nth-of-type(2n) tr{background-color:var(--table-stripe-color-even)}.status-monitors-name{font-weight:600;color:var(--text-color)}.status-monitors-device-row td{border-bottom:none;padding-bottom:2px}.status-monitors-table td.status-monitors-channel{padding-left:32px}.status-state-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.8rem;font-weight:700;line-height:1.4}.status-state-open{background-color:#ff98002e;color:#b26a00}.status-state-closed{background-color:#6eb3232e;color:#3f6a12}.status-state-nodata{background-color:#80808026;color:var(--color-muted)}.status-monitors-actions{display:flex;gap:6px;justify-content:flex-end}@media (max-width: 600px){.status-monitors-table,.status-monitors-table thead,.status-monitors-table tbody,.status-monitors-table tr,.status-monitors-table td{display:block;width:100%}.status-monitors-table thead{display:none}.status-monitors-table tr{margin-bottom:12px;border:1px solid var(--table-border-color);border-radius:8px;padding:6px 4px}.status-monitors-table td{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:none;padding:8px 12px}.status-monitors-table td:before{content:attr(data-label);font-weight:600;color:var(--color-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.status-monitors-table tr.status-monitors-device-row{margin-bottom:4px;border:none;padding:0 8px;display:flex;justify-content:space-between;align-items:center}.status-monitors-device-row .status-monitors-name{font-size:1.05rem}.status-monitors-table td.status-monitors-channel{padding-left:12px}.status-monitors-channel-row td:empty{display:none}.status-monitors-actions{justify-content:flex-start}}.visualisations{max-width:1600px;margin:0 auto}.back-to-rainfall-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid var(--input-border-color);border-radius:4px;padding:6px 12px;margin-bottom:12px;cursor:pointer;font-size:.9rem;color:var(--primary-color);width:100%;text-align:left}.back-to-rainfall-btn:hover{background:var(--table-stripe-color-even)}.page-selector-trigger{display:inline-flex;align-items:center;gap:8px;background:none;border:none;padding:0;margin-bottom:20px;cursor:pointer;text-align:left}.page-selector-trigger h2{margin:0;color:var(--text-color);transition:color .2s ease}.page-selector-trigger:hover h2{color:var(--primary-color)}.page-selector-arrow{font-size:12px;color:#666;transition:transform .2s ease}.page-selector-trigger:hover .page-selector-arrow{color:var(--primary-color)}.page-selector-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:16px;color:#666;font-size:14px}.page-selector-spinner{width:32px;height:32px;border:3px solid var(--table-border-color);border-top-color:var(--primary-color);border-radius:50%;animation:page-selector-spin .7s linear infinite}@keyframes page-selector-spin{to{transform:rotate(360deg)}}.page-selector-list{list-style:none;margin:0;padding:0}.page-selector-list li{margin:0}.page-selector-option{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:14px 16px;border:1px solid var(--table-border-color);border-radius:8px;margin-bottom:8px;background:var(--background-color);cursor:pointer;text-align:left;transition:border-color .2s ease,background-color .2s ease}.page-selector-option:last-child{margin-bottom:0}.page-selector-option:hover{border-color:var(--primary-color);background-color:var(--input-background-color)}.page-selector-option.active{border-color:var(--primary-color);background-color:rgba(var(--primary-color-rgb, 0, 123, 255),.08)}.page-option-name{font-size:16px;font-weight:600;color:var(--text-color);margin-bottom:4px}.page-option-description{font-size:13px;color:#666}.visualisations-layout{display:flex;gap:24px}.visualisations-controls{flex:0 0 320px;display:flex;flex-direction:column;gap:20px}.control-section{background-color:var(--input-background-color);border:1px solid var(--table-border-color);border-radius:8px;padding:16px}.control-section h3{font-size:14px;font-weight:700;color:var(--text-color);margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.visualisations-charts{flex:1;min-width:0}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px}.charts-grid--single{grid-template-columns:1fr}.device-status-toggle{display:flex;margin-bottom:12px}.device-status-btn{flex:1;margin:0;padding:8px 12px;min-height:40px;font-size:14px;font-weight:600;background-color:var(--input-background-color);color:var(--text-color);border:2px solid var(--input-border-color);cursor:pointer}.device-status-btn:first-child{border-radius:6px 0 0 6px}.device-status-btn:last-child{border-radius:0 6px 6px 0;border-left:none}.device-status-btn.active{background-color:var(--primary-hover-color);border-color:var(--primary-hover-color);color:var(--background-color)}.device-status-hint{font-size:13px;color:#666;margin:0 0 12px}.loading-message{font-size:14px;color:#666;margin:0}.empty-state{display:flex;align-items:center;justify-content:center;min-height:300px;background-color:var(--input-background-color);border:2px dashed var(--table-border-color);border-radius:8px}.empty-state p{font-size:16px;color:#666}.refresh-controls{margin-bottom:12px}.refresh-controls button{width:100%;padding:10px 16px;margin:0}.last-updated{font-size:13px;color:#666;margin:0}.auto-refresh-indicator{color:var(--primary-color);font-weight:600}@media only screen and (max-width: 900px){.visualisations-layout{flex-direction:column}.visualisations-controls{flex:none;width:100%}.charts-grid{grid-template-columns:1fr}}.client-dropdown-item{display:block;width:100%;padding:12px 16px;margin:0;background:none;border:none;border-bottom:1px solid var(--table-border-color);border-radius:0;text-align:left;font-size:15px;font-weight:400;color:var(--text-color);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background-color .15s ease}.client-dropdown-item:last-child{border-bottom:none}.client-dropdown-item:hover{background-color:var(--input-background-color)}.client-dropdown-item-active{font-weight:600;color:var(--primary-color)}.mobile-collapsed-selectors{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}@media only screen and (max-width: 600px){.visualisations{padding:0 4px;overflow-x:clip}.control-section{padding:12px}}.asset-trackers{position:relative;width:100%;height:640px;border-radius:8px;overflow:hidden}.asset-trackers-loading{position:absolute;top:12px;left:50%;transform:translate(-50%);background:#0009;color:#fff;padding:6px 16px;border-radius:20px;font-size:.85rem;z-index:10;pointer-events:none}.sticky-h-scrollbar{position:fixed;bottom:0;z-index:90;height:18px;overflow:hidden;background-color:var(--input-background-color);border-top:1px solid var(--input-border-color);cursor:pointer;touch-action:none}.sticky-h-scrollbar-thumb{position:absolute;top:3px;left:0;height:11px;border-radius:6px;background-color:var(--input-border-color);cursor:grab}.sticky-h-scrollbar-thumb:hover{background-color:var(--input-focus-border-color)}.sticky-h-scrollbar-thumb:active{cursor:grabbing}@media (pointer: coarse){.sticky-h-scrollbar{display:none!important}}.device-data h2{margin-bottom:16px}.device-data-error{color:#c00}.device-data-date-range{display:inline-flex;align-items:center;width:auto;gap:8px;margin:0 0 16px;padding:6px 12px;font:inherit;color:var(--text-color);background-color:var(--input-background-color);border:1px solid var(--input-border-color);border-radius:6px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.device-data-date-range:hover{border-color:var(--input-focus-border-color)}.device-data-date-range:focus-visible{outline:none;border-color:var(--input-focus-border-color);box-shadow:var(--box-shadow)}.device-data-date-range-caret{font-size:12px;line-height:1;color:#666;transition:color .15s ease}.device-data-date-range:hover .device-data-date-range-caret,.device-data-date-range:focus-visible .device-data-date-range-caret{color:var(--input-focus-border-color)}.device-data-popover-underlay{position:fixed;top:0;right:0;bottom:0;left:0}.device-data-range-popover{background-color:var(--background-color);border:1px solid var(--table-border-color);border-radius:8px;box-shadow:var(--box-shadow);padding:16px}.device-data-table-wrapper{overflow-x:auto}.device-data-table-wrapper table{white-space:nowrap}.device-data-table-wrapper td,.device-data-table-wrapper th{padding:8px 12px}.device-data-table-wrapper thead th{padding:0}.device-data-sort-btn{display:flex;align-items:center;gap:8px;width:auto;min-width:100%;margin:0;padding:8px 12px;font:inherit;font-weight:600;color:inherit;background:transparent;border:none;border-radius:0;text-align:left;white-space:nowrap;cursor:pointer;transition:background-color .15s ease}.device-data-sort-btn:hover{background-color:#ffffff1f}.device-data-sort-btn:focus-visible{outline:2px solid var(--background-color);outline-offset:-2px}.device-data-sort-indicator{display:inline-block;width:12px;font-size:11px;line-height:1}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.key-variables-table td button{width:auto}.billing-filters{display:flex;gap:12px;flex-wrap:wrap}.billing-filters select,.billing-filters input{width:auto;flex:1 1 auto;min-width:160px;margin-bottom:0}.fy-stepper{display:flex;align-items:center;gap:8px;white-space:nowrap}.fy-stepper button{width:auto;margin:0;padding:6px 12px}.fy-stepper span{min-width:96px;text-align:center;font-weight:600}.invoice-totals{display:flex;flex-wrap:wrap;gap:4px 24px;margin:0 0 12px;font-size:15px}.settings-card{display:block;padding:16px 20px;background:#f9f9f9;border:1px solid #ddd;border-radius:8px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}.settings-card:hover{border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color)}.settings-card:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.text-right{text-align:right}.text-center{text-align:center}.text-mono{font-family:monospace}.text-muted{color:var(--color-muted)}.text-muted-secondary{color:var(--color-muted-secondary)}.text-sm{font-size:14px}.section-header-row{display:flex;align-items:center;gap:8px}.billing-inline-status{color:var(--color-muted-secondary);padding:6px 0;font-size:14px}.billing-choice{display:flex;gap:10px;align-items:flex-start;padding:8px 0;cursor:pointer}.billing-choice input{width:auto;margin-top:3px}.billing-choice input:disabled+span{opacity:.7;cursor:not-allowed}.billing-choice__hint{display:block;padding:2px 0 0}.flag-indicator{margin-left:6px;color:var(--color-warning);cursor:help}@keyframes billing-spin{to{transform:rotate(360deg)}}.billing-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--table-border-color);border-top-color:var(--color-muted);border-radius:50%;animation:billing-spin .7s linear infinite;vertical-align:middle;margin-right:6px}.invoice-document{background:var(--input-background-color);border:1px solid var(--table-border-color);border-radius:8px;padding:40px 48px;max-width:860px;margin:0 auto}.invoice-document__masthead{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.invoice-document__logo{width:200px;max-width:45%;height:auto}.invoice-document h1{padding-left:0;font-size:24px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;margin:0}.invoice-document__top{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:28px}.invoice-document__party-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-muted);margin-bottom:6px}.invoice-document__party strong{display:block;font-size:15px;margin-bottom:2px}.invoice-document__party p{margin:0;font-size:14px;color:var(--color-muted);line-height:1.5}.invoice-document__meta{text-align:right}.invoice-document__meta table{margin-left:auto;border:none;font-size:14px}.invoice-document__meta td{padding:2px 0 2px 16px;border:none;background:none}.invoice-document__meta td:first-child{color:var(--color-muted);font-weight:600;text-align:right;white-space:nowrap}.invoice-document__meta td:last-child{text-align:left;font-weight:500}.invoice-document__divider{border:none;border-top:1px solid var(--table-border-color);margin:24px 0}.invoice-document__billed-to{margin-bottom:28px}.invoice-document__billed-to strong{display:block;font-size:15px;margin-bottom:2px}.invoice-document__billed-to p{margin:0;font-size:14px;color:var(--color-muted)}.invoice-document table{width:100%;border-collapse:collapse;font-size:14px}.invoice-document table th,.invoice-document table td{padding:8px 12px;border-bottom:1px solid var(--table-border-color)}.invoice-document table th{text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-muted);background:none}.invoice-document__credits{margin-top:12px;font-size:14px}.invoice-document__payment{margin-top:28px;padding:16px 20px;border:1px solid var(--table-border-color);border-radius:6px;background:var(--color-surface-muted, rgba(107, 114, 128, .06))}.invoice-document__payment>p{margin:0 0 12px;font-size:14px}.invoice-document__payment-details{width:auto!important;font-size:14px}.invoice-document__payment-details td{padding:3px 0!important;border:none!important;background:none}.invoice-document__payment-details td:first-child{color:var(--color-muted);font-weight:600;padding-right:24px!important;white-space:nowrap}.invoice-document__payment-details td:last-child{font-weight:500}.invoice-document__payment-note{margin:12px 0 0;font-size:13px;color:var(--color-muted)}@media print{.nav-container,.invoice-screen-chrome{display:none!important}body{background:#fff!important}.page{padding:0!important;margin:0!important;max-width:none!important}.invoice-document{border:none!important;border-radius:0!important;background:#fff!important;padding:0!important;max-width:none!important;margin:0!important}.invoice-document h1{padding-left:0!important}.invoice-document__logo{width:170px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.invoice-document tfoot{display:table-row-group}.invoice-document tfoot tr{break-inside:avoid;page-break-inside:avoid}h2{padding-left:0!important}@page{size:A4;margin:20mm}}.statement-document .invoice-document__top{margin-bottom:16px}.statement-document .invoice-document__meta table{margin-bottom:0}.statement-document .invoice-document__divider{margin:0 0 16px}.statement-document .invoice-document__billed-to{margin-bottom:24px}.statement-document__due td{font-weight:700!important}.statement-document__scroll{overflow-x:auto}.statement-document .statement-document__num{text-align:right;white-space:nowrap}.statement-document__nowrap{white-space:nowrap}.statement-document__detail{margin-top:2px;font-size:13px;color:var(--color-muted)}.statement-document__ledger td{vertical-align:top}.statement-document .status-badge{margin-left:6px;font-size:11px;white-space:nowrap}.statement-document__carried td{font-weight:600}.statement-document__ledger tfoot tr{border-top:2px solid var(--table-border-color)}.statement-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px}.statement-filters label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}.statement-filters input{margin:0}@media print{.statement-document__scroll{overflow:visible}.statement-document .status-badge{-webkit-print-color-adjust:exact;print-color-adjust:exact}.statement-document__ledger tr,.statement-document .invoice-document__payment{break-inside:avoid;page-break-inside:avoid}}.status-badge--enquiry-new{background-color:#d9770621;color:var(--color-warning)}.status-badge--enquiry-contacting{background-color:#2563eb21;color:#2563eb}.status-badge--enquiry-follow_up{background-color:#4f46e521;color:#4f46e5}.status-badge--enquiry-won{background-color:#16a34a21;color:#16a34a}.status-badge--enquiry-closed{background-color:#6b728021;color:#6b7280}.enquiry-call{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.enquiry-call-button{font-size:16px;padding:10px 20px}.enquiry-outcome-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.enquiry-outcome-buttons button[aria-pressed=true]{outline:2px solid var(--primary-color);outline-offset:1px}.enquiry-history{list-style:none;margin:0;padding:0}.enquiry-history li{padding:10px 0;border-bottom:1px solid var(--table-border-color);font-size:14px}.enquiry-history li:last-child{border-bottom:none}.enquiry-history-when{color:var(--color-muted-secondary);font-size:13px;margin-left:6px}.enquiry-history-note{margin:4px 0 0;white-space:pre-wrap}.enquiry-message{white-space:pre-wrap}
