:root{--navy:#071b33;--navy2:#102c4c;--cyan:#16b9df;--bg:#f3f6f9;--line:#dce4eb;--text:#152638;--muted:#64748b;--white:#fff;--green:#0e9f6e;--red:#d64545}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg);letter-spacing:0}a{color:#087ca0;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:240px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:var(--navy);color:#fff;padding:24px 16px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;color:inherit}.brand-mark{width:40px;height:40px;border-radius:8px;background:var(--cyan);display:grid;place-items:center;font-weight:800;color:var(--navy)}.brand strong,.brand small{display:block}.brand small{font-size:12px;color:#9db0c5;margin-top:3px}.sidebar nav{display:grid;gap:5px;margin-top:32px}.sidebar nav a{color:#c6d2df;padding:11px 12px;border-radius:6px}.sidebar nav a:hover,.sidebar nav a.active{background:var(--navy2);color:#fff}.sidebar-user{margin-top:auto;padding:16px 12px 0;border-top:1px solid #28435e}.sidebar-user span,.sidebar-user small{display:block}.sidebar-user small{color:#96abc0;margin:4px 0 10px;text-transform:capitalize}.link-button{padding:0;border:0;background:transparent;color:#68d5ed;cursor:pointer}.main-content{padding:28px;min-width:0}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.topbar h1{margin:2px 0 0;font-size:28px}.eyebrow{margin:0;color:#0784a7;font-size:12px;font-weight:800;text-transform:uppercase}.button{border:1px solid transparent;border-radius:6px;padding:10px 15px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.button.primary{background:var(--cyan);color:#062037}.button.secondary{background:#fff;border-color:var(--line);color:var(--text)}.button.danger{background:#fff;border-color:#efb4b4;color:#b32323}.button.compact{padding:7px 10px;font-size:13px}.alert{padding:13px 16px;border-radius:6px;margin-bottom:18px}.alert.success{background:#dcf6eb;color:#086b4b}.alert.error{background:#fde8e8;color:#9b1c1c}.alert ul{margin:8px 0 0}.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:14px;margin-bottom:22px}.stat{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px}.stat span{display:block;color:var(--muted);font-size:13px}.stat strong{font-size:30px;display:block;margin-top:10px}.stat.online{border-top:3px solid var(--green)}.stat.offline{border-top:3px solid var(--red)}.section-block{background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px;margin-bottom:20px}.section-block>h2,.section-heading h2{font-size:18px;margin:0 0 18px}.section-heading{display:flex;justify-content:space-between;align-items:center}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid #e8edf2;vertical-align:middle}th{font-size:12px;color:var(--muted);text-transform:uppercase}td small{display:block;color:var(--muted);margin-top:4px;max-width:300px;overflow:hidden;text-overflow:ellipsis}.empty{text-align:center;color:var(--muted);padding:32px}.status{display:inline-block;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;text-transform:capitalize;background:#edf1f5}.status.online,.status.active{background:#d8f5e9;color:#087552}.status.offline,.status.blocked{background:#fae4e4;color:#a72c2c}.split-layout{display:grid;grid-template-columns:minmax(320px,440px) minmax(0,1fr);gap:20px;align-items:start}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid.one-column{grid-template-columns:1fr}.form-grid label{font-size:13px;font-weight:700;color:#40536a}.form-grid input,.form-grid select,.form-grid textarea,.copy-field input{width:100%;margin-top:7px;padding:10px 11px;border:1px solid #cbd6e0;border-radius:6px;background:#fff;color:var(--text)}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:2px solid #a7e6f4;border-color:#28aeca}.form-grid .full,.form-actions.full{grid-column:1/-1}.form-actions{display:flex;gap:10px;align-items:end}.check{display:flex!important;align-items:center;gap:8px;font-weight:500!important}.check input{width:auto!important;margin:0!important}.option-list{display:grid;gap:10px;align-content:center}.camera-overview{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:20px}.player-panel,.details-panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px}.player-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.player-panel video{width:100%;aspect-ratio:16/9;background:#02070d;border-radius:6px;display:block}.player-message{text-align:center;color:var(--muted)}.details-panel h2{margin-top:0}.copy-field{display:grid;grid-template-columns:1fr auto;gap:0;margin:14px 0;font-size:12px;font-weight:700;color:var(--muted)}.copy-field input{grid-column:1;margin-top:6px;border-radius:6px 0 0 6px}.copy-field button{grid-column:2;margin-top:6px;border:1px solid #cbd6e0;background:#edf4f7;border-radius:0 6px 6px 0;padding:0 10px;cursor:pointer}.details-panel dl{display:grid;grid-template-columns:100px 1fr;gap:10px;margin:20px 0}.details-panel dt{color:var(--muted)}.details-panel dd{margin:0;font-weight:700}.login-page{min-height:100vh;background:var(--navy);display:grid;place-items:center;padding:20px}.login-panel{width:min(430px,100%);background:#fff;border-radius:8px;padding:32px}.login-brand{color:var(--text);margin-bottom:32px}.login-panel h1{margin-bottom:8px}.login-panel>p{color:var(--muted);margin:0 0 24px}.watch-page{min-height:100vh;background:#061322;color:#fff;padding:24px}.watch-page main{max-width:1280px;margin:auto}.watch-page header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.watch-page h1{margin:4px 0}.watch-page video{width:100%;max-height:78vh;background:#000;border-radius:8px}.watch-page #player-message{text-align:center;color:#9db0c5}@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(3,1fr)}.split-layout,.camera-overview{grid-template-columns:1fr}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:static;height:auto;padding:14px}.sidebar nav{display:flex;overflow-x:auto;margin-top:16px}.sidebar nav a{white-space:nowrap}.sidebar-user{display:none}.main-content{padding:16px}.topbar{align-items:flex-start}.topbar h1{font-size:23px}.stats-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.form-grid .full,.form-actions.full{grid-column:auto}.section-block{padding:15px}.copy-field{grid-template-columns:minmax(0,1fr) auto}}
.tenant-logo{width:44px;height:44px;object-fit:contain;background:#fff;border-radius:6px;padding:3px}.tenant-thumb{width:32px;height:32px;object-fit:contain;vertical-align:middle;margin-right:8px;border:1px solid var(--line);border-radius:5px}.row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.row-actions form{margin:0}.form-grid small{display:block;color:var(--muted);margin-top:5px;font-weight:400}
.billing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.billing-card{border:1px solid var(--line);border-radius:8px;padding:18px}.billing-card h3{margin:0}.billing-total{padding:12px;background:var(--bg);border-radius:6px}.inline-form{display:flex;gap:8px;margin:12px 0}.inline-form input{min-width:0;padding:9px;border:1px solid var(--line);border-radius:6px}.settings-logo{max-width:220px;max-height:100px;object-fit:contain;margin-bottom:20px}.status.paid{background:#d8f5e9;color:#087552}.status.overdue{background:#fae4e4;color:#a72c2c}.status.pending{background:#fff3cd;color:#805b00}@media(max-width:900px){.billing-grid{grid-template-columns:1fr}}
.filter-bar{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}.filter-bar select{padding:9px;border:1px solid var(--line);border-radius:6px;background:#fff}.error-text{color:#a72c2c!important;max-width:420px!important;white-space:normal}.pagination{margin-top:18px}.status.uploaded{background:#d8f5e9;color:#087552}.status.failed{background:#fae4e4;color:#a72c2c}.status.uploading,.status.pending_upload{background:#fff3cd;color:#805b00}
.recording-camera-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.recording-camera-head small,.player-head small{display:block;color:var(--muted);margin-top:4px}.recording-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.recording-item{border:1px solid var(--line);border-radius:8px;padding:12px}.recording-item h3{font-size:15px;margin:12px 0 6px}.recording-item p{color:var(--muted)}.recording-preview{aspect-ratio:16/9;background:#07111e;border-radius:6px;display:grid;place-items:center;color:#9db0c5;overflow:hidden}.recording-preview video{width:100%;height:100%;object-fit:cover}.recording-player{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px}.recording-player>video{display:block;width:100%;max-height:72vh;background:#000;border-radius:6px}.player-actions{margin-top:14px}.empty-player{text-align:center;padding:60px 20px;background:var(--bg);border-radius:6px}@media(max-width:1000px){.recording-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.recording-grid{grid-template-columns:1fr}}
.segmented{display:inline-flex;border:1px solid var(--line);border-radius:7px;background:#fff;overflow:hidden}.segmented a{padding:9px 13px;color:var(--text);border-right:1px solid var(--line)}.segmented a:last-child{border:0}.segmented a.active{background:var(--navy2);color:#fff}.monitor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.monitor-tile{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.monitor-tile header,.monitor-tile footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px}.monitor-tile header small{display:block;color:var(--muted);margin-top:3px}.monitor-tile footer{justify-content:flex-end;border-top:1px solid var(--line)}.monitor-tile footer a{font-weight:700}.tile-actions{display:flex;align-items:center;gap:8px}.tile-actions form{margin:0}.favorite-button{width:34px;height:34px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:22px;color:#789;cursor:pointer}.favorite-button.selected{color:#e0a400;background:#fff8d9}.monitor-video{position:relative;aspect-ratio:16/9;background:#02070d}.monitor-video video{width:100%;height:100%;object-fit:contain;display:block}.stream-loading{position:absolute;inset:0;display:grid;place-items:center;color:#c9d4df;pointer-events:none}.offline-state{height:100%;display:grid;place-content:center;text-align:center;color:#9db0c5;gap:7px}.offline-state span{font-size:13px}.empty-monitor{grid-column:1/-1;text-align:center;padding:50px}.empty-monitor p{color:var(--muted)}@media(max-width:900px){.monitor-grid{grid-template-columns:1fr}}@media(max-width:600px){.topbar{display:block}.segmented{margin-top:12px;width:100%}.segmented a{flex:1;text-align:center}}
/* PHASE-4-1-1-CAMERAS */
.camera-index-card{padding:20px;overflow:hidden}.camera-table-scroll{width:100%;overflow-x:auto}.camera-index-table{width:100%;border-collapse:collapse;table-layout:auto}.camera-index-table th,.camera-index-table td{padding:16px 10px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}.camera-index-table th{padding-top:8px;color:var(--muted);font-size:12px;text-transform:uppercase;white-space:nowrap}.camera-index-table td:first-child{min-width:300px}.camera-index-table td small{display:block;max-width:430px;margin-top:6px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.camera-name{font-weight:700}.camera-row-action{text-align:right!important;white-space:nowrap}.camera-empty{text-align:center!important;color:var(--muted);padding:38px!important}.camera-pagination{display:flex;justify-content:center;margin:20px 0 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.camera-index-card{padding:12px}.camera-index-table,.camera-index-table tbody,.camera-index-table tr,.camera-index-table td{display:block}.camera-index-table thead{display:none}.camera-index-table tr{padding:12px 4px;border-bottom:1px solid var(--line)}.camera-index-table td,.camera-index-table td:first-child{min-width:0;padding:7px 8px;border:0}.camera-index-table td:not(:first-child):before{content:attr(data-label);display:inline-block;width:82px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.camera-index-table td small{max-width:100%}.camera-row-action{text-align:left!important}.camera-row-action .button{width:100%;text-align:center;margin-top:5px}}
/* PHASE-4-2-BACKUPS */
.categorized-menu{display:block}.menu-group{margin:0 0 18px}.menu-group h3{margin:0 12px 7px;color:#7590aa;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.menu-group a{display:block}.backup-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}.backup-summary article{padding:17px 18px;background:#fff;border:1px solid var(--line);border-radius:8px}.backup-summary span{display:block;margin-bottom:7px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.backup-summary strong{font-size:21px}.backup-card{padding:0;overflow:hidden}.backup-card-heading{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}.backup-card-heading h2{margin:0 0 5px;font-size:17px}.backup-card-heading p{margin:0;color:var(--muted);font-size:13px}.backup-table-scroll{overflow-x:auto}.backup-table{width:100%;border-collapse:collapse}.backup-table th,.backup-table td{padding:14px 20px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.backup-table th{color:var(--muted);font-size:11px;text-transform:uppercase}.backup-actions{display:flex;align-items:center;gap:8px}.backup-actions form{margin:0}.backup-empty{text-align:center!important;color:var(--muted);padding:40px!important}@media(max-width:760px){.backup-summary{grid-template-columns:1fr}.backup-card-heading{align-items:flex-start}.backup-table th,.backup-table td{padding:12px}.backup-actions{min-width:175px}}
/* HOTFIX-SIDEBAR-SCROLL */
@media (min-width:761px){
    .app-shell{min-height:100vh;align-items:start}
    .sidebar{position:sticky;top:0;height:100vh;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#3b5874 var(--navy)}
    .sidebar::-webkit-scrollbar{width:7px}
    .sidebar::-webkit-scrollbar-track{background:var(--navy)}
    .sidebar::-webkit-scrollbar-thumb{background:#3b5874;border-radius:7px}
    .sidebar .categorized-menu{flex:0 0 auto;padding-bottom:4px}
    .sidebar-user{flex:0 0 auto;margin-top:12px;padding-bottom:8px}
}
@media (max-width:760px){
    .sidebar{height:auto;max-height:none;overflow-y:visible}
}
/* PHASE-5-REPORT-AI */
.receivable-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.receivable-summary article{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px}.receivable-summary span{display:block;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.receivable-summary strong{display:block;margin-top:8px;font-size:25px}.receivable-summary .overdue{border-top:3px solid var(--red)}.amount-overdue{color:#b32323;font-weight:800}.status.overdue{background:#fae4e4;color:#a72c2c}.status.pending{background:#fff3cd;color:#805b00}.person-event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.person-event-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:8px}.person-event-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#07111e}.person-event-card>div{padding:14px}.person-event-card h3{margin:0 0 6px;font-size:16px}.person-event-card p,.person-event-card small{display:block;margin:0 0 8px;color:var(--muted)}.person-event-card .button{margin-top:7px}.ai-note{margin:14px 0 0;color:var(--muted);font-size:13px}@media(max-width:1000px){.person-event-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.receivable-summary,.person-event-grid{grid-template-columns:1fr}}
/* PHASE-6-STORAGE */
.storage-customer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.storage-customer{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px}.storage-customer header{display:flex;justify-content:space-between;align-items:start;gap:12px}.storage-customer h2{margin:0 0 4px;font-size:18px}.storage-customer header small,.storage-folders small{color:var(--muted)}.quota-bar{height:9px;margin:17px 0 9px;background:#e7edf2;border-radius:9px;overflow:hidden}.quota-bar i{display:block;height:100%;background:var(--cyan);border-radius:9px}.storage-customer .status.blocked+.quota-bar i{background:var(--red)}.storage-folders{display:grid;gap:8px;margin-top:14px}.storage-folders a{display:grid;grid-template-columns:80px 1fr auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:6px}.storage-folders a span,.storage-folders a small{font-size:12px}.folder-summary{display:grid;grid-template-columns:1fr 2fr 1fr;gap:18px}.folder-summary span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.folder-summary strong{overflow-wrap:anywhere}.whatsapp-button{width:100%;margin:0 0 14px;background:#1fa855;color:#fff}.whatsapp-button:hover{background:#188a46}@media(max-width:900px){.storage-customer-grid{grid-template-columns:1fr}.folder-summary{grid-template-columns:1fr}.storage-folders a{grid-template-columns:70px 1fr}}
/* PHASE-7-ZAPME */
.zapme-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:16px;margin-bottom:16px}.zapme-selector form{max-width:520px}.zapme-selector label{display:grid;gap:7px}.zapme-status-card dl{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin-top:18px}.zapme-status-card dt{color:var(--muted)}.zapme-status-card dd{margin:0;font-weight:600;overflow-wrap:anywhere}.zapme-test-form{margin-top:12px}.camera-share-panel{display:grid;gap:10px;margin:0 0 14px;padding:14px;border:1px solid var(--line);border-radius:7px;background:#f7fafc}.camera-share-panel form{display:grid;gap:10px}.camera-share-panel label{display:grid;gap:6px;font-weight:600}.camera-share-panel input{width:100%}.camera-share-note{margin:0;color:var(--muted);font-size:13px}.camera-share-panel .whatsapp-button{width:100%;margin:0;background:#168c46;color:#fff}.camera-share-panel .whatsapp-button:hover{background:#107239}.whatsapp-outline{width:100%;border-color:#168c46;color:#126f3a;background:#fff}.table-wrap td small.error-text{display:block;margin-top:5px;max-width:360px}@media(max-width:900px){.zapme-layout{grid-template-columns:1fr}}
/* PHASE-8-WELCOME */
.form-note{margin:0;padding:10px 12px;background:#eef7fa;border-left:3px solid var(--cyan);color:var(--muted);border-radius:4px}.form-grid>h2{margin-top:10px;margin-bottom:0}
/* PHASE-9-ADDRESS */
.form-grid>h2.full{padding-top:14px;border-top:1px solid var(--line)}.form-grid>h2.full:first-of-type{padding-top:0;border-top:0}
/* PHASE-10-ALERTS */
.alert-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.alert-summary article{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px}.alert-summary span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;font-weight:700}.alert-summary strong{display:block;font-size:27px;margin-top:7px}.alert-summary .critical{border-top:3px solid #c33131}.diagnostic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.diagnostic-grid article{border:1px solid var(--line);border-radius:7px;padding:14px}.diagnostic-grid header{display:flex;justify-content:space-between;gap:8px}.diagnostic-grid>article>small{color:var(--muted)}.diagnostic-grid dl{display:grid;grid-template-columns:1fr 1.5fr;gap:7px;margin:14px 0 0}.diagnostic-grid dt{color:var(--muted);font-size:12px}.diagnostic-grid dd{margin:0;text-align:right;font-size:12px;font-weight:700}.health-healthy{color:#087552}.health-degraded{color:#916500}.health-critical{color:#ae2727}.health-offline{color:#a72c2c}.health-unknown{color:var(--muted)}.alert-severity{display:inline-block;padding:4px 8px;border-radius:12px;font-size:11px;font-weight:800;text-transform:uppercase}.alert-severity.critical{background:#fae4e4;color:#a72c2c}.alert-severity.warning{background:#fff3cd;color:#805b00}@media(max-width:1050px){.diagnostic-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.alert-summary,.diagnostic-grid{grid-template-columns:1fr}}
/* PHASE-11-TIMELINE */
.timeline-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px}.timeline-main{min-width:0}.timeline-player{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:16px}.timeline-player header{display:flex;justify-content:space-between;margin-bottom:12px}.timeline-player header small{display:block;color:var(--muted)}.timeline-player video{display:block;width:100%;max-height:64vh;background:#000}.timeline-player-actions{display:flex;align-items:center;gap:9px;margin-top:12px}.timeline-list{display:grid;gap:8px}.timeline-entry{display:grid;grid-template-columns:120px minmax(160px,1fr) minmax(150px,1fr);gap:12px;align-items:center;border:1px solid var(--line);border-radius:7px;padding:8px}.timeline-entry.selected{border-color:var(--cyan);box-shadow:inset 3px 0 var(--cyan)}.timeline-entry img,.timeline-thumb-state{width:120px;aspect-ratio:16/9;object-fit:cover;background:#07111e;color:#9db0c5;display:grid;place-items:center;font-size:11px}.timeline-entry small{display:block;color:var(--muted)}.timeline-play{border:0;background:none;color:var(--cyan);font-weight:700;padding:4px 0;cursor:pointer}.timeline-entry details summary{cursor:pointer;font-weight:700}.clip-form,.share-form{display:grid;grid-template-columns:1fr 70px 100px auto;gap:5px;margin-top:7px}.share-form{grid-template-columns:70px 1fr auto}.gap-item,.event-marker{display:flex;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:1px solid var(--line)}.gap-item span,.event-marker span{color:var(--muted);font-size:12px}.clip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.clip-grid article{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px}.clip-grid header{display:flex;justify-content:space-between}.clip-grid header small{display:block;color:var(--muted)}.clip-grid video{width:100%;background:#000;margin:12px 0}@media(max-width:950px){.timeline-layout{grid-template-columns:1fr}.timeline-entry{grid-template-columns:100px 1fr}.timeline-entry details{grid-column:1/-1}.clip-grid{grid-template-columns:1fr}}@media(max-width:600px){.timeline-entry{grid-template-columns:1fr}.timeline-entry img,.timeline-thumb-state{width:100%}.clip-form,.share-form{grid-template-columns:1fr}}
/* PHASE-12-SECURITY */
.security-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.secret-code{display:block;padding:14px;background:#07182b;color:#fff;border-radius:6px;overflow-wrap:anywhere;margin:12px 0}.recovery-codes{margin-top:16px;padding:14px;border:1px solid #d9b94a;background:#fff9df;border-radius:6px}.recovery-codes code{display:inline-block;margin:4px;padding:6px;background:#fff}.session-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.session-row small,.permission-grid header small{display:block;color:var(--muted);margin-top:4px}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.permission-grid article{border:1px solid var(--line);border-radius:7px;padding:14px}.camera-checks{display:grid;gap:6px;margin:12px 0;max-height:220px;overflow:auto}@media(max-width:850px){.security-grid,.permission-grid{grid-template-columns:1fr}}
/* PHASE-13-VIDEO-WALL */
.wall-toolbar{display:flex;flex-wrap:wrap;gap:8px}.video-wall-settings{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:16px}.video-wall-settings[hidden]{display:none}.wall-setting-row{display:flex;align-items:end;flex-wrap:wrap;gap:18px;margin-bottom:14px}.wall-setting-row fieldset{border:0;padding:0;margin:0}.wall-setting-row legend{font-size:12px;font-weight:700;color:var(--muted);margin-bottom:5px}.wall-size-picker label{cursor:pointer}.wall-size-picker input{position:absolute;opacity:0}.wall-size-picker span{display:block;padding:8px 15px;border-right:1px solid var(--line)}.wall-size-picker label:last-child span{border:0}.wall-size-picker input:checked+span{background:var(--navy2);color:#fff}.wall-camera-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.wall-camera-option{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:6px;padding:10px;cursor:pointer;min-width:0}.wall-camera-option:has(input:checked){border-color:var(--cyan);box-shadow:inset 3px 0 var(--cyan)}.wall-camera-option span{min-width:0}.wall-camera-option strong,.wall-camera-option small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wall-camera-option small{color:var(--muted);margin-top:3px}.wall-form-actions{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-top:14px}.wall-form-actions span{color:var(--muted)}.video-wall{display:grid;gap:8px;background:#07111e;padding:8px;min-height:60vh}.video-wall.grid-1{grid-template-columns:1fr}.video-wall.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.video-wall.grid-9{grid-template-columns:repeat(3,minmax(0,1fr))}.video-wall.grid-16{grid-template-columns:repeat(4,minmax(0,1fr))}.video-wall:fullscreen{width:100vw;height:100vh;padding:8px;overflow:auto}.wall-tile{position:relative;display:flex;flex-direction:column;background:#02070d;border:1px solid #26394d;min-width:0;min-height:0}.wall-tile header{height:42px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 9px;background:#0d243c;color:#fff}.wall-tile header div{min-width:0}.wall-tile header strong,.wall-tile header small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wall-tile header strong{font-size:12px}.wall-tile header small{font-size:10px;color:#a9bfd3}.wall-video{position:relative;flex:1;min-height:0;aspect-ratio:16/9}.wall-video video{display:block;width:100%;height:100%;object-fit:contain;background:#000}.wall-stream-state,.wall-offline{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:6px;color:#aebdcb;background:#07111e}.wall-stream-state[hidden]{display:none}.wall-offline small{color:#8297aa}.wall-open-camera{position:absolute;right:7px;bottom:7px;background:rgba(7,29,53,.82);color:#fff;border-radius:5px;padding:5px 8px;font-size:11px;opacity:0}.wall-tile:hover .wall-open-camera,.wall-open-camera:focus{opacity:1}.wall-tile.empty{aspect-ratio:16/9}.wall-empty-slot{width:100%;height:100%;border:1px dashed #587087;background:#0b1c2e;color:#afc0cf;cursor:pointer}.platform-dialog{width:min(440px,calc(100vw - 30px));border:0;border-radius:8px;padding:22px;color:var(--text)}.platform-dialog::backdrop{background:rgba(0,12,25,.65)}.platform-dialog h2{margin-top:0}.platform-dialog .check{display:block;margin:14px 0}.dialog-close{float:right;border:0;background:transparent;font-size:25px;cursor:pointer}.notification-result{min-height:20px;color:var(--muted)}
.video-wall:fullscreen{overflow:hidden}.video-wall:fullscreen.grid-1{grid-template-rows:1fr}.video-wall:fullscreen.grid-4{grid-template-rows:repeat(2,minmax(0,1fr))}.video-wall:fullscreen.grid-9{grid-template-rows:repeat(3,minmax(0,1fr))}.video-wall:fullscreen.grid-16{grid-template-rows:repeat(4,minmax(0,1fr))}.video-wall:fullscreen .wall-video{aspect-ratio:auto}
@media(max-width:1100px){.wall-camera-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.video-wall.grid-16{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.wall-toolbar{width:100%}.wall-toolbar .button{flex:1}.wall-setting-row{display:grid;align-items:start}.wall-camera-picker{grid-template-columns:1fr}.video-wall,.video-wall.grid-4,.video-wall.grid-9,.video-wall.grid-16{grid-template-columns:1fr;padding:5px}.video-wall{min-height:0}.wall-tile.empty{min-height:170px}.wall-open-camera{opacity:1}.topbar{gap:12px}}
/* PHASE-14-15-INTEGRATIONS-OPS */
.integration-layout,.ops-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.integration-layout fieldset{border:1px solid var(--line);border-radius:6px;padding:10px}.integration-layout legend{font-weight:700}.secret-reveal{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;background:#e9fff6;border:1px solid #91d9ba;border-radius:8px;padding:14px;margin-bottom:16px}.secret-reveal code{display:block;overflow:auto;padding:9px;background:#fff}.secret-reveal small{grid-column:2/-1}.api-reference code,.ops-layout aside code{display:block;background:#f2f5f8;border:1px solid var(--line);padding:8px;margin:7px 0;overflow:auto}.api-endpoints{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ops-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.ops-summary article{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px}.ops-summary article.critical{border-top:4px solid #c33131}.ops-summary span,.ops-summary small{display:block;color:var(--muted)}.ops-summary span{font-size:11px;font-weight:800;text-transform:uppercase}.ops-summary strong{display:block;font-size:26px;margin:6px 0}.ops-layout{grid-template-columns:minmax(0,1fr) 300px}.ops-chart{height:160px;display:flex;align-items:end;gap:2px;background:#f4f7fa;border:1px solid var(--line);padding:8px;margin-bottom:14px;overflow:hidden}.ops-chart span{height:var(--value);min-width:3px;flex:1;background:#17a9cc;max-width:12px}.ops-chart span:hover{background:#087c9b}@media(max-width:950px){.integration-layout,.ops-layout{grid-template-columns:1fr}.ops-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.ops-summary,.api-endpoints{grid-template-columns:1fr}.secret-reveal{grid-template-columns:1fr}.secret-reveal small{grid-column:auto}.row-actions{flex-wrap:wrap}}
/* PHASE-17-18-PROFESSIONAL */
.system-notices{display:grid;gap:7px;margin-bottom:14px}.system-notices article{display:flex;align-items:center;gap:10px;border-left:4px solid #2384b6;background:#e9f6ff;padding:10px 13px}.system-notices article.warning{border-color:#b17a00;background:#fff6d9}.system-notices article.maintenance{border-color:#b03939;background:#ffeded}.system-notices article span{flex:1}.system-notices article small{color:var(--muted)}.professional-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.brand-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.brand-list article{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px}.brand-list img,.brand-list>article>span{width:48px;height:48px;object-fit:contain;border-radius:6px;background:#0a2038;color:#fff;display:grid;place-items:center}.brand-list div{flex:1;min-width:0}.brand-list strong,.brand-list small{display:block;overflow:hidden;text-overflow:ellipsis}.brand-list small{color:var(--muted)}.brand-preview{border-radius:8px;overflow:hidden;background:#f2f5f8;border:1px solid var(--line);margin-bottom:16px}.brand-preview header{display:flex;align-items:center;gap:10px;background:var(--brand-primary);color:#fff;padding:16px}.brand-preview header img,.brand-preview header span{width:48px;height:48px;object-fit:contain;display:grid;place-items:center;background:var(--brand-accent);border-radius:6px}.brand-preview>div{padding:30px}.brand-preview button{border:0;background:var(--brand-accent);padding:10px 14px;border-radius:6px}.ticket-list{display:grid}.ticket-list>a{display:grid;grid-template-columns:5px minmax(0,1fr) auto;align-items:center;gap:11px;border-bottom:1px solid var(--line);padding:12px 2px;color:var(--text)}.ticket-list strong,.ticket-list small{display:block}.ticket-list small{color:var(--muted)}.ticket-priority{height:38px;border-radius:4px;background:#7f93a5}.ticket-priority.high{background:#d28700}.ticket-priority.urgent{background:#c33131}.ticket-detail{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:16px}.ticket-meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.ticket-thread{display:grid;gap:10px;margin:14px 0}.ticket-thread article{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px}.ticket-thread article.internal{background:#fff8d8;border-color:#e1c95c}.ticket-thread header{display:flex;justify-content:space-between}.ticket-thread header span{color:var(--muted);font-size:12px}.ticket-thread p{white-space:pre-wrap}.announcement-list{display:grid;gap:10px}.announcement-list article{border:1px solid var(--line);border-left:4px solid #2384b6;border-radius:7px;padding:13px}.announcement-list article.warning{border-left-color:#b17a00}.announcement-list article.maintenance{border-left-color:#b03939}.announcement-list header{display:flex;justify-content:space-between}.announcement-list header small{display:block;color:var(--muted)}.node-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.node-card{background:#fff;border:1px solid var(--line);border-top:4px solid #9babb9;border-radius:8px;padding:14px}.node-card.active{border-top-color:#15986b}.node-card.draining{border-top-color:#d28700}.node-card header{display:flex;justify-content:space-between}.node-card header small{display:block;color:var(--muted)}.node-gauges{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.node-gauges div{background:#f2f5f8;padding:9px;border-radius:6px}.node-gauges span,.node-gauges strong{display:block}.node-gauges span{font-size:10px;color:var(--muted);text-transform:uppercase}.node-gauges strong{font-size:13px;margin-top:3px}.node-card details{margin-top:10px}.node-card summary{cursor:pointer;font-weight:700}.camera-distribution{display:grid;max-height:620px;overflow:auto}.camera-distribution form{display:grid;grid-template-columns:minmax(130px,1fr) minmax(150px,1fr) auto;gap:7px;align-items:center;border-bottom:1px solid var(--line);padding:8px 0}.camera-distribution strong,.camera-distribution small{display:block}.camera-distribution small{color:var(--muted)}.rollback-warning{border-left:4px solid #d28700}.secret-reveal{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;background:#e9fff6;border:1px solid #91d9ba;border-radius:8px;padding:14px;margin-bottom:16px}.secret-reveal code{overflow:auto}.secret-reveal small{grid-column:2/-1}@media(max-width:1000px){.brand-list{grid-template-columns:repeat(2,1fr)}.node-grid{grid-template-columns:1fr}}@media(max-width:760px){.professional-two,.ticket-detail,.brand-list{grid-template-columns:1fr}.node-gauges{grid-template-columns:repeat(2,1fr)}.camera-distribution form{grid-template-columns:1fr}.system-notices article{align-items:flex-start;flex-direction:column}.secret-reveal{grid-template-columns:1fr}.secret-reveal small{grid-column:auto}}
/* HOTFIX-MONITOR-NO-LOADING-TEXT */
.monitor-video .stream-loading{display:none!important}

/* PHASE19_1_RESPONSIVE_NAVIGATION */
.mobile-nav-toggle,
.sidebar-overlay {
    display: none;
}

.mobile-nav-close {
    display: none;
}

.sidebar {
    min-width: 0;
    overflow: hidden;
}

.sidebar .categorized-menu {
    display: block !important;
    flex: 1 1 auto;
    min-height: 0;
    margin: 22px -6px 12px;
    padding: 0 6px 12px;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: thin;
}

.sidebar .menu-group {
    display: block;
    width: 100%;
    min-width: 0;
}

.sidebar .menu-group a,
.sidebar .categorized-menu a {
    display: block;
    width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
}

@media (min-width: 901px) {
    .app-shell {
        grid-template-columns: 260px minmax(0, 1fr);
    }

    .sidebar-user {
        flex: 0 0 auto;
    }
}

@media (max-width: 900px) {
    body.menu-open {
        overflow: hidden;
    }

    .app-shell {
        display: block;
        min-width: 0;
    }

    .sidebar {
        position: fixed;
        inset: 0 auto 0 0;
        z-index: 1200;
        display: flex;
        width: min(86vw, 320px);
        height: 100dvh;
        padding: 72px 16px 18px;
        transform: translateX(-105%);
        transition: transform 180ms ease;
        box-shadow: 16px 0 36px rgba(0, 18, 38, .28);
        overflow: hidden;
    }

    body.menu-open .sidebar {
        transform: translateX(0);
    }

    .sidebar .brand {
        flex: 0 0 auto;
    }

    .sidebar .categorized-menu,
    .sidebar nav {
        display: block !important;
        flex: 1 1 auto;
        min-height: 0;
        margin: 20px -6px 12px;
        padding: 0 6px 16px;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }

    .sidebar .menu-group {
        display: block !important;
        width: 100% !important;
        margin: 0 0 22px;
    }

    .sidebar .menu-group a,
    .sidebar nav a {
        display: block;
        width: 100%;
        padding: 11px 12px;
        white-space: normal !important;
    }

    .sidebar-user {
        display: block;
        flex: 0 0 auto;
        margin-top: 0;
    }

    .mobile-nav-toggle {
        position: fixed;
        top: 12px;
        left: 12px;
        z-index: 1300;
        display: grid;
        width: 46px;
        height: 46px;
        padding: 0;
        place-items: center;
        color: #fff;
        font: inherit;
        font-size: 27px;
        line-height: 1;
        background: #09233e;
        border: 1px solid rgba(255,255,255,.2);
        border-radius: 7px;
        box-shadow: 0 6px 18px rgba(0, 18, 38, .22);
        cursor: pointer;
    }

    body.menu-open .mobile-nav-open {
        display: none;
    }

    body.menu-open .mobile-nav-close {
        display: inline;
        font-size: 34px;
    }

    .sidebar-overlay {
        position: fixed;
        inset: 0;
        z-index: 1100;
        display: block;
        width: 100%;
        height: 100%;
        padding: 0;
        background: rgba(1, 14, 28, .58);
        border: 0;
        opacity: 0;
        visibility: hidden;
        transition: opacity 180ms ease, visibility 180ms ease;
    }

    body.menu-open .sidebar-overlay {
        opacity: 1;
        visibility: visible;
    }

    .main-content {
        min-width: 0;
        padding-top: 76px;
    }
}

/* PHASE19_1_RECORDING_PURGE */
.recording-purge-zone {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 440px);
    gap: 24px;
    align-items: end;
    margin-top: 24px;
    padding: 22px;
    background: #fff7f7;
    border: 1px solid #efb5b5;
    border-left: 4px solid #c93c3c;
    border-radius: 7px;
}

.recording-purge-zone h2 {
    margin: 0 0 7px;
    color: #8e2020;
}

.recording-purge-zone p {
    margin: 0;
}

.recording-purge-zone label {
    display: block;
    margin-bottom: 7px;
}

.recording-purge-actions {
    display: grid;
    grid-template-columns: minmax(120px, 1fr) auto;
    gap: 10px;
}

.recording-purge-actions input {
    min-width: 0;
}

.button.danger,
button.danger {
    color: #fff;
    background: #b82d2d;
    border-color: #b82d2d;
}

.button.danger:hover,
button.danger:hover {
    background: #942323;
    border-color: #942323;
}

.field-error {
    display: block;
    margin-top: 6px;
    color: #a32020;
}

/* Laravel pagination is rendered with Tailwind utility names. This project uses
   its own stylesheet, so the essential dimensions must be defined explicitly. */
.main-content nav[role="navigation"] svg {
    display: block !important;
    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;
}

.main-content nav[role="navigation"] a,
.main-content nav[role="navigation"] span[aria-current="page"] > span,
.main-content nav[role="navigation"] span[aria-disabled="true"] > span {
    display: inline-flex;
    min-width: 38px;
    min-height: 38px;
    padding: 8px 11px;
    align-items: center;
    justify-content: center;
    line-height: 1;
    text-decoration: none;
    background: #fff;
    border: 1px solid #d5dee8;
}

@media (max-width: 760px) {
    .recording-purge-zone {
        grid-template-columns: 1fr;
        padding: 18px;
    }

    .recording-purge-actions {
        grid-template-columns: 1fr;
    }

    .recording-purge-actions .button {
        width: 100%;
    }
}

/* PHASE19_3_RESELLER_RECORDING_PLANS */
.plan-grid,.customer-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.plan-card,.customer-plan-card{margin:0}.plan-card h2,.customer-plan-card h2{margin:0}.plan-price{margin:18px 0 8px;color:var(--navy);font-size:30px;font-weight:800}.plan-price small,.customer-current-plan strong small{font-size:13px;color:var(--muted);font-weight:500}.customer-plan-card form+form,.plan-card form+form{margin-top:12px}.customer-current-plan{display:flex;justify-content:space-between;align-items:center;gap:20px}.customer-current-plan h2{margin:5px 0}.customer-current-plan>strong{font-size:26px;color:var(--cyan)}.status.cancelled{background:#e8edf2;color:#5d6b78}@media(max-width:900px){.plan-grid,.customer-plan-grid{grid-template-columns:1fr}.customer-current-plan{align-items:flex-start;flex-direction:column}}

/* PHASE19_4_RESELLER_MERCADOPAGO */
.integration-status{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;margin:18px 0}.integration-status dt{color:var(--muted)}.integration-status dd{margin:0;font-weight:600;overflow-wrap:anywhere}.section-block>input[readonly]{width:100%;font-family:monospace;font-size:12px}

/* PHASE19_1_PAGINATION_FIX */
.main-content nav[role="navigation"] svg {
    display: block !important;
    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;
}

.main-content nav[role="navigation"] a,
.main-content nav[role="navigation"] span[aria-current="page"] > span,
.main-content nav[role="navigation"] span[aria-disabled="true"] > span {
    display: inline-flex;
    min-width: 38px;
    min-height: 38px;
    padding: 8px 11px;
    align-items: center;
    justify-content: center;
    line-height: 1;
    text-decoration: none;
    background: #fff;
    border: 1px solid #d5dee8;
}

.main-content nav[role="navigation"] > div {
    max-width: 100%;
}

@media (max-width: 760px) {
    .main-content nav[role="navigation"] {
        overflow-x: auto;
    }

    .main-content nav[role="navigation"] svg {
        width: 16px !important;
        min-width: 16px !important;
        max-width: 16px !important;
        height: 16px !important;
        min-height: 16px !important;
        max-height: 16px !important;
    }
}

/* ADMIN_ACCOUNT_EDIT_FIX */
.admin-edit-panel{max-width:820px}.admin-edit-panel .section-heading{margin-bottom:20px}.admin-edit-panel label small{display:block;margin-top:5px;color:var(--muted)}

/* PHASE20_AI_EVENTS */
.ai-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ai-camera-card{margin:0}.ai-camera-card h2{margin:0}.ai-camera-card .inline-form{padding-top:12px;border-top:1px solid var(--line)}.event-card-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.event-type{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.event-type.person{color:#087552;background:#d8f5e9}.event-type.vehicle{color:#075c8d;background:#dceffc}.person-event-card.vehicle{border-top:3px solid #1989bd}.person-event-card.person{border-top:3px solid #1ca36c}.event-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.recording-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.recording-summary article{padding:16px;background:#fff;border:1px solid var(--line);border-radius:7px}.recording-summary span{display:block;color:var(--muted);font-size:12px}.recording-summary strong{display:block;margin-top:5px;font-size:22px}@media(max-width:900px){.ai-settings-grid{grid-template-columns:1fr}}@media(max-width:600px){.recording-summary{grid-template-columns:1fr}}

/* PHASE21_AI_SCHEDULE_STORAGE */
.policy-overview{display:grid;grid-template-columns:220px 220px 1fr;gap:18px;align-items:center}.policy-overview small,.policy-overview strong{display:block}.policy-overview strong{font-size:24px;margin-top:4px}.policy-overview p{margin:0;color:var(--muted)}.policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.policy-card{margin:0}.policy-card h2,.policy-card h3{margin:0}.policy-form h3{padding-top:10px;border-top:1px solid var(--line)}.storage-badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}.storage-badge.local{background:#e8eef5;color:#29455f}.storage-badge.ftp{background:#dceffc;color:#075c8d}.storage-badge.hybrid{background:#ece4fb;color:#65419a}.quality-lock{padding:10px;border:1px solid #bde5d4;background:#eefaf5;border-radius:6px}.quality-lock strong,.quality-lock small{display:block}.schedule-panel{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.schedule-title{display:flex;justify-content:space-between;gap:12px;align-items:center}.schedule-list{display:grid;gap:6px;margin:12px 0}.schedule-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;background:var(--surface-soft,#f6f8fa);border-radius:5px}.schedule-list form{margin:0}.schedule-form{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:8px}.schedule-form select,.schedule-form input{min-width:0}.policy-card .event-badges{justify-content:flex-end}@media(max-width:1050px){.policy-grid{grid-template-columns:1fr}}@media(max-width:720px){.policy-overview{grid-template-columns:1fr 1fr}.policy-overview p{grid-column:1/-1}.schedule-form{grid-template-columns:1fr 1fr}.schedule-form select,.schedule-form button{grid-column:1/-1}}@media(max-width:480px){.policy-overview{grid-template-columns:1fr}.policy-overview p{grid-column:auto}.schedule-title{align-items:flex-start;flex-direction:column}}
.buffer-warning{display:flex;justify-content:space-between;gap:12px;margin:12px 0;padding:10px 12px;border:1px solid #efd08a;background:#fff8df;color:#725000;border-radius:6px;font-size:12px}.buffer-warning strong{white-space:nowrap}@media(max-width:600px){.buffer-warning{display:block}.buffer-warning span{display:block;margin-top:4px}}

/* PHASE21_1_CAMERA_STORAGE_SYNC */
.ftp-fields{padding-top:14px;border-top:1px solid var(--line)}.ftp-fields h2{margin:0 0 14px}.ftp-fields.ftp-inactive{opacity:.62}.ftp-fields.ftp-inactive:before{content:"FTP desativado para o destino atual";display:block;margin-bottom:10px;padding:8px 10px;border-radius:5px;background:#eef2f6;color:var(--muted);font-size:12px;font-weight:700}.quality-lock.full{grid-column:1/-1}

/* PHASE22_MASTER_ZAPME */
.optional-integration{padding:16px;border:1px solid var(--line);border-radius:7px;background:#f8fafc}.optional-integration>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.optional-integration h2{margin:0}.optional-integration>div:first-child span{padding:4px 8px;border-radius:999px;background:#e7edf2;color:var(--muted);font-size:11px;font-weight:800}.master-zapme-test{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.master-zapme-status{display:grid;grid-template-columns:130px 1fr;gap:10px}.master-zapme-status dt{color:var(--muted)}.master-zapme-status dd{margin:0;font-weight:600;overflow-wrap:anywhere}.master-zapme-import{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.master-zapme-import form{display:flex;gap:8px;align-items:center}.master-zapme-import select{min-width:0;flex:1}@media(max-width:600px){.master-zapme-import form{align-items:stretch;flex-direction:column}}

/* PHASE22_2_ZAPME_DELETE */
.credential-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.credential-actions form{margin:0}@media(max-width:560px){.credential-actions{align-items:stretch;flex-direction:column}.credential-actions form,.credential-actions button{width:100%}}

/* PHASE23_CUSTOMER_PLAN_WELCOME */
.plan-warning{grid-column:1/-1;padding:10px 12px;border:1px solid #e8c66b;border-radius:6px;background:#fff8df;color:#725000;font-size:13px;font-weight:700}.welcome-choice{padding:12px;border:1px solid var(--line);border-radius:6px;background:#f8fafc}.welcome-choice label{margin-bottom:5px}.welcome-choice small{display:block;color:var(--muted)}

/* PHASE25_ROLE_BASED_MENU */
.role-menu{display:flex!important;flex-direction:column;gap:10px}.menu-tools{position:sticky;top:0;z-index:3;margin:0 0 4px;padding:8px 0 10px;background:var(--navy)}.menu-search-label{display:block;margin:0 2px 6px;color:#9eb2c7;font-size:10px;font-weight:800;text-transform:uppercase}.menu-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.menu-search{min-width:0;width:100%;height:36px;padding:0 10px;color:#eef6ff;background:#102c49;border:1px solid #365573;border-radius:6px;outline:none}.menu-search::placeholder{color:#89a0b7}.menu-search:focus{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(24,184,218,.18)}.menu-expand-toggle{height:36px;padding:0 9px;color:#dce9f5;background:#173a5d;border:1px solid #365573;border-radius:6px;font-size:11px;font-weight:700;cursor:pointer}.menu-groups{display:grid;gap:7px}.role-menu .menu-group{margin:0;border:1px solid transparent;border-radius:7px}.role-menu .menu-group[open]{padding-bottom:5px;background:rgba(255,255,255,.025);border-color:rgba(143,174,204,.14)}.role-menu .menu-group summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;color:#8fa9c2;font-size:10px;font-weight:800;text-transform:uppercase;cursor:pointer;list-style:none;user-select:none}.role-menu .menu-group summary::-webkit-details-marker{display:none}.role-menu .menu-group summary:after{content:"";width:7px;height:7px;margin-left:auto;border-right:2px solid #7190ae;border-bottom:2px solid #7190ae;transform:rotate(45deg) translateY(-2px);transition:transform .15s ease}.role-menu .menu-group[open] summary:after{transform:rotate(225deg) translate(-1px,-1px)}.role-menu .menu-group summary small{display:inline-flex;min-width:20px;height:20px;align-items:center;justify-content:center;color:#b7c9d9;background:#173a5d;border-radius:999px;font-size:10px}.role-menu .menu-group-links{display:grid;gap:2px;padding:0 5px}.role-menu .menu-group a{padding:9px 10px;border-radius:5px;color:#c8d6e4;font-size:14px;line-height:1.25}.role-menu .menu-group a:hover{background:#102f4e;color:#fff}.role-menu .menu-group a.active{background:#153b62;color:#fff;box-shadow:inset 3px 0 0 var(--cyan)}.menu-no-results{margin:8px 2px;color:#9eb2c7;font-size:12px}.role-menu [hidden]{display:none!important}@media(max-width:900px){.menu-tools{top:0}.role-menu .menu-group summary{padding:11px 10px}.role-menu .menu-group a{padding:11px 10px;font-size:15px}}


/* PHASE25_1_MENU_VISUAL_HOTFIX
 * Os estilos essenciais estao incorporados no componente Blade para funcionar
 * mesmo em instalacoes cujo layout nao carrega public/css/platform.css.
 */

/* PHASE32_BACKUP_RESTORE_AI */
.backup-management-grid,.backup-danger-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.backup-management-grid .section-block,.backup-danger-grid .section-block{margin:0}.backup-management-grid p,.backup-danger-grid p{color:var(--muted);line-height:1.5}.restore-panel,.ai-purge-panel{border-top:4px solid #bf3535}.backup-card{margin-bottom:16px}.backup-card+.backup-card{margin-top:0}.status.pending{background:#fff3cd;color:#805b00}.status.running{background:#dceeff;color:#155a8a}.status.completed{background:#d8f5e9;color:#087552}.status.failed{background:#fae4e4;color:#a72c2c}@media(max-width:860px){.backup-management-grid,.backup-danger-grid{grid-template-columns:1fr}}
