:root{--surface: rgba(10, 31, 47, .9);--surface-soft: rgba(18, 59, 90, .78);--ink: #e6eef3;--accent: #00a8a8;--accent-2: #127d99;--ok: #39ff14;--danger: #ff9f9f;--border: rgba(0, 168, 168, .34)}*{box-sizing:border-box}body{margin:0;font-size:clamp(13px,1.5vw,15px);font-family:Poppins,Inter,Segoe UI,sans-serif;color:var(--ink);background:#0a1f2f}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 18% 12%,rgba(0,168,168,.26),transparent 36%),radial-gradient(circle at 82% 84%,rgba(57,255,20,.16),transparent 34%),linear-gradient(140deg,#0a1f2ffa,#123b5af2);opacity:1;pointer-events:none;z-index:-1}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(120deg,rgba(230,238,243,.03) 0,rgba(230,238,243,.03) 1px,transparent 1px,transparent 24px);pointer-events:none;z-index:-1}.layout{width:min(1250px,95vw);margin:1rem auto 2rem;display:grid;gap:1rem}.layout-auth{min-height:calc(100vh - 2rem);grid-template-rows:auto 1fr auto;gap:.35rem}.layout-auth .hero,.layout-auth .auth-centered{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border:none}.hero{background:linear-gradient(135deg,#0a1f2ff0,#123b5aeb);border:1px solid var(--border);border-radius:18px;padding:1rem 1.2rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.hero-auth{justify-content:center;text-align:center}.brand-wrap{display:flex;align-items:center;gap:1rem}.brand-wrap-auth{flex-direction:column;gap:.55rem}.brand-logo-auth{width:550px;height:550px}.auth-pitch{max-width:760px;margin:.1rem auto 0;display:grid;gap:.45rem}.auth-pitch p{margin:0;font-size:.84rem;line-height:1.55;color:#d2e4ef}.brand-logo{width:96px;height:96px;object-fit:contain}.hero h1{margin:0;font-family:Orbitron,Poppins,sans-serif;letter-spacing:.05em;font-size:clamp(1.1rem,2.4vw,1.6rem);color:var(--accent);text-shadow:0 2px 18px rgba(0,168,168,.28)}.hero p{margin:.25rem 0 0;color:#d8e9df}.hero-actions{display:flex;align-items:center;gap:.6rem}.user-chip{display:grid;gap:.1rem;padding:.45rem .65rem;border:1px solid var(--border);border-radius:10px;background:#00000038;text-align:right;min-width:210px}.user-chip strong{font-size:.86rem;color:#8ff4f4}.user-chip span,.user-chip small{font-size:.76rem;color:#e6efe9}.panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.auth-centered{width:min(560px,94vw);margin:0 auto;align-self:center;box-shadow:0 20px 45px #00000059}.layout-auth .auth-centered{box-shadow:none}.menu{display:flex;flex-wrap:wrap;gap:.6rem}.admin-folder-menu{align-items:stretch}.admin-folder-menu button{flex:1 1 220px;min-height:42px;white-space:normal;line-height:1.2}.admin-overview-actions{margin-top:12px;display:flex;justify-content:flex-start}.admin-backup-actions{margin-top:12px;align-items:center;justify-content:flex-start;gap:.5rem}.admin-backup-actions small{display:inline-block;padding:.35rem .45rem;border:1px dashed var(--border);border-radius:8px;max-width:100%;overflow-wrap:anywhere}.intro-panel p{margin-top:.35rem;line-height:1.45}.intro-gallery{display:grid;grid-template-columns:1.6fr 1fr;gap:.7rem;margin-top:.7rem}.intro-gallery img{width:100%;max-height:220px;object-fit:cover;border:1px solid var(--border);border-radius:10px;background:#0003}.compact-cards .card p{margin:0;font-size:1.1rem}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.8rem}.dashboard-cards .metric-card h3{display:inline-flex;align-items:center;gap:.35rem;margin:0;font-size:.88rem;color:#cde4f2}.dashboard-cards .metric-card p{margin:.35rem 0 0;font-size:clamp(1.2rem,2.2vw,1.65rem);font-weight:700}.dashboard-panel,.devices-panel{display:grid;gap:1rem}.dashboard-hero,.devices-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.dashboard-hero h2,.devices-hero h2{margin:.15rem 0 .35rem}.dashboard-hero p,.devices-hero p{margin:0;max-width:720px;color:#e6eef3bd;line-height:1.55}.dashboard-status-strip,.devices-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.dashboard-metric-card,.devices-summary-card{border:1px solid var(--border);border-radius:8px;padding:.9rem;background:linear-gradient(145deg,#123b5ab8,#0a1f2fc7);display:grid;gap:.25rem;min-height:112px;cursor:pointer}.devices-summary-card{cursor:default}.dashboard-metric-card span,.devices-summary-card span{color:#e6eef3b8;font-size:.82rem;font-weight:800;display:inline-flex;align-items:center;gap:.35rem}.dashboard-metric-card strong,.devices-summary-card strong{font-size:1.75rem;line-height:1.05}.dashboard-metric-card small,.devices-summary-card small{color:#e6eef39e;font-weight:700}.dashboard-metric-card.online,.devices-summary-card.online{border-color:#48d684b8;background:linear-gradient(145deg,#105433c7,#0a1f2fc7)}.dashboard-metric-card.offline,.devices-summary-card.blocked,.devices-summary-card.overdue{border-color:#ff7785ad;background:linear-gradient(145deg,#5c121dbd,#0a1f2fc7)}.dashboard-ops-grid{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(320px,1fr);gap:.8rem}.dashboard-section-card{border:1px solid var(--border);border-radius:8px;padding:.9rem;background:#031d2dbd}.dashboard-section-head{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.55rem}.dashboard-section-head h3{margin:0;font-size:.98rem}.dashboard-phase3{margin-top:.85rem;grid-template-columns:1fr 1.4fr}.health-card h3,.timeline-card h3{margin:0 0 .45rem;font-size:.92rem}.health-value{font-size:clamp(1.4rem,2.4vw,1.95rem);font-weight:700;color:#9fffd1;margin-bottom:.45rem}.health-meter{height:10px;border-radius:999px;background:#e6eef31f;overflow:hidden;border:1px solid rgba(0,168,168,.42)}.health-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#00a8a8,#39ff14);box-shadow:0 0 14px #39ff1447}.health-card p{margin:.55rem 0 0;font-size:.78rem;color:#dbe9f3}.event-timeline{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.event-item{display:grid;grid-template-columns:12px 1fr;gap:.5rem;align-items:start;border:1px solid rgba(0,168,168,.25);border-radius:9px;background:#0a1f2f8f;padding:.45rem .55rem}.event-dot{width:9px;height:9px;border-radius:50%;margin-top:.28rem;background:#9ca9b3}.event-item.ok .event-dot{background:#39ff14;box-shadow:0 0 10px #39ff14a6}.event-item.warn .event-dot{background:#ffc857;box-shadow:0 0 10px #ffc8578c}.event-item strong{display:block;font-size:.76rem;color:#dff2fb}.event-item p{margin:.12rem 0 0;font-size:.74rem;color:#b8ccdb}.metric-online{border-color:#39ff1466;box-shadow:inset 0 0 0 1px #39ff141f}.metric-offline{border-color:#ff9f9f4d}.presentation-card{margin-top:.9rem}.presentation-card h3{margin:0 0 .55rem;font-size:1.04rem}.presentation-card h4{margin:.85rem 0 .35rem;font-size:.9rem;color:#9de8e8}.presentation-card p{margin:0 0 .45rem;font-size:.8rem;line-height:1.6;color:#d7e7f2}.presentation-card ul{margin:.1rem 0 .6rem;padding-left:1.1rem}.presentation-card li{margin:.25rem 0;font-size:.8rem;color:#e3f0f7}.network-map-card{margin-top:.9rem;overflow:hidden}.network-map-head{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem;margin-bottom:.4rem}.network-map-head h3{margin:0;font-size:.96rem}.network-map-head small{color:#9bdfe1}.network-map{width:100%;display:block}.map-hub{fill:#123b5ae6;stroke:#00a8a8d9;stroke-width:1.5}.map-hub-text{fill:#d6edf6;font-size:14px;font-weight:700;letter-spacing:.06em}.map-link{stroke:url(#wgLine);stroke-width:2;stroke-dasharray:3 4;opacity:.9}.map-node{fill:#9aa8b2;stroke:#dbe8ef;stroke-width:1.2}.map-node.online{fill:#39ff14;stroke:#dfffd8;animation:pulseNode 1.9s ease-in-out infinite}.map-caption{fill:#cfe4ef;font-size:12px}.card{background:var(--surface-soft);border:1px solid var(--border);border-radius:10px;padding:.8rem}.clickable-card{cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.clickable-card:hover{transform:translateY(-1px);border-color:#39ff1473;box-shadow:0 0 14px #00a8a833}.clickable-card:focus-visible{outline:2px solid #f6dd95;outline-offset:2px}.grid-form{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.section-kicker{display:inline-flex;width:fit-content;color:#93ecec;font-size:.72rem;font-weight:800;text-transform:uppercase}.license-panel,.documents-panel,.tutorial-panel{display:grid;gap:1rem}.license-hero,.documents-hero,.tutorial-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.license-hero h2,.documents-hero h2,.tutorial-hero h2{margin:.15rem 0 .35rem}.license-hero p,.documents-hero p,.tutorial-hero p{margin:0;max-width:720px;color:#e6eef3bd;line-height:1.55}.license-summary-grid,.documents-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.license-metric-card,.documents-summary-card{border:1px solid var(--border);border-radius:8px;padding:.95rem;background:linear-gradient(145deg,#123b5ab8,#0a1f2fc7);display:grid;gap:.25rem;min-height:110px}.license-metric-card span,.documents-summary-card span{color:#e6eef3ad;font-size:.82rem;font-weight:800}.license-metric-card strong,.documents-summary-card strong{font-size:1.65rem;line-height:1.05}.license-metric-card small,.documents-summary-card small{color:#e6eef3a6;font-weight:700}.documents-summary-card.accepted{border-color:#48d684b8;background:linear-gradient(145deg,#105433c2,#0a1f2fc7)}.license-usage-card,.license-request-card{border:1px solid rgba(0,168,168,.32);border-radius:8px;padding:.95rem;background:#031d2db8}.license-usage-card{display:grid;gap:.65rem}.license-usage-card>div:first-child{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.license-usage-card span{color:#e6eef3b8}.license-usage-bar{height:12px;border-radius:999px;background:#ffffff1a;overflow:hidden;border:1px solid rgba(0,168,168,.32)}.license-usage-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#00a8a8,#39ff14);min-width:4px}.license-request-card{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.5fr);gap:1rem;align-items:start}.license-request-card h3{margin:.2rem 0 .4rem}.license-request-card p,.license-admin-note{color:#e6eef3b8;line-height:1.55}.license-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.license-form textarea,.license-form button{grid-column:1 / -1}.documents-filters{padding:.75rem;border:1px dashed var(--border);border-radius:8px;background:#00a8a80f}.documents-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.8rem}.document-card{border:1px solid var(--border);border-radius:8px;padding:.9rem;background:#031d2dc2;display:grid;gap:.7rem}.document-card.contract{border-color:#93ecec94}.document-card.device{border-color:#d4b25894}.document-card header,.document-card footer{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.document-card h3{margin:0;font-size:.98rem;line-height:1.35}.document-type{color:#93ecec;font-size:.76rem;font-weight:800}.document-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.document-meta span{border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:.45rem;background:#ffffff0a;color:#e6eef3c7;display:grid;gap:.1rem}.document-meta strong{color:#e6eef394;font-size:.72rem}.document-preview{border-top:1px solid rgba(0,168,168,.2);padding-top:.55rem}.document-preview summary{cursor:pointer;color:#dff6ff;font-weight:700}.document-preview pre{white-space:pre-wrap;max-height:220px;overflow:auto;margin:.55rem 0 0;font-size:.76rem;line-height:1.45;color:#e6eef3c7}.auth-login-form{grid-template-columns:1fr;gap:.35rem}.auth-field{display:grid;gap:.28rem}.auth-field span{font-size:.77rem;color:#e8dbb0;font-weight:700;letter-spacing:.015em}.auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.auth-mindmap-links{margin-top:.2rem;display:flex;align-items:center;justify-content:center;gap:.45rem;font-size:.78rem;color:#c8d9e3;opacity:.9}.auth-mindmap-links span{color:#d8e7ef;font-weight:600}.mindmap-label{display:inline-flex;align-items:center;gap:.28rem}.mindmap-badge{width:15px;height:15px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(157,232,232,.65);color:#9de8e8;font-size:.62rem;line-height:1;font-weight:700}.auth-mindmap-links a{color:#9de8e8;text-decoration:none;border-bottom:1px dashed rgba(157,232,232,.5);padding-bottom:1px}.auth-mindmap-links a:hover{color:#d6fff6;border-bottom-color:#d6fff6d9}.mindmap-link-btn{background:transparent;border:1px dashed rgba(157,232,232,.55);color:#9de8e8;font-size:.74rem;padding:.25rem .5rem;border-radius:6px;box-shadow:none}.mindmap-link-btn:hover{transform:none;filter:none;color:#d6fff6;border-color:#d6fff6d9;box-shadow:0 0 8px #00a8a833}.mindmap-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#071a29b8;display:flex;align-items:center;justify-content:center;padding:1rem}.mindmap-modal-content{width:min(760px,95vw);max-height:92vh;overflow:auto;background:#0a1f2ff5;border:1px solid var(--border);border-radius:12px;padding:.8rem}.mindmap-modal-content h3{margin:0 0 .6rem;color:#9de8e8}.mindmap-preview{width:100%;border-radius:10px;border:1px solid var(--border);background:#ffffff0a}.mindmap-modal-actions{margin-top:.65rem;justify-content:flex-end}.mindmap-modal-actions a{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;padding:.45rem .62rem;text-decoration:none;color:#e8f5ff;background:linear-gradient(120deg,var(--accent),var(--accent-2));font-weight:700;font-size:.83rem}input,textarea,button{border:1px solid var(--border);border-radius:8px;padding:.7rem .76rem;font-size:.95rem;font:inherit;background:#ffffff12;color:var(--ink)}input{transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}input:hover{background:#ffffff1c}input:focus-visible,textarea:focus-visible{outline:none;border-color:#d4b258db;box-shadow:0 0 0 3px #d4b25833;background:#ffffff1f}textarea{width:100%}select{border:1px solid var(--border);border-radius:8px;padding:.7rem .76rem;font:inherit;background:#ffffff12;color:var(--ink)}button{background:linear-gradient(120deg,var(--accent),var(--accent-2));color:#fff;font-weight:700;cursor:pointer;box-shadow:0 0 #39ff1400;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}button:hover{transform:translateY(-1px);filter:saturate(1.08);box-shadow:0 0 14px #39ff1442}button.active{outline:2px solid #f6dd95}table{width:100%;border-collapse:collapse;margin-top:.8rem;font-size:.84rem}th,td{border:1px solid var(--border);padding:.45rem;text-align:center;vertical-align:middle}.risk-card h3{font-size:.8rem}.risk-overdue{border-color:#ff787880}.risk-soon{border-color:#ffc65780}.risk-suspended{border-color:#b1a5ff80}.risk-active{border-color:#39ff1473}.urgency-badge{display:inline-block;border-radius:999px;padding:.18rem .5rem;font-size:.72rem;font-weight:700;border:1px solid var(--border)}.urgency-overdue{color:#ffd4d4;border-color:#ff7878b3;background:#78141440}.urgency-due_soon{color:#ffeec2;border-color:#ffc657cc;background:#825a1440}.urgency-suspended{color:#ece8ff;border-color:#b1a5ffcc;background:#503c8c40}.urgency-active{color:#d4ffe7;border-color:#39ff14b3;background:#14501440}.partner-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#05101ab8;display:flex;align-items:center;justify-content:center;padding:1rem}.partner-modal{width:min(520px,95vw);background:#0a1f2ffa;border:1px solid var(--border);border-radius:12px;padding:.9rem;display:grid;gap:.6rem}.partner-modal h3{margin:0;color:#9de8e8}.partner-modal label{display:grid;gap:.25rem;text-align:left;font-size:.8rem}.sort-btn{background:transparent;border:1px dashed rgba(0,168,168,.5);color:#d9f6ff;padding:.24rem .45rem;font-size:.74rem;box-shadow:none}.sort-btn:hover{transform:none;box-shadow:0 0 8px #00a8a840}.projection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.65rem}.projection-card{border:1px solid var(--border);border-radius:10px;padding:.6rem;background:#123b5a8c;display:grid;gap:.35rem}.projection-card strong{font-size:.78rem;color:#cce7f7}.projection-card p{margin:0;font-size:.76rem;color:#dcebf5}.projection-bar-wrap{width:100%;height:10px;border-radius:999px;border:1px solid rgba(0,168,168,.35);background:#00000038;overflow:hidden}.projection-bar{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#00a8a8,#39ff14)}.batch-preview-ok{margin:0;color:#86efac;font-weight:600;font-size:.8rem}.batch-preview-warn{margin:0;color:#fcd34d;font-weight:600;font-size:.8rem}.partner-modal-wide{width:min(980px,96vw)}.tutorial-title{margin:0 0 .35rem;font-size:1.22rem;color:#a9f4f4}.tutorial-progress-card{min-width:130px;border:1px solid rgba(72,214,132,.65);border-radius:8px;padding:.85rem;background:#10543373;display:grid;gap:.15rem;text-align:right}.tutorial-progress-card strong{font-size:1.8rem;line-height:1}.tutorial-progress-card span{color:#e6eef3b8;font-size:.78rem;font-weight:700}.tutorial-step-nav{display:flex;gap:.35rem;overflow-x:auto;padding-bottom:.2rem}.tutorial-step-nav button{flex:0 0 auto;width:38px;height:38px;padding:0;border-radius:999px;background:#123b5ac7}.tutorial-step-nav button.active{background:linear-gradient(120deg,#00a8a8,#39ff14);color:#06212a}.tutorial-steps{display:grid;gap:.8rem}.step{border:1px solid rgba(0,168,168,.28);border-radius:8px;padding:.85rem;background:linear-gradient(145deg,#123b5a6b,#0a1f2fbd)}.step.active{border-color:#48d684b8;box-shadow:inset 4px 0 #48d684d1}.step-heading{display:grid;gap:.15rem;margin-bottom:.45rem}.step-heading span{color:#93ecec;font-size:.72rem;font-weight:800;text-transform:uppercase}.step-title{margin:0;font-size:1rem;line-height:1.28;color:#d7f1ff}.step-row{margin:.22rem 0;font-size:.78rem;line-height:1.35}.step-command{margin:.55rem 0;padding:.5rem .6rem;border:1px solid var(--border);border-radius:8px;background:#0003}.step-command-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.2rem}.step-command span{display:block;margin-bottom:0;color:#93ecec;font-size:.72rem;font-weight:700}.step-copy-btn{border:1px solid var(--border);border-radius:6px;background:#00a8a833;color:#dcfcfc;font-size:.7rem;font-weight:700;padding:.2rem .45rem;cursor:pointer}.step-copy-btn.copied{background:#7ef0b440;border-color:#7ef0b4a6;color:#d9fce9}.step-command code{display:block;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;font-size:.74rem;color:#f2f6f2;cursor:copy;border-radius:6px;padding:.18rem .22rem;transition:background-color .14s ease}.step-command code:hover,.step-command code:focus{background:#d4b2581f;outline:none}.tip{font-size:.86rem;color:#9ed7ea;margin-bottom:.45rem}.validation,.expected{font-size:.78rem;margin:.35rem 0}.table-wrap{overflow-x:auto}.row-actions{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center}.row-actions button{white-space:nowrap}td .row-actions{justify-content:flex-start}.admin-inline-form{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(220px,1.4fr) minmax(130px,.7fr) minmax(120px,.6fr) auto auto;gap:.45rem;align-items:center}.admin-inline-form input,.admin-inline-form select,.admin-inline-form button{width:100%;min-height:42px}.copy-cell{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.18rem;min-width:120px}.copy-cell span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.copy-btn{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;padding:.2rem .28rem;font-size:.66rem;border-radius:6px;border:1px solid var(--border);background:#ffffff14;color:#dcfbfb;font-weight:700}.copy-btn .btn-icon{width:12px;height:12px}.copy-btn.copied{background:#7ef0b440;border-color:#7ef0b4a6;color:#d9fce9}.copy-btn:disabled{opacity:.5;cursor:not-allowed}.device-table th{background:#123b5ac7}.device-table td{font-size:.76rem;line-height:1.25}.device-table-wrap{margin-top:.55rem;overflow-x:visible}.device-table{width:100%;table-layout:fixed}.device-table.hard-lock .col-hardlock{display:none}.device-table th,.device-table td{min-width:58px;padding:.3rem;overflow-wrap:anywhere;word-break:break-word}.device-table tbody tr:nth-child(odd){background:#ffffff05}.device-table tbody tr:nth-child(2n){background:#00000014}.device-table tbody tr{transition:background-color .18s ease}.device-table tbody tr:hover{background:#00a8a829}.actions-cell .row-actions{justify-content:center}.th-sort-btn{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;width:100%;background:transparent;border:0;color:#f2f6f2;padding:.18rem .1rem;font-size:.7rem;font-weight:700}.th-sort-btn small{font-size:.58rem;color:#9fd9e6;min-width:1.6rem}.btn-icon{width:14px;height:14px;fill:currentColor;flex:0 0 auto}.btn-compact{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;padding:.42rem .55rem;font-size:.66rem;line-height:1}.btn-icon-only{min-width:30px;width:30px;height:30px;padding:0}.btn-icon-only .btn-icon{width:15px;height:15px}@media (max-width: 1500px){.col-desktop{display:none}.device-table td{font-size:.74rem}}@media (max-width: 1366px){.col-tablet{display:none}.copy-cell{min-width:0}.btn-compact{padding:.34rem .46rem;font-size:.68rem}}@media (max-width: 1024px){.admin-folder-menu button{flex:1 1 46%}.admin-backup-actions button{flex:1 1 220px}}.status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:.45rem;box-shadow:0 0 0 1px #00000047}.status-up{background:#39ff14;box-shadow:0 0 10px #39ff14c7;animation:pulseNode 1.7s ease-in-out infinite}.status-down{background:#ff6a6a;box-shadow:0 0 8px #ff6a6a99}.pager{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin-top:.6rem}.pager span{font-size:.88rem;color:#d8e9df}.tutorial-image{width:100%;border-radius:10px;border:1px solid var(--border);background:#0003;max-height:260px;object-fit:cover}.chart-panel{margin-top:1rem}.chart-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.5rem}.chart-header h2{margin:0}.chart-device-picker{display:flex;align-items:center;gap:.45rem;color:#d6ebf8;font-size:.9rem}.chart-device-picker select{min-width:190px;border:1px solid var(--border);background:#0a101cd1;color:#f2f6f2;border-radius:8px;padding:.35rem .5rem}.chart-legend{display:flex;justify-content:center;gap:2rem;margin-top:.6rem;font-size:.85rem;color:#bcd2e3}.chart-legend-dot{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:5px;vertical-align:middle}.pricing-note{color:#f0dca1}.plan-grid{margin:.8rem 0;display:grid;gap:.62rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.plan-card{border:1px solid rgba(0,168,168,.34);border-radius:11px;padding:.7rem;background:linear-gradient(145deg,#123b5a80,#0a1f2fb3)}.plan-card h3{margin:0;font-size:.86rem;color:#99ecec}.plan-card p{margin:.35rem 0;color:#d7e8f3;font-size:.75rem;line-height:1.4}.plan-card strong{color:#b7ff9f;font-size:.76rem}.plan-card-highlight{border-color:#39ff148c;box-shadow:0 0 20px #39ff1426}.error{color:#fff;font-weight:700;background:linear-gradient(135deg,#ff6b6b,#ff9f9f);padding:12px 16px;border-radius:6px;margin:.5rem 0;box-shadow:0 4px 12px #ff6b6b40;animation:slideInDown .3s ease-out}.success{color:#fff;font-weight:700;background:linear-gradient(135deg,#39ff14,#4caf50);padding:12px 16px;border-radius:6px;margin:.5rem 0;box-shadow:0 4px 12px #39ff1440;animation:slideInDown .3s ease-out}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.legal{text-align:center;margin-top:.6rem;font-size:.82rem;color:#d6e7dc}.legal-logo{width:44px;height:44px;object-fit:contain;margin:0 auto .25rem;opacity:.88;display:block}.legal p{margin:.25rem 0}.dev-credit{position:fixed;right:10px;bottom:8px;font-size:10px;color:#f2f6f2c7;text-decoration:none}.dev-credit:hover{text-decoration:underline}@keyframes pulseNode{0%{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.82}to{transform:scale(1);opacity:1}}@media (max-width: 760px){.hero{flex-direction:column;align-items:flex-start}.hero-auth{align-items:center}.hero-actions{width:100%;justify-content:space-between}.brand-logo-auth{width:360px;height:360px}.auth-pitch p{font-size:.76rem}.chart-header{flex-direction:column;align-items:flex-start}.chart-device-picker select{min-width:140px;width:100%}.user-chip{min-width:0;width:100%;text-align:left}.brand-logo{width:74px;height:74px}table{display:block;overflow-x:auto}.device-table{display:block;width:100%;font-size:.72rem}.device-table thead{display:none}.device-table tbody,.device-table tr,.device-table td{display:block;width:100%}.device-table tbody tr{margin-bottom:.55rem;border:1px solid var(--border);border-radius:10px;padding:.32rem .45rem;background:#123b5a7a}.device-table td{border:0;border-bottom:1px dashed rgba(212,178,88,.2);text-align:left;padding:.35rem .12rem;display:grid;grid-template-columns:minmax(110px,42%) minmax(0,1fr);gap:.4rem;align-items:center;font-size:.73rem}.device-table td:last-child{border-bottom:0}.device-table td:before{content:attr(data-label);font-size:.67rem;color:#8ddde0;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.copy-cell{min-width:0;width:100%;justify-content:flex-start;gap:.32rem}.copy-cell span{flex:1}.actions-cell .row-actions{justify-content:flex-start}.device-table .col-desktop,.device-table .col-tablet{display:none}.th-sort-btn{font-size:.7rem}.btn-compact{font-size:.7rem;padding:.38rem .5rem}.copy-cell{min-width:0}.tutorial-title{font-size:.94rem}.step-title{font-size:.84rem}.step-row,.validation,.expected{font-size:.73rem}.step-command code{font-size:.7rem}.step-copy-btn{font-size:.66rem;padding:.18rem .4rem}.panel{padding:.8rem}.dashboard-phase3,.grid-form,.intro-gallery,.auth-actions{grid-template-columns:1fr}.admin-controls{flex-direction:column}.filter-group{flex-wrap:wrap}.admin-folder-menu button{flex:1 1 100%}.admin-overview-actions button,.admin-backup-actions button{flex:1 1 100%;width:100%}.admin-backup-actions{gap:.45rem}.admin-backup-actions small{width:100%}.admin-inline-form,.billing-summary-grid,.billing-device-metrics,.billing-invoice-row{grid-template-columns:1fr}.billing-device-header,.billing-company-header{align-items:flex-start;flex-direction:column}.billing-company-totals,.billing-device-totals,.billing-invoice-value,.billing-invoice-actions{justify-items:start;justify-content:flex-start;text-align:left}td .row-actions{justify-content:flex-start}td .row-actions button{flex:1 1 auto;min-width:110px}.filter-group input,.filter-group select,.filter-group button{width:100%}}.admin-controls{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem;margin-bottom:1.5rem;padding:.8rem;background:#00a8a80f;border:1px dashed var(--border);border-radius:8px}.admin-controls>button{padding:.6rem 1rem;font-size:.88rem;background:#00a8a833;border:1px solid var(--accent);color:var(--accent);cursor:pointer;border-radius:6px;transition:all .2s ease}.admin-controls>button:hover{background:#00a8a84d;box-shadow:0 0 12px #00a8a866}.device-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;border:1px solid rgba(0,168,168,.28);border-radius:8px;padding:.85rem;background:#031d2d9e}.device-form label{display:grid;gap:.28rem}.device-form label span{color:#e6eef3ad;font-size:.76rem;font-weight:800}.device-form input,.device-form select,.device-form textarea{width:100%}.device-form-notes{grid-column:span 2}.device-form-actions{grid-column:span 2;display:flex;align-items:end;gap:.5rem;flex-wrap:wrap}.device-list-section{display:grid;gap:.75rem}.device-list-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem}.device-list-head h3{margin:.15rem 0 0}.device-list-head small{color:#e6eef39e;font-weight:700}.device-filter-pills{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;border:1px dashed var(--border);border-radius:8px;padding:.65rem;background:#00a8a80e}.device-filter-pills span{color:#e6eef3b8;font-weight:800;margin-right:.2rem}.device-filter-pills button{padding:.42rem .68rem;font-size:.78rem;background:#123b5ab8}.device-filter-pills button.active{background:#00a8a85c;color:#eaffff}.device-state{display:grid;grid-template-columns:auto 1fr;gap:.28rem .42rem;align-items:center;line-height:1.2}.device-state span:last-of-type{font-weight:800}.device-state small{grid-column:2;color:#e6eef3b3;font-size:.72rem}.device-state.online span:last-of-type{color:#bfffd2}.device-state.offline span:last-of-type,.device-state.blocked span:last-of-type{color:#ffd6d9}.device-action-grid{display:flex;justify-content:center;gap:.28rem;flex-wrap:nowrap}.device-action-btn{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;padding:0;border-radius:8px;flex:0 0 31px}.device-action-btn .btn-icon{width:13px;height:13px}.device-action-btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.filter-group{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.filter-group input,.filter-group select{min-width:170px}.filter-group label{font-weight:600;color:#e6eef3cc;font-size:.85rem}.filter-group button{padding:.4rem .8rem;font-size:.78rem;background:#123b5a99;border:1px solid rgba(0,168,168,.3);color:#e6eef3b3;cursor:pointer;border-radius:5px;transition:all .2s ease}.filter-group button:hover{background:#123b5acc;border-color:var(--accent);color:var(--accent)}.filter-group button.active{background:#00a8a84d;border-color:var(--accent);color:var(--accent);font-weight:600}.status-indicator{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.4rem;animation:pulseNode 1.8s ease-in-out infinite}.status-indicator.status-up{background:var(--ok);box-shadow:0 0 8px #39ff1499}.status-indicator.status-down{background:var(--danger);box-shadow:0 0 8px #ff9a9e66;animation:none}.payment-status{display:inline-flex;align-items:center;padding:.2rem .52rem;border-radius:999px;font-size:.74rem;font-weight:700;letter-spacing:.01em;border:1px solid transparent}.payment-paid-up{color:#4ef37f;background:#4ef37f29;border-color:#4ef37f66}.payment-due-soon{color:#85ddff;background:#85ddff29;border-color:#85ddff66}.payment-due-today,.payment-open{color:#ffe089;background:#ffe08929;border-color:#ffe08973}.payment-overdue{color:#ffb0b0;background:#ffb0b02e;border-color:#ffb0b080}.col-sort button,.col-important,.col-monospace,.col-text-overflow{font-family:Poppins,sans-serif}.col-sort button{background:none;border:none;color:inherit;cursor:pointer;padding:0;text-align:left;display:flex;align-items:center;gap:.3rem;font-weight:600;transition:color .2s}.col-sort button:hover{color:var(--accent)}.col-monospace{font-family:Courier New,monospace;font-size:.87rem}.col-text-overflow{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-blocked{opacity:.9;background:#ff9f9f26;border-left:3px solid #ff9f9f;position:relative}.row-actions.compact{display:flex;gap:.3rem}.billing-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1rem 0}.billing-summary-card{border:1px solid var(--border);border-radius:8px;padding:1rem;background:#052334b8;display:grid;gap:.25rem;min-height:112px}.billing-summary-card span{color:#e6eef3c2;font-size:.86rem;font-weight:700}.billing-summary-card strong{font-size:1.8rem;line-height:1}.billing-summary-card small{color:#e6eef3b3;font-weight:700}.billing-summary-open{border-color:#ff7785ad;background:linear-gradient(135deg,#5c121dd1,#052334b3)}.billing-summary-paid{border-color:#48d684b8;background:linear-gradient(135deg,#105433d1,#052334b3)}.billing-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.8rem;flex-wrap:wrap;margin:.8rem 0 1rem}.billing-toolbar p{margin:0}.billing-device-list{display:grid;gap:.9rem;margin:1rem 0 1.4rem}.billing-company-list{display:grid;gap:1rem;margin:1rem 0 1.4rem}.billing-empty-state{border:1px dashed var(--border);border-radius:8px;padding:1.4rem;text-align:center;color:#e6eef3b8}.billing-device-card{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#031d2dbd}.billing-company-card{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#031d2dc7}.billing-company-card.has-open{border-color:#ff7785b8;box-shadow:inset 5px 0 #ff7785db}.billing-company-card.all-paid{border-color:#48d684b8;box-shadow:inset 5px 0 #48d684db}.billing-device-card.has-open{border-color:#ff7785b8;box-shadow:inset 4px 0 #ff7785d1}.billing-device-card.all-paid{border-color:#48d684b8;box-shadow:inset 4px 0 #48d684d1}.billing-device-card.nested{margin:0;background:#021724b8}.billing-company-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.05rem;background:#ffffff0b;border-bottom:1px solid rgba(0,168,168,.25)}.billing-device-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;background:#ffffff09;border-bottom:1px solid rgba(0,168,168,.22)}.billing-device-label{display:block;color:#e6eef394;font-size:.72rem;font-weight:700;text-transform:uppercase}.billing-device-header h3{margin:.1rem 0 0;font-size:1.05rem}.billing-company-header h3{margin:.1rem 0 0;font-size:1.14rem}.billing-company-totals,.billing-device-totals{min-width:150px;text-align:right;display:grid;justify-items:end;gap:.2rem}.billing-device-totals strong{font-size:1.2rem}.billing-device-totals small{color:#e6eef39e}.billing-company-totals strong{font-size:1.32rem}.billing-company-totals small{color:#e6eef39e}.billing-device-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding:.72rem 1rem;border-bottom:1px solid rgba(0,168,168,.18)}.billing-device-metrics span{background:#ffffff0b;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:.48rem .62rem;color:#e6eef3c2}.billing-device-metrics strong{color:#fff}.billing-company-devices{display:grid;gap:.72rem;padding:.8rem}.billing-invoice-list{display:grid}.billing-invoice-row{display:grid;grid-template-columns:minmax(118px,.7fr) minmax(220px,2fr) minmax(90px,.55fr) minmax(230px,1fr);gap:.7rem;align-items:center;padding:.72rem 1rem;border-bottom:1px solid rgba(0,168,168,.16)}.billing-invoice-row:last-child{border-bottom:0}.billing-invoice-row.invoice-status-open{background:#70172447}.billing-invoice-row.invoice-status-paid{background:#10563433}.billing-invoice-main,.billing-invoice-detail,.billing-invoice-value{display:grid;gap:.18rem}.billing-invoice-main small,.billing-invoice-detail small{color:#e6eef39e;font-size:.78rem}.billing-invoice-detail span{color:#e6eef3e0}.billing-invoice-value{justify-items:end}.billing-invoice-actions{display:flex;justify-content:flex-end;gap:.35rem;flex-wrap:wrap}.billing-invoice-actions button{padding:.48rem .62rem;font-size:.78rem}.invoice-pill{display:inline-flex;width:fit-content;align-items:center;justify-content:center;border:1px solid transparent;border-radius:999px;padding:.18rem .54rem;font-size:.74rem;font-weight:800}.invoice-status-paid{color:#dfffea;background:#2fb56747;border-color:#48d684b3}.invoice-status-open{color:#fff0f1;background:#e244554d;border-color:#ff7785b8}.admin-notes{margin-top:2rem;padding:1rem;background:linear-gradient(135deg,#123b5a66,#0a1f2fb3);border-left:4px solid var(--accent);border-radius:6px}.admin-notes h3{margin-top:0;color:#a9f4f4;font-size:1.05rem}.pix-modal{position:fixed;right:20px;bottom:20px;width:min(380px,calc(100vw - 20px));z-index:30;box-shadow:0 14px 36px #00000059}.pix-modal h3{margin:0 0 .5rem;font-size:1rem;color:#a9f4f4}.pix-modal-meta{display:flex;gap:.9rem;flex-wrap:wrap;margin-bottom:.5rem}.pix-modal-meta p{margin:0;font-size:.82rem}.pix-modal-qr{width:190px;height:190px;display:block;margin:.2rem auto .65rem;border:1px solid rgba(212,178,88,.5);border-radius:10px;background:#fff;padding:6px}.pix-modal-copy{font-family:Courier New,monospace;font-size:.78rem;line-height:1.3;min-height:104px}.pix-modal-actions{margin-top:.6rem}@media (max-width: 760px){.pix-modal{right:10px;left:10px;bottom:10px;width:auto}.pix-modal-qr{width:170px;height:170px}}.admin-notes ul{list-style:none;padding:0;margin:.5rem 0 0}.admin-notes li{padding:.4rem 0;font-size:.87rem;color:#e6eef3d9;line-height:1.5}@media (max-width: 760px){.license-hero,.documents-hero,.tutorial-hero,.license-request-card{grid-template-columns:1fr;flex-direction:column}.license-summary-grid,.documents-summary-grid,.license-form,.document-meta,.dashboard-status-strip,.devices-summary-grid,.dashboard-ops-grid,.device-form{grid-template-columns:1fr}.dashboard-hero,.devices-hero,.device-list-head{flex-direction:column;align-items:flex-start}.device-form-notes,.device-form-actions{grid-column:auto}.tutorial-progress-card{width:100%;text-align:left}.billing-summary-grid,.billing-device-metrics,.billing-invoice-row{grid-template-columns:1fr}.billing-device-header,.billing-company-header{align-items:flex-start;flex-direction:column}.billing-company-totals,.billing-device-totals,.billing-invoice-value,.billing-invoice-actions{justify-items:start;justify-content:flex-start;text-align:left}.billing-invoice-actions button{flex:1 1 auto}}
