:root{--navy:#031534;--navy2:#071f49;--blue:#1474f5;--blue2:#0e5ed0;--ink:#0b1c3d;--muted:#60708f;--line:#e4eaf4;--bg:#f5f8fd;--white:#fff;--shadow:0 15px 40px rgba(15,41,82,.12)}*{box-sizing:border-box}html,body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink)}body{min-height:100vh}.login-page{background:radial-gradient(circle at 16% 12%,#edf7ff 0,transparent 32%),linear-gradient(135deg,#f8fbff,#eef6ff 65%,#d9efff);display:flex;align-items:center;justify-content:center;padding:42px;position:relative;overflow:hidden}.login-page:before,.login-page:after{content:"";position:fixed;border:1px solid rgba(20,116,245,.14);width:380px;height:380px;transform:rotate(45deg);right:-170px;top:-160px}.login-page:after{right:-240px;top:120px;width:520px;height:520px}.login-shell{width:min(1180px,100%);display:grid;grid-template-columns:1fr .9fr;gap:72px;align-items:center;z-index:1}.brand-panel{padding:34px 36px}.brand-mark{width:140px;height:116px;margin:0 auto 0;position:relative;display:grid;place-items:center}.brand-mark:before{content:"";position:absolute;inset:6px 12px;background:linear-gradient(145deg,#50d8f0,#1674ed 52%,#07285d);clip-path:polygon(8% 8%,31% 8%,50% 50%,69% 8%,92% 8%,92% 92%,69% 92%,69% 45%,50% 84%,31% 45%,31% 92%,8% 92%);filter:drop-shadow(0 12px 14px rgba(5,75,160,.25))}.brand-mark span{opacity:0}.brand-name{text-align:center;font-size:45px;letter-spacing:2px;font-weight:850}.brand-name span{color:var(--blue)}.brand-rule{display:flex;align-items:center;justify-content:center;gap:11px;margin:25px auto;max-width:310px}.brand-rule i{height:1px;background:#91abd0;flex:1}.brand-rule b{width:8px;height:8px;border-radius:50%;background:var(--blue)}.brand-tagline{text-align:center;font-size:19px;line-height:1.5;max-width:430px;margin:0 auto 28px}.benefits{max-width:430px;margin:auto;display:grid;gap:14px}.benefit{display:flex;gap:15px;align-items:center}.benefit-icon{width:48px;height:48px;border-radius:12px;background:rgba(255,255,255,.8);color:var(--blue);display:grid;place-items:center;font-size:24px;box-shadow:0 8px 20px rgba(31,89,162,.08)}.benefit strong,.benefit small{display:block}.benefit small{color:var(--muted);font-size:14px;margin-top:3px}.login-card{background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.9);border-radius:20px;padding:50px 48px;box-shadow:var(--shadow);backdrop-filter:blur(12px)}.login-heading{text-align:center;margin-bottom:34px}.login-heading h1{font-size:31px;margin:0 0 10px}.login-heading p{color:var(--muted);font-size:17px;margin:0}.login-heading span{display:block;width:68px;height:3px;background:var(--blue);margin:26px auto 0;border-radius:3px}.login-card label{display:block;font-weight:700;margin:18px 0 9px}.input-group{height:58px;border:1px solid #cfd9e9;border-radius:9px;display:flex;overflow:hidden;background:#fff}.input-icon{width:60px;background:#f2f6fc;display:grid;place-items:center;color:#3c557b;font-size:22px}.input-group input{border:0;outline:0;flex:1;padding:0 18px;font-size:16px;min-width:0}.eye{border:0;background:#fff;width:55px;color:#61789e;cursor:pointer}.primary-btn{width:100%;height:58px;border:0;border-radius:8px;background:linear-gradient(90deg,var(--blue),#147cf7);color:#fff;font-weight:800;font-size:18px;margin-top:30px;cursor:pointer;box-shadow:0 9px 20px rgba(20,116,245,.24)}.alert-error{background:#fff1f2;border:1px solid #fecdd3;color:#be123c;border-radius:8px;padding:12px 14px;margin-bottom:16px}.login-footer{border-top:1px solid var(--line);margin-top:34px;padding-top:23px;text-align:center}.login-footer strong,.login-footer small{display:block}.login-footer small{color:var(--muted);margin-top:5px}.copyright{position:fixed;bottom:20px;font-size:13px;color:#476080;z-index:2}
.app-page{background:var(--bg);display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:215px;background:linear-gradient(180deg,#031534,#02112b);color:#fff;z-index:20;box-shadow:4px 0 22px rgba(0,18,53,.1)}.side-brand{height:104px;padding:0 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.09)}.mini-logo{width:48px;height:48px;border-radius:14px;background:linear-gradient(145deg,#34d1ef,#1674ed 55%,#092e72);display:grid;place-items:center;font-weight:900;font-size:27px;box-shadow:0 7px 18px rgba(23,116,245,.3)}.side-brand strong{display:block;font-size:20px}.side-brand span{font-size:15px;color:#a8c9ff}.side-section{font-size:11px;letter-spacing:.8px;color:#8193b6;padding:28px 17px 12px}.sidebar nav{padding:0 7px}.sidebar nav a{height:52px;display:flex;align-items:center;gap:14px;padding:0 14px;color:#e9effb;text-decoration:none;border-radius:9px;margin:2px 0;font-weight:600}.sidebar nav a span{width:22px;text-align:center;font-size:18px;color:#c9d7ed}.sidebar nav a:hover,.sidebar nav a.active{background:linear-gradient(90deg,#103d85,#0e2e65)}.sidebar nav a.active span{color:#58a0ff}.side-help{position:absolute;bottom:25px;left:16px;right:16px;background:#0b285d;border:1px solid rgba(255,255,255,.08);padding:16px;border-radius:11px}.side-help small{display:block;color:#b9c9e4;margin:5px 0 0 25px}.main-area{margin-left:215px;min-height:100vh;width:calc(100% - 215px);display:flex;flex-direction:column}.topbar{height:74px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:10}.menu-btn{border:0;background:transparent;color:#496283;font-size:22px;cursor:pointer}.top-user{display:flex;align-items:center;gap:10px}.top-user .avatar{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#74ddf2,#1779f2);font-weight:900;color:#fff}.top-user strong,.top-user small{display:block}.top-user strong{font-size:14px}.top-user small{font-size:11px;color:#72809b;margin-top:2px}.top-user a{color:#526784;text-decoration:none;margin-left:8px}.content{padding:28px 34px;flex:1}.page-title{display:flex;align-items:center;gap:16px;margin-bottom:28px}.title-icon{font-size:29px;color:var(--blue);width:42px;text-align:center}.page-title h1{margin:0;font-size:28px}.page-title p{margin:4px 0 0;color:var(--muted);font-size:14px}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.quick-card{min-height:190px;border-radius:14px;padding:28px;color:#fff;text-decoration:none;display:flex;align-items:center;gap:25px;position:relative;overflow:hidden;box-shadow:0 12px 26px rgba(32,79,151,.13);transition:.18s transform}.quick-card:hover{transform:translateY(-3px)}.quick-card:after{content:"";position:absolute;width:170px;height:170px;border:20px solid rgba(255,255,255,.07);border-radius:35px;right:-45px;bottom:-80px;transform:rotate(18deg)}.q1{background:linear-gradient(120deg,#1677fb,#0d5bdf)}.q2{background:linear-gradient(120deg,#7847f6,#5728cf)}.q3{background:linear-gradient(120deg,#0b8ca9,#0b6f96)}.q4{background:linear-gradient(120deg,#14519f,#073d82)}.quick-icon{width:78px;height:78px;border-radius:50%;background:rgba(255,255,255,.95);display:grid;place-items:center;color:var(--blue);font-size:33px;flex:0 0 auto}.quick-card h2{margin:0 0 9px;font-size:25px}.quick-card p{margin:0 0 18px;max-width:390px;line-height:1.5;color:#eef5ff}.quick-card span{font-weight:800;font-size:14px}.info-panel,.module-panel{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 22px rgba(20,53,100,.05);margin-top:24px;padding:28px}.info-panel{display:flex;align-items:center;justify-content:space-between;gap:30px}.info-panel h2{margin:0 0 8px}.info-panel p{margin:0;color:var(--muted);line-height:1.6;max-width:760px}.status-pill{white-space:nowrap;background:#ecfdf3;color:#17864d;padding:10px 14px;border-radius:20px;font-weight:700;font-size:13px}.module-hero{min-height:200px;border-radius:12px;background:linear-gradient(115deg,#126ff0,#073e9b);color:#fff;display:flex;align-items:center;gap:28px;padding:35px}.module-big-icon{width:92px;height:92px;border-radius:50%;background:#fff;color:var(--blue);display:grid;place-items:center;font-size:38px}.module-hero h2{font-size:30px;margin:0 0 8px}.module-hero p{margin:0;max-width:650px;color:#e4efff;line-height:1.6}.placeholder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}.placeholder{border:1px solid var(--line);border-radius:11px;padding:22px;background:#fbfdff}.placeholder strong,.placeholder span{display:block}.placeholder span{color:var(--muted);font-size:13px;margin-top:7px}.app-footer{padding:20px 34px 25px;color:#7585a0;font-size:12px}
@media(max-width:900px){.login-page{padding:24px}.login-shell{grid-template-columns:1fr;gap:20px}.brand-panel{padding:10px}.benefits,.brand-tagline,.brand-rule{display:none}.brand-mark{width:90px;height:75px}.brand-name{font-size:31px}.login-card{padding:32px 25px}.copyright{display:none}.sidebar{transform:translateX(-100%);transition:.2s}.sidebar-open .sidebar{transform:translateX(0)}.main-area{margin-left:0;width:100%}.quick-grid{grid-template-columns:1fr}.content{padding:22px 18px}.placeholder-grid{grid-template-columns:1fr}.info-panel{align-items:flex-start;flex-direction:column}.module-hero{padding:25px;align-items:flex-start;flex-direction:column}.topbar{padding:0 18px}}
/* DVR */
.flash{margin:0 0 18px;padding:14px 17px;border-radius:10px;font-weight:700;font-size:14px}.flash-success{background:#ecfdf3;border:1px solid #bbf7d0;color:#16824a}.flash-error{background:#fff1f2;border:1px solid #fecdd3;color:#be123c}.dvr-panel{margin-top:0}.dvr-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.dvr-heading h2{margin:0 0 6px;font-size:22px}.dvr-heading p{margin:0;color:var(--muted);font-size:14px}.dvr-badge{background:#eef5ff;color:var(--blue);padding:10px 14px;border-radius:9px;font-weight:800}.form-grid{display:grid;gap:18px}.form-grid-3{grid-template-columns:1.4fr 1fr .75fr}.form-field label{display:block;font-size:13px;font-weight:800;margin:0 0 8px;color:#243859}.form-field>input{width:100%;height:48px;border:1px solid #cfdaea;border-radius:9px;background:#fff;padding:0 14px;outline:0;font-size:14px;color:var(--ink)}.form-field>input:focus{border-color:#6aa7fb;box-shadow:0 0 0 3px rgba(20,116,245,.09)}.channels-title{border-top:1px solid var(--line);margin-top:27px;padding-top:24px}.channels-title h3{margin:0 0 5px;font-size:18px}.channels-title p{margin:0;color:var(--muted);font-size:13px}.channel-fields{margin-top:18px;display:grid;gap:12px}.empty-channels,.no-records{border:1px dashed #cdd9ea;background:#f9fbfe;color:#71809b;border-radius:10px;padding:25px;text-align:center}.channel-row{display:grid;grid-template-columns:50px minmax(180px,1fr) minmax(280px,1fr);gap:16px;align-items:end;border:1px solid var(--line);border-radius:11px;padding:14px;background:#fbfdff}.channel-number{width:42px;height:42px;border-radius:10px;background:#eaf3ff;color:var(--blue);display:grid;place-items:center;font-weight:900;margin-bottom:3px}.upload-wrap{display:flex;align-items:center;gap:13px}.upload-button{display:inline-flex!important;align-items:center;justify-content:center;height:44px;padding:0 15px;margin:0!important;border:1px solid #bcd0ea;border-radius:8px;background:#fff;color:#265487!important;cursor:pointer;white-space:nowrap}.upload-button input{display:none}.channel-preview,.saved-channel img,.saved-channel-noimage{width:3cm;height:3cm;min-width:3cm;border-radius:8px;border:1px solid #d5dfed;background:#f2f6fb;overflow:hidden;display:grid;place-items:center;color:#8292aa;font-size:11px}.channel-preview img,.saved-channel img{width:3cm;height:3cm;object-fit:cover}.form-actions{display:flex;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.save-btn{border:0;border-radius:9px;background:linear-gradient(90deg,var(--blue),#0c62dc);color:#fff;font-weight:800;font-size:15px;padding:14px 24px;cursor:pointer;box-shadow:0 8px 18px rgba(20,116,245,.2)}.dvr-records{display:grid;gap:16px}.dvr-record{border:1px solid var(--line);border-radius:12px;padding:18px;background:#fbfdff}.dvr-record-top{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:15px}.dvr-record-top h3{margin:0 0 5px}.dvr-record-top span{font-size:13px;color:var(--muted)}.camera-count{background:#eaf3ff;color:#145ebc;font-weight:800;font-size:12px;padding:8px 11px;border-radius:18px}.saved-channels{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:13px}.saved-channel{display:flex;gap:11px;align-items:center;border:1px solid #e5ebf4;background:#fff;border-radius:10px;padding:9px}.saved-channel small,.saved-channel strong{display:block}.saved-channel small{color:#7b8aa4;font-size:11px;margin-bottom:5px}.saved-channel strong{font-size:13px;line-height:1.35}.saved-channel-noimage{font-size:22px}
@media(max-width:900px){.form-grid-3{grid-template-columns:1fr}.channel-row{grid-template-columns:42px 1fr}.channel-upload{grid-column:1/-1}.upload-wrap{align-items:flex-start;flex-wrap:wrap}.dvr-heading,.dvr-record-top{align-items:flex-start;flex-direction:column}}
/* DVR v3 */
.form-grid-dvr{grid-template-columns:repeat(4,minmax(0,1fr))}.password-inline{display:flex}.password-inline input{width:100%;height:48px;border:1px solid #cfdaea;border-radius:9px 0 0 9px;padding:0 14px;outline:0}.password-inline button{width:48px;border:1px solid #cfdaea;border-left:0;border-radius:0 9px 9px 0;background:#f7faff;cursor:pointer}.dvr-details{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:13px}.record-right{display:flex;align-items:flex-end;gap:12px;flex-direction:column}.record-actions{display:flex;gap:8px;align-items:center}.record-actions form{margin:0}.edit-btn,.delete-btn,.cancel-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:8px;font-size:12px;font-weight:800;padding:9px 12px;cursor:pointer}.edit-btn{border:1px solid #bfd4f1;background:#f4f8ff;color:#175eb3}.delete-btn{border:1px solid #fecaca;background:#fff5f5;color:#b42318}.cancel-btn{border:1px solid #cfd9e7;background:#fff;color:#54657f;margin-right:10px;font-size:14px}.access-strip{display:flex;gap:25px;flex-wrap:wrap;background:#f4f8fe;border:1px solid #dfe9f6;border-radius:9px;padding:10px 13px;margin:-2px 0 15px;font-size:13px}.reveal-btn{border:0;background:transparent;color:#146bd3;font-weight:700;cursor:pointer;padding:0 3px}.masked-secret{font-family:monospace;letter-spacing:1px}
@media(max-width:1100px){.form-grid-dvr{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.form-grid-dvr{grid-template-columns:1fr}.record-right{align-items:flex-start}.record-actions{flex-wrap:wrap}}
/* DVR v4 - detalhes, compartilhamento e permissões */
.back-link{display:inline-block;color:#2469be;text-decoration:none;font-size:13px;font-weight:800;margin-bottom:8px}.dvr-tabs{display:flex;gap:10px;border-bottom:1px solid var(--line);margin:-4px 0 24px;padding-bottom:12px;flex-wrap:wrap}.dvr-tabs a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;border:1px solid #d6e0ed;background:#f8fbff;color:#49617f;border-radius:9px;padding:11px 15px;font-weight:800;font-size:13px}.dvr-tabs a.active{background:#146ff0;border-color:#146ff0;color:#fff;box-shadow:0 7px 15px rgba(20,111,240,.17)}
.detail-actions{display:flex;justify-content:flex-end;gap:10px;margin-bottom:18px;flex-wrap:wrap}.pdf-btn,.open-btn,.big-action{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:8px;font-weight:800}.pdf-btn{background:#173965;color:#fff;padding:11px 15px;font-size:13px}.open-btn{border:1px solid #a9c9f4;background:#eaf3ff;color:#155cae;padding:9px 12px;font-size:12px}.big-action{padding:11px 15px;font-size:13px}
.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.detail-grid>div{border:1px solid #e0e8f2;background:#fbfdff;border-radius:10px;padding:15px}.detail-grid small,.detail-grid strong{display:block}.detail-grid small{font-size:11px;color:#7a8ba5;margin-bottom:6px;text-transform:uppercase;letter-spacing:.03em}.detail-grid strong{font-size:14px;word-break:break-word}.detail-secret strong{display:flex;align-items:center;gap:5px}.detail-channels{margin-top:16px}.compact-channels{grid-template-columns:repeat(auto-fill,minmax(175px,1fr))}.dvr-open-title{text-decoration:none;color:var(--ink)}.dvr-open-title:hover{color:var(--blue)}.clickable-record{transition:.15s border-color,.15s box-shadow}.clickable-record:hover{border-color:#b9d4f6;box-shadow:0 8px 20px rgba(20,82,160,.08)}.more-cameras{display:flex;align-items:center;justify-content:center;border:1px dashed #bcd1ec;border-radius:10px;text-decoration:none;color:#2469be;font-weight:800;font-size:12px;padding:14px}
.share-intro{margin-bottom:20px}.share-intro h3{margin:0 0 6px}.share-intro p{margin:0;color:var(--muted);font-size:13px}.share-grid{grid-template-columns:1fr 1fr}.form-field select{width:100%;height:48px;border:1px solid #cfdaea;border-radius:9px;background:#fff;padding:0 14px;outline:0;font-size:14px;color:var(--ink)}.camera-permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.camera-check{display:flex;align-items:center;gap:10px;border:1px solid #dfe8f3;background:#fbfdff;border-radius:10px;padding:13px;cursor:pointer}.camera-check input{width:18px;height:18px;accent-color:#146ff0}.camera-check b,.camera-check small{display:block}.camera-check b{font-size:12px;margin-bottom:3px}.camera-check small{font-size:12px;color:#72809a}.replay-box{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;border:1px solid #dfe8f3;background:#f7faff;border-radius:11px;padding:17px}.replay-box strong,.replay-box small{display:block}.replay-box small{color:#77869f;margin-top:5px;font-size:12px}.radio-group{display:flex;gap:12px}.radio-group label{display:flex;align-items:center;gap:6px;border:1px solid #d5e0ee;background:#fff;border-radius:8px;padding:10px 13px;font-weight:800;font-size:13px}.radio-group input{accent-color:#146ff0}
.permissions-list{display:grid;gap:14px}.permission-card{border:1px solid #dfe7f1;background:#fbfdff;border-radius:12px;padding:17px}.permission-head{display:flex;align-items:center;gap:12px}.permission-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#74ddf2,#1779f2);color:#fff;font-weight:900}.permission-head h3{margin:0 0 3px;font-size:16px}.permission-head p{margin:0;color:var(--muted);font-size:12px}.replay-status{margin-left:auto;border-radius:18px;padding:7px 10px;font-size:11px;font-weight:900}.replay-status.yes{background:#eafaf0;color:#16824a}.replay-status.no{background:#f3f5f8;color:#66748a}.permission-cameras{margin-top:14px;border-top:1px solid #e5ebf3;padding-top:13px}.permission-cameras>strong{display:block;font-size:12px;margin-bottom:9px}.permission-cameras>div{display:flex;flex-wrap:wrap;gap:7px}.permission-cameras span{background:#edf5ff;color:#315e93;border:1px solid #d5e7fb;border-radius:16px;padding:6px 9px;font-size:11px;font-weight:700}.permission-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:15px}.permission-footer small{color:#7d8ba1}.permission-footer>div{display:flex;gap:8px;align-items:center}.inline-form{display:inline;margin:0}
@media(max-width:1100px){.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.camera-permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.detail-grid,.share-grid,.camera-permission-grid{grid-template-columns:1fr}.replay-box,.permission-footer{align-items:flex-start;flex-direction:column}.permission-head{flex-wrap:wrap}.replay-status{margin-left:0}.permission-footer>div{flex-wrap:wrap}.dvr-tabs a{flex:1}.compact-channels{grid-template-columns:1fr}}


/* App Câmeras */
.app-camera-panel{display:flex;flex-direction:column;gap:20px}
.app-camera-search{padding:18px 20px;border:1px solid #dfe7f1;border-radius:14px;background:#f8fbff}
.search-inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.search-inline input{flex:1;min-width:220px}
.app-users-list{display:grid;gap:18px}
.app-user-card{border:1px solid #dfe7f1;border-radius:16px;background:#fff;overflow:hidden}
.app-user-head{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid #e8eef6;background:#fbfdff}
.app-user-head small{display:block;color:#718096;font-size:12px}.app-user-head h3{margin:2px 0 3px;font-size:20px}.app-user-head p{margin:0;color:#718096;font-size:13px}
.app-dvr-list{display:grid;gap:0}
.app-dvr-access{padding:18px 20px;border-bottom:1px solid #edf1f7}.app-dvr-access:last-child{border-bottom:0}
.app-dvr-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.app-dvr-title small,.app-camera-tags>small{display:block;color:#718096;font-size:12px;margin-bottom:4px}.app-dvr-title strong{display:block;font-size:17px}.app-dvr-title span:not(.replay-status){display:block;margin-top:3px;color:#718096;font-size:13px}
.app-camera-tags{margin-top:14px}.app-camera-tags>div{display:flex;flex-wrap:wrap;gap:8px}.app-camera-tags>div>span{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #dce6f2;border-radius:10px;background:#f8fbff;font-size:13px;color:#23364d}.app-camera-tags b{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;border-radius:7px;background:#e8f1ff;color:#1264d8;font-size:12px}
@media(max-width:640px){.search-inline{display:grid;grid-template-columns:1fr}.search-inline input{min-width:0;width:100%}.search-inline .save-btn,.search-inline .cancel-btn{width:100%;text-align:center}.app-dvr-title{display:block}.app-dvr-title .replay-status{display:inline-block;margin-top:10px}}

/* VPN */
.vpn-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}
.vpn-users-list{display:grid;gap:12px}
.vpn-user-card{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid #e4eaf2;border-radius:14px;background:#fff}
.vpn-user-info{min-width:0;flex:1}.vpn-user-info small{color:#6d7a91}.vpn-user-info h3{margin:3px 0 4px;color:#17233b}.vpn-user-info p{margin:0;color:#6d7a91;font-size:13px}
.vpn-detail-grid{max-width:900px}
@media (max-width:700px){.vpn-form-grid{grid-template-columns:1fr}.vpn-user-card{align-items:flex-start;flex-wrap:wrap}.vpn-user-card .open-btn{width:100%;text-align:center}}

/* Fileserver */
.fileserver-panel{display:flex;flex-direction:column;gap:18px}.fileserver-tabs{margin-bottom:4px}.fs-section-head h3,.fs-section-head p{margin:0}.fs-section-head h3{font-size:18px}.fs-section-head p{margin-top:5px;color:var(--muted);font-size:13px}.fs-folder-grid{grid-template-columns:minmax(280px,620px)}.fs-user-rows{display:grid;gap:10px}.fs-user-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;border:1px solid #e4eaf2;background:#fbfdff;border-radius:12px;padding:12px}.fs-user-row .delete-btn{height:48px}.fs-add-user{margin-top:10px}.fs-list-title{margin-top:8px}.fs-folder-list{display:grid;gap:12px}.fs-folder-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid #e0e8f2;background:#fff;border-radius:14px;padding:16px}.fs-folder-icon{width:46px;height:46px;border-radius:11px;background:#edf5ff;color:#1c67c9;display:grid;place-items:center;font-size:22px;font-weight:900}.fs-folder-info small{color:#718096;font-size:12px}.fs-folder-info h3{margin:3px 0 9px;font-size:17px}.fs-user-tags{display:flex;gap:7px;flex-wrap:wrap}.fs-user-tags a{display:inline-flex;text-decoration:none;border:1px solid #d8e6f7;background:#f4f8ff;color:#275f9f;border-radius:15px;padding:6px 9px;font-size:11px;font-weight:800}.fs-folder-actions{display:flex;gap:8px;align-items:center}.fs-folder-actions form{margin:0}.fs-search{margin-bottom:4px}.fs-profiles-list{display:grid;gap:12px}.fs-profile-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:13px;align-items:center;border:1px solid #e2e9f2;background:#fff;border-radius:14px;padding:15px 17px;text-decoration:none;color:var(--ink);transition:.15s border-color,.15s box-shadow}.fs-profile-card:hover{border-color:#b9d4f6;box-shadow:0 8px 20px rgba(20,82,160,.08)}.fs-profile-card small{color:#718096}.fs-profile-card h3{margin:2px 0 3px;font-size:17px}.fs-profile-card p{margin:0;color:#718096;font-size:13px}.fs-profile-card>span{color:#1766c7;font-size:12px;font-weight:900}.fs-user-profile{display:grid;gap:18px}.fs-profile-summary{display:flex;align-items:center;gap:13px;border:1px solid #dfe8f3;background:#f8fbff;border-radius:13px;padding:16px}.fs-profile-summary small{color:#718096}.fs-profile-summary h3{margin:2px 0 3px;font-size:20px}.fs-profile-summary p{margin:0;color:#718096;font-size:13px}.fs-access-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.fs-access-item{display:flex;gap:10px;align-items:center;border:1px solid #e0e8f2;background:#fff;border-radius:11px;padding:14px}.fs-access-item>span{width:36px;height:36px;border-radius:9px;background:#edf5ff;color:#1c67c9;display:grid;place-items:center}.fs-access-item small,.fs-access-item strong{display:block}.fs-access-item small{color:#718096;font-size:11px;margin-bottom:4px}.fs-access-item strong{font-size:14px}
@media(max-width:850px){.fs-access-list{grid-template-columns:repeat(2,minmax(0,1fr))}.fs-folder-card,.fs-profile-card{grid-template-columns:46px minmax(0,1fr)}.fs-folder-actions,.fs-profile-card>span{grid-column:1/-1}.fs-folder-actions{flex-wrap:wrap}}
@media(max-width:600px){.fs-user-row{grid-template-columns:1fr}.fs-user-row .delete-btn{height:auto}.fs-access-list{grid-template-columns:1fr}.fs-folder-card,.fs-profile-card{grid-template-columns:1fr}.fs-folder-icon{width:42px;height:42px}.fs-folder-actions{grid-column:auto}.fs-profile-card>span{grid-column:auto}.fileserver-tabs a{flex:1 1 100%}}

.info-banner{margin:14px 0 18px;padding:13px 15px;border:1px solid #cfe0f5;background:#f5f9ff;border-radius:10px;color:#27496b;font-size:14px;line-height:1.45}.info-banner strong{color:#123b63}

/* v11 — identidade visual padronizada com o sistema Microhard */
:root{--navy:#071b3d;--navy2:#0b2a5e;--blue:#1976f3;--bg:#f5f7fb;--line:#e6ebf2;--shadow:0 10px 28px rgba(25,55,100,.08)}
.sidebar{width:238px;background:linear-gradient(180deg,#071b3d 0%,#061630 100%)}
.main-area{margin-left:238px;width:calc(100% - 238px)}
.side-brand{height:92px}.side-brand strong{font-size:19px;letter-spacing:.2px}.side-brand span{color:#70adff}
.sidebar nav a{height:50px;border-radius:8px;margin:4px 8px;padding:0 13px}.sidebar nav a.active{background:linear-gradient(90deg,#164c9e,#123d82);box-shadow:inset 3px 0 #64a8ff}
.topbar{height:72px;box-shadow:0 1px 8px rgba(20,44,80,.03)}
.content{padding:30px 36px}.page-title{margin-bottom:24px}.page-title h1{font-size:27px}.title-icon{width:46px;height:46px;border-radius:12px;background:#eaf3ff;display:grid;place-items:center;font-size:23px}
.module-panel,.info-panel{border-radius:12px;box-shadow:0 7px 20px rgba(28,59,105,.05)}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:20px;display:flex;align-items:center;gap:15px;box-shadow:0 7px 20px rgba(28,59,105,.05)}.stat-icon{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;font-size:22px;font-weight:800;flex:0 0 auto}.stat-icon.blue{background:#e9f3ff;color:#1976f3}.stat-icon.violet{background:#f1ecff;color:#7651d7}.stat-icon.green{background:#e9f8ef;color:#20945a}.stat-icon.amber{background:#fff4df;color:#c27b12}.stat-card small,.stat-card strong,.stat-card span{display:block}.stat-card small{font-size:12px;color:#64748b;font-weight:700}.stat-card strong{font-size:27px;line-height:1.1;margin:3px 0;color:#102444}.stat-card span{font-size:11px;color:#8793a7}.microhard-actions{gap:18px}.microhard-actions .quick-card{min-height:164px;border-radius:13px;padding:24px}.microhard-actions .quick-icon{width:64px;height:64px;font-size:27px}.microhard-actions .quick-card h2{font-size:22px}
.dvr-tabs a,.fs-tabs a{border-radius:8px}.form-field input,.form-field select,.form-field textarea,.search-box input{border-radius:8px}.save-btn,.edit-btn,.pdf-btn,.primary-btn{border-radius:8px}
@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.sidebar{width:238px}.main-area{margin-left:0;width:100%}.content{padding:22px 18px}}
@media(max-width:560px){.stats-grid{grid-template-columns:1fr}.stat-card{padding:16px}}


/* v12 - refinamento premium Microhard */
.app-page{background:#f6f8fc}.sidebar{width:252px;background:linear-gradient(180deg,#071d42,#05162f);box-shadow:8px 0 30px rgba(6,25,58,.08)}.main-area{margin-left:252px;width:calc(100% - 252px)}
.side-brand{height:96px;padding:0 22px}.mini-logo{width:50px;height:50px;border-radius:15px;box-shadow:0 10px 24px rgba(27,122,244,.32)}.side-section{padding:28px 24px 10px;font-size:10px;font-weight:800;letter-spacing:1.3px}.sidebar nav{padding:0 12px}.sidebar nav a{height:50px;border-radius:10px;margin:5px 0;padding:0 15px}.sidebar nav a.active{background:linear-gradient(90deg,#174d9c,#123c7b);box-shadow:inset 3px 0 #66aaff,0 8px 18px rgba(0,0,0,.08)}
.topbar{height:78px;padding:0 36px}.content{padding:34px 40px 42px;max-width:1540px;width:100%;margin:0 auto}.title-icon{width:50px;height:50px;border-radius:14px;background:#eaf3ff;box-shadow:inset 0 0 0 1px #dbeaff}.page-title h1{font-size:29px;letter-spacing:-.4px}
.stat-card{min-height:112px;border-radius:16px;padding:21px;box-shadow:0 8px 28px rgba(31,55,92,.07)}.stat-icon{width:52px;height:52px;border-radius:14px}.stat-card strong{font-size:29px}
.microhard-actions .quick-card{min-height:178px;border-radius:17px;padding:27px 30px;box-shadow:0 14px 30px rgba(24,76,158,.14)}.microhard-actions .quick-icon{width:68px;height:68px;border-radius:20px;box-shadow:0 10px 24px rgba(0,0,0,.10)}.microhard-actions .quick-card h2{font-size:23px}
.info-panel,.module-panel{border-radius:17px;box-shadow:0 8px 28px rgba(31,55,92,.07);padding:28px 30px}.dvr-tabs,.fileserver-tabs{gap:8px;padding:7px;background:#f5f8fc;border-radius:12px}.dvr-tabs a,.fileserver-tabs a{border:0;border-radius:9px}.dvr-tabs a.active,.fileserver-tabs a.active{background:#fff;box-shadow:0 4px 12px rgba(30,64,112,.08)}
.form-field input,.form-field select,.form-field textarea,.search-box input{min-height:48px;border-color:#dce4ef;background:#fbfcfe;border-radius:10px}.detail-grid>div,.saved-channel,.permission-card,.vpn-user-card,.fs-folder-card,.fs-profile-card,.app-user-card{border-radius:14px;box-shadow:0 4px 14px rgba(30,56,96,.035)}
.login-card{border-radius:24px;padding:52px 50px;box-shadow:0 24px 70px rgba(20,62,122,.14)}.brand-name{font-size:47px}.input-group,.primary-btn{border-radius:11px}
@media(max-width:900px){.main-area{margin-left:0;width:100%}.content{padding:24px 18px}.topbar{padding:0 18px}}

/* v13 — lista de DVRs simplificada */
.dvr-simple-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.dvr-simple-card{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 22px;border:1px solid #e5ebf4;border-radius:14px;background:#fff;text-decoration:none;color:#102444;box-shadow:0 5px 18px rgba(31,55,92,.05);transition:.16s ease}.dvr-simple-card:hover{transform:translateY(-2px);border-color:#cbdcf3;box-shadow:0 10px 26px rgba(31,72,128,.09)}.dvr-simple-card h3{margin:0;font-size:17px;font-weight:800;letter-spacing:-.15px}.dvr-simple-card span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#eaf3ff;color:#1672e8;font-size:26px;line-height:1}.detail-actions form{margin:0}.detail-actions .delete-btn{height:42px;padding:0 15px;border-radius:9px}@media(max-width:560px){.dvr-simple-list{grid-template-columns:1fr}.dvr-simple-card{min-height:68px;padding:0 17px}}
