:root{font-family:Inter,Arial,sans-serif;color:#f2f2f3;background:#202125}
*{box-sizing:border-box}
body{margin:0;background:#202125}
.auth{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 75% 10%,#6b3217,transparent 38%),linear-gradient(145deg,#292a2f,#1e1f23)}
.auth-card{width:min(430px,100%);padding:42px;border:1px solid #8a3b12;border-radius:28px;background:linear-gradient(150deg,#303136,#242529);box-shadow:0 24px 65px #0006}
.logo{display:block;width:190px;margin:0 auto}
.logo-link{display:block;width:max-content;margin:0 auto}
.auth-card>small{display:block;margin:18px 0 0;color:#ff8a2b;text-align:center;letter-spacing:.16em}
.auth h1{text-align:center;margin:16px 0 5px}
.auth p,.lead{color:#b2b3b8}
.auth p{text-align:center}
.auth label,.grid label{display:grid;gap:7px;margin-top:16px;font-size:13px;font-weight:700}
input{height:50px;border:1px solid #56575d;border-radius:13px;background:#2a2b30;color:#fff;padding:0 14px;font:inherit;outline:none}
input:focus{border-color:#f26a00;box-shadow:0 0 0 4px #f26a0025}
button,.new summary{border:0;border-radius:12px;background:linear-gradient(135deg,#f47a18,#c94f00);color:#fff;font-weight:800;cursor:pointer}
.auth button{width:100%;height:50px;margin-top:22px}
.alert{margin:15px 0;padding:12px;border-radius:10px;background:#5a2b21}
.alert.success{background:#24513b}
aside{position:fixed;inset:0 auto 0 0;width:240px;padding:28px 20px;background:#25262a;border-right:1px solid #414248}
aside img{width:170px}
nav{display:grid;gap:8px;margin-top:40px}
nav a{padding:13px;border-radius:11px;color:#e2e2e4;text-decoration:none}
nav a:hover{background:#3b2a22;color:#ff9b4a}
aside form{position:absolute;bottom:24px}
aside button{padding:10px 18px}
.shell{margin-left:240px}
.shell>header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid #414248;background:#2a2b30}
.shell main{padding:34px;max-width:1200px}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.metrics>*{display:grid;gap:10px;padding:24px;border:1px solid #48494f;border-radius:18px;background:#2a2b30;color:#eee;text-decoration:none}
.metrics small{color:#ff8a2b}
.metrics strong{font-size:28px}
.new{margin:24px 0;border:1px solid #4c4d53;border-radius:16px;background:#292a2e}
.new summary{width:max-content;margin:12px;padding:12px 18px;list-style:none}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding:0 20px 20px}
.grid button{height:48px;align-self:end}
.search{display:flex;gap:10px;margin:20px 0}
.search input{flex:1}
.search button{padding:0 22px}
.table{overflow:hidden;border:1px solid #48494f;border-radius:16px;background:#292a2e}
.tr{display:grid;grid-template-columns:1.4fr 1fr 100px;gap:15px;padding:15px 18px;border-top:1px solid #414248;align-items:center}
.tr:first-child{border:0}
.tr span:first-child{display:grid;gap:4px}
.tr small{color:#aaa}
.th{background:#34353a;color:#bbb;font-size:12px}
.status{padding:6px 9px;border-radius:999px;background:#4b292d;color:#ff9ca5;font-size:11px}
.status.on{background:#244b38;color:#7ae4ab}
.shell{min-height:100vh;background:#eef0f3;color:#25262a}
.shell>header{background:linear-gradient(115deg,#ff922e 0%,#f47616 48%,#d95000 100%);border-bottom-color:#c94b00;color:#fff;box-shadow:0 5px 18px #b9430038}
.shell main{max-width:none}
.shell .lead{color:#686b72}
.shell input{background:#fff;border-color:#cfd2d8;color:#25262a}
.shell input::placeholder{color:#92969e}
.shell button,.shell .new summary{background:#242529;color:#ff821f;border:1px solid #3b3c42;box-shadow:0 6px 16px #2021251a}
.shell button:hover,.shell .new summary:hover{background:#303136;color:#ff9b4a}
.metrics>*{background:#fff;border-color:#d8dbe0;color:#25262a;box-shadow:0 6px 18px #2021250d}
.new{background:#fff;border-color:#d8dbe0;box-shadow:0 6px 18px #2021250d}
.grid label{color:#303136}
.table{background:#fff;border-color:#d8dbe0;box-shadow:0 6px 18px #2021250d}
.tr{border-top-color:#e5e7ea;color:#303136}
.tr small{color:#777b83}
.th{background:#e2e4e8;color:#5f6269}
@media(max-width:760px){aside{position:static;width:auto;height:auto}aside nav{grid-template-columns:1fr 1fr;margin-top:18px}aside form{position:static;margin-top:10px}.shell{margin:0}.shell main{padding:22px 14px}.metrics,.grid{grid-template-columns:1fr}.tr{grid-template-columns:1fr}.th{display:none}}

/* Painel administrativo inspirado na organização visual do T-Panel. */
.sidebar{z-index:30;width:250px;padding:0;background:#26272b;border-right:1px solid #3d3e43;transition:width .22s ease}
.sidebar-brand{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #3d3e43}
.sidebar-logo-link{display:flex;align-items:center}
.sidebar-brand img{width:154px;max-height:50px;object-fit:contain;transition:opacity .15s}
.sidebar-brand button,.mobile-menu{width:38px;height:38px;padding:0;background:#33343a;color:#ff851f;border:1px solid #48494f;border-radius:10px}
.sidebar nav{margin:22px 12px;gap:7px}
.sidebar nav a{display:flex;align-items:center;gap:13px;min-height:46px;padding:0 14px;border-radius:12px}
.sidebar nav a i{width:20px;color:#ff851f;text-align:center}
.sidebar.collapsed{width:76px}
.sidebar.collapsed .sidebar-logo-link,.sidebar.collapsed nav span{display:none}
.sidebar.collapsed .sidebar-brand{justify-content:center;padding:0}
.sidebar.collapsed nav a{justify-content:center;padding:0}
.shell{margin-left:250px;transition:margin-left .22s ease}
.shell.expanded{margin-left:76px}
.topbar{position:sticky;top:0;z-index:20;height:74px;display:grid;grid-template-columns:120px 1fr 120px;align-items:center;padding:0 28px}
.header-brand{display:flex;align-items:center;gap:12px}
.header-home-link{display:flex;align-items:center}
.header-home-link img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.mobile-menu{display:none}
.tenant-title{text-align:center;min-width:0}
.tenant-title>strong{display:block;font-size:16px;color:#fff;text-shadow:0 1px 2px #8b300055}
.tenant-title small{display:flex;justify-content:center;gap:18px;margin-top:5px;color:#fff4e9;font-size:11px;font-weight:600}
.tenant-title small b{font-weight:500}
.user-avatar{justify-self:end;width:46px;height:46px;padding:3px;border-radius:50%;background:#27282c!important;color:#ff851f!important;border:2px solid #ff851f!important;box-shadow:0 5px 15px #2223!important}
.user-avatar span,.account-picture span{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;font-size:18px;font-weight:900}
.account-backdrop{position:fixed;z-index:49;inset:0;background:#17181b80;opacity:0;visibility:hidden;transition:.2s}
.account-backdrop.open{opacity:1;visibility:visible}
.account-menu{position:fixed;z-index:50;inset:0 0 0 auto;width:min(390px,92vw);padding:30px;background:#fff;color:#292a2e;border:0;border-left:1px solid #ddd;box-shadow:-22px 0 55px #17181b33;transform:translateX(105%);transition:transform .24s ease}
.account-menu.open{transform:translateX(0)}
.account-close{position:absolute;top:20px;right:20px;width:38px;height:38px;padding:0;border-radius:50%;background:#ededf0!important;color:#333!important;box-shadow:none!important}
.account-picture{width:88px;height:88px;margin:20px auto 14px;padding:4px;border:2px solid #f47716;border-radius:50%;background:#292a2e;color:#ff851f}
.account-picture span{font-size:32px}
.account-person{text-align:center}
.account-person strong{display:block;font-size:21px}
.account-person span{display:block;margin-top:5px;color:#777b83;font-size:13px}
.account-tenant{margin:24px 0;padding:15px 17px;border-radius:14px;background:#f0f1f3}
.account-tenant small,.account-tenant strong{display:block}
.account-tenant small{color:#777b83;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.account-tenant strong{margin-top:5px}
.account-language{padding:18px 0;border-top:1px solid #e1e2e5;border-bottom:1px solid #e1e2e5}
.account-language>span{font-size:12px;font-weight:800;text-transform:uppercase;color:#696c73}
.account-language>div{display:flex;gap:9px;margin-top:12px}
.account-language form{flex:1}
.account-language button{width:100%;height:46px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0;background:#f2f3f5!important;color:#555!important;border:1px solid #ddd!important;box-shadow:none!important}
.account-language button.active{background:#292a2e!important;color:#ff851f!important;border-color:#292a2e!important}
.account-language img{width:24px;height:18px;object-fit:cover;border-radius:3px}
.account-actions{display:grid;gap:8px;margin-top:18px}
.account-actions a,.account-actions button{width:100%;height:50px;display:flex;align-items:center;gap:13px;padding:0 15px;border-radius:12px;background:#fff!important;color:#34353a!important;border:1px solid #e0e1e4!important;text-decoration:none;box-shadow:none!important;font:inherit;font-weight:700}
.account-actions a:hover,.account-actions button:hover{background:#292a2e!important;color:#ff851f!important}
.account-actions i{width:22px;color:#ee7416;text-align:center}
.account-actions form{position:static;margin:0}
.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px}
.page-heading h1{margin:5px 0 7px;color:#242529;font-size:30px}
.eyebrow{color:#e76608;font-size:11px;font-weight:900;letter-spacing:.14em}
.module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.module-card{position:relative;grid-template-columns:58px 1fr auto!important;align-items:center;min-height:132px}
.module-card>div{display:grid;gap:6px}
.module-card strong{font-size:17px!important}
.module-card small{color:#777b83!important;line-height:1.4}
.module-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;font-size:21px}
.module-icon.orange{background:#fff0e5;color:#ec6e0e}
.module-icon.green{background:#e5f5ec;color:#238653}
.module-icon.slate{background:#e9ebef;color:#4f5662}
.module-counter{min-width:34px;height:34px;display:grid;place-items:center;padding:0 8px;border-radius:999px;background:#292a2e;color:#ff851f;font-size:13px}
.card-arrow{color:#e76608}
.settings-card{max-width:680px;padding:26px;border:1px solid #d8dbe0;border-radius:18px;background:#fff;box-shadow:0 6px 18px #2021250d}
.password-form{display:grid;gap:18px}
.password-form label{display:grid;gap:8px;font-weight:700;color:#303136}
.password-form button{height:50px}
@media(max-width:900px){.sidebar{position:fixed;inset:0 auto 0 0;height:100dvh;transform:translateX(-100%);width:250px}.sidebar.open{transform:translateX(0)}.shell,.shell.expanded{margin-left:0}.topbar{grid-template-columns:60px 1fr 60px;padding:0 14px}.mobile-menu{display:block}.header-home-link{display:none}.module-grid{grid-template-columns:1fr}.tenant-title small span:first-child{display:none}}

/* Menu de conta em cartão flutuante, conforme a estrutura do painel T-Panel. */
.account-menu{top:14px;right:14px;bottom:auto;width:min(450px,calc(100vw - 28px));padding:0;overflow:hidden;border:1px solid #d9dce1;border-radius:26px;background:#fff;box-shadow:-8px 18px 55px #11182745}
.account-hero{position:relative;display:block;height:216px;padding:24px 28px;background:linear-gradient(135deg,#ff922e 0%,#f47616 50%,#d95000 100%);color:#fff;border:0}
.account-close{top:18px;right:18px;width:44px;height:44px;background:#ffffff29!important;color:#fff!important;border:0!important}
.account-close:hover{background:#ffffff40!important;color:#fff!important}
.account-identity{display:flex;align-items:center;gap:17px;padding-right:58px}
.account-picture{flex:0 0 80px;width:80px;height:80px;margin:0;padding:4px;border:3px solid #fff;background:#292a2e;color:#ff851f;box-shadow:0 7px 20px #96330044}
.account-person{min-width:0;text-align:left}
.account-person strong{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:21px}
.account-person span{color:#fff5eb;text-align:left}
.account-tenant{margin:18px 0 0;padding:17px 0 0;border-top:1px solid #ffffff45;border-radius:0;background:transparent}
.account-tenant small{color:#fff0e2;text-transform:none;font-size:13px;letter-spacing:0}
.account-tenant strong{color:#fff;font-size:16px}
.account-language{display:grid;grid-template-columns:125px 1fr;align-items:center;padding:16px 22px;border-top:0;border-bottom:1px solid #e4e6ea}
.account-language>span{font-size:15px;text-transform:none;letter-spacing:0;color:#667085}
.account-language>div{margin:0;gap:8px}
.account-language form{position:static!important;inset:auto!important;display:block;flex:1;min-width:0;margin:0}
.account-language button{height:40px;padding:0 10px;border-radius:999px!important;background:#fff!important;color:#475467!important}
.account-language button.active{background:#fff!important;color:#e76408!important;border-color:#f47716!important;box-shadow:0 0 0 1px #f4771622!important}
.account-language img{width:23px;height:16px}
.account-actions{gap:2px;margin:0;padding:14px 20px 20px}
.account-actions a,.account-actions button{height:55px;padding:0 10px;border:0!important;background:#fff!important;color:#536079!important;font-size:16px;font-weight:500}
.account-actions a:hover,.account-actions button:hover{background:#f5f6f8!important;color:#25262a!important}
.account-actions i{width:30px;color:#3374d6;font-size:18px}
.account-actions .support-action{color:#21894d!important}
.account-actions .support-action i{color:#20a85a}
.account-actions form:last-child button{color:#c92c35!important}
.account-actions form:last-child i{color:#d72f3a}
@media(max-width:520px){.account-menu{top:8px;right:8px;width:calc(100vw - 16px);border-radius:22px}.account-hero{height:216px;padding:24px 20px}.account-language{grid-template-columns:105px 1fr;padding:14px 16px}.account-language>div{margin:0;gap:5px}.account-language button{padding:0 6px;font-size:13px}.account-language img{width:21px;height:15px}.account-actions{padding:10px 14px 16px}}
@media(max-width:760px){
  .account-menu{position:fixed;top:14px;right:0;bottom:14px;left:auto;width:min(490px,calc(100vw - 14px));max-width:none;height:auto;max-height:calc(100dvh - 28px);padding:0;border-radius:26px 0 0 26px;overflow-x:hidden;overflow-y:auto}
  .account-menu .account-hero{height:215px!important;padding:24px 28px}
  .account-menu .account-language{display:grid;grid-template-columns:125px 1fr;padding:16px 22px}
  .account-menu .account-language>div{display:flex;margin:0;gap:8px}
  .account-menu .account-language form{position:static!important;display:block;flex:1;margin:0}
  .account-menu .account-language button{width:100%;padding:0 8px;font-size:14px}
  .account-menu .account-actions{display:grid;grid-template-columns:1fr;gap:2px;margin:0;padding:14px 20px 20px}
  .account-menu .account-actions a,.account-menu .account-actions button{width:100%;height:55px;justify-content:flex-start;padding:0 10px;text-align:left}
  .account-menu .account-actions form{position:static!important;display:block;width:100%;margin:0}
}
