:root{--ink:#1d2f2e;--nav:#152827;--nav2:#1d3734;--gold:#b59463;--gold2:#d5ba8e;--bg:#f8f6f1;--card:#fffefa;--line:#e7e4da;--muted:#75817c;--red:#b65750;--green:#327660;--shadow:0 15px 40px rgba(31,44,39,.07)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:'DM Sans',Arial,sans-serif;color:var(--ink);font-size:14px}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;letter-spacing:-.025em;margin:0}h1{font-size:37px;font-weight:500}h2{font-size:25px;font-weight:500}h3{font-size:20px;font-weight:500}p{line-height:1.65}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.small{font-size:12px}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:.2em;color:var(--gold);font-weight:700;text-transform:uppercase}.layout{display:flex;min-height:100vh}.sidebar{width:252px;min-width:252px;background:var(--nav);color:#f8f4ea;padding:30px 16px;display:flex;flex-direction:column;gap:28px;box-shadow:5px 0 30px rgba(15,22,21,.08)}.brand{padding:6px 12px 10px;text-align:center}.brand-logo{width:184px;height:96px;object-fit:contain;display:block;margin:0 auto 5px;mix-blend-mode:screen}.brand-fallback{font:500 32px Georgia,serif;letter-spacing:.05em}.brand small{display:block;color:#bbbdaf;letter-spacing:.16em;text-transform:uppercase;font-size:9px}.nav{display:grid;gap:5px}.nav button{width:100%;text-align:left;color:#c5cdc6;border:0;background:none;border-radius:12px;padding:13px 15px;display:flex;align-items:center;gap:12px;font-weight:600}.nav button:hover,.nav button.active{background:var(--nav2);color:#fff}.nav button.active:before{content:'';width:3px;position:absolute;left:0;height:34px;background:var(--gold)}.nav-ico{width:18px;font-size:18px;text-align:center;color:var(--gold2)}.side-bottom{margin-top:auto;border-top:1px solid #35504c;padding:16px 12px;color:#a7b8b0;font-size:11px;line-height:1.8}.content{flex:1;min-width:0}.topbar{height:85px;padding:20px 38px;border-bottom:1px solid var(--line);background:#fffefb;display:flex;align-items:center;justify-content:space-between;gap:15px}.topbar .tag{font-size:11px;color:#789084;letter-spacing:.12em;text-transform:uppercase}.topbar .right{display:flex;align-items:center;gap:12px}.avatar{border-radius:50%;width:38px;height:38px;background:#e4d7c1;color:#6a5333;display:grid;place-items:center;font-weight:800}.main{padding:38px;max-width:1600px;margin:auto}.hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:29px}.hero p{color:var(--muted);margin:8px 0 0}.btn{background:var(--nav);color:#fff;border:1px solid var(--nav);border-radius:12px;padding:12px 17px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:none}.btn:hover{filter:brightness(1.08)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.gold{background:var(--gold);border-color:var(--gold);color:#fff}.btn.soft{background:#fffefb;color:var(--ink);border-color:var(--line)}.btn.danger{background:#fff7f5;color:#9b413c;border-color:#ead2cc}.btn.sm{padding:8px 12px;font-size:12px;border-radius:9px}.btn-row{display:flex;gap:9px;flex-wrap:wrap}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.metric{padding:23px 24px;background:var(--card);border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}.metric .value{font:500 33px 'Playfair Display',serif;margin-top:13px}.metric .sub{font-size:11px;color:var(--muted);margin-top:6px}.grid-main{display:grid;grid-template-columns:1.6fr 1fr;gap:19px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:17px}.card-head{padding:21px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.card-body{padding:23px 24px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#86928b;background:#fafaf7}th,td{padding:14px 18px;border-bottom:1px solid #eeece5}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfaf7}.badge{display:inline-block;padding:6px 9px;font-size:10px;border-radius:999px;background:#eee9dd;color:#75654e;font-weight:700;white-space:nowrap}.badge.green{background:#e4f2ea;color:#2d6d56}.badge.rose{background:#fff0ec;color:#9c514d}.badge.blue{background:#e6eff0;color:#456d71}.field{display:grid;gap:7px}.field label{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#66736a}.field input,.field select,.field textarea{width:100%;min-height:42px;border:1px solid #dadfd7;border-radius:10px;background:#fff;padding:10px 11px;outline:none;color:var(--ink)}.field textarea{min-height:90px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(181,148,99,.14)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.span2{grid-column:1/-1}.section-h{font:500 21px 'Playfair Display',serif;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:17px;margin-top:12px}.summary-list{display:grid;gap:13px}.summary-row{display:flex;justify-content:space-between;gap:15px;font-size:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}.summary-row strong{text-align:right}.note{border-radius:12px;background:#f6f3eb;border:1px solid #e6dbcb;padding:14px;color:#78654b;line-height:1.55;font-size:12px}.callout{border-radius:12px;background:#edf5f0;border:1px solid #c9dfd0;padding:14px;color:#35614d;line-height:1.55;font-size:12px}.empty{padding:38px;color:var(--muted);text-align:center}.empty .glyph{font-size:32px;margin-bottom:12px;color:var(--gold)}.login-bg{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:var(--nav)}.login-art{background:linear-gradient(150deg,#132b28,#254840);padding:8vw;display:flex;flex-direction:column;justify-content:space-between;color:#fff;position:relative;overflow:hidden}.login-art:after{content:'G';font:normal 520px Georgia,serif;position:absolute;right:-45px;bottom:-130px;opacity:.055;pointer-events:none}.login-art h1{font-size:52px;line-height:1.14;max-width:540px}.login-art p{color:#bdd0c4;max-width:400px}.login-box{background:#faf8f3;display:flex;align-items:center;justify-content:center;padding:40px}.login-inner{max-width:370px;width:100%}.login-inner h2{font-size:34px;margin:10px 0}.login-inner p{color:var(--muted);margin-bottom:27px}.login-inner .btn{width:100%}.chip{border-radius:999px;border:1px solid var(--line);padding:7px 12px;color:#697a73;font-size:11px;background:#fff}.calendar-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.day-name{padding:12px 6px;background:#f0f0ea;color:#7f877f;font-weight:800;letter-spacing:.07em;font-size:10px;text-align:center}.day-cell{min-height:107px;border:1px solid #f0eee7;padding:8px;overflow:hidden}.day-cell.dim{background:#f8f8f5;color:#adb4aa}.day-n{font-size:11px;font-weight:800;margin:2px 0 8px}.day-event{background:#e9f0eb;border-left:3px solid #6b9b82;color:#35534a;padding:5px;border-radius:4px;margin:4px 0;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-event.freela{background:#f6efdf;border-color:var(--gold)}.day-event.free{background:#f5f5f3;border-color:#c8c8bf}.loading-screen{height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--muted);gap:10px}.loader{width:26px;height:26px;border:3px solid #e3e4df;border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:22px;right:22px;background:#1a3430;color:#fff;padding:14px 18px;border-radius:12px;box-shadow:0 10px 30px #0002;z-index:100;display:none;max-width:370px}.toast.error{background:#a14b45}.modal-back{position:fixed;inset:0;background:#101f1bc4;display:flex;align-items:center;justify-content:center;padding:20px;z-index:80}.modal{background:#fffefa;border-radius:20px;padding:28px;max-width:630px;width:100%;box-shadow:0 30px 90px #0003;max-height:90vh;overflow:auto}.linkbox{padding:12px;background:#f3f4f0;border-radius:10px;overflow-wrap:anywhere;border:1px solid var(--line);font-size:12px}.form-shell{min-height:100vh;background:#eeeae2;padding:28px 14px}.form-wrap{max-width:800px;margin:0 auto}.form-header{text-align:center;padding:36px 20px 31px;color:#fff;background:linear-gradient(135deg,#142d2a,#35544a);border-radius:22px 22px 0 0}.form-header h1{font-size:37px;margin-top:8px}.form-header p{max-width:490px;margin:12px auto;color:#e8e7dc}.form-card{background:#fffefa;padding:35px;border-radius:0 0 22px 22px;box-shadow:var(--shadow)}.form-footer{text-align:center;color:#7d8077;padding:25px;font-size:12px}.divider{border-top:1px solid var(--line);margin:20px 0}.pill-btn{padding:5px 12px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:8px}.pill-btn:hover{background:#f3f0ea}.row-between{display:flex;justify-content:space-between;align-items:center;gap:10px}.secure{display:flex;gap:9px;align-items:center;color:#72917a;font-size:11px;margin-top:13px}.mobile-toggle{display:none}.help{font-size:11px;color:#819089;margin:5px 0 0}.logo-public{max-width:198px;max-height:105px;object-fit:contain;mix-blend-mode:screen}
@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-main{grid-template-columns:1fr}.sidebar{width:215px;min-width:215px}.main{padding:25px}.topbar{padding:20px 25px}}@media(max-width:760px){.layout{display:block}.sidebar{width:100%;min-width:0;padding:14px;display:none}.sidebar.open{display:flex}.content{width:100%}.mobile-toggle{display:block}.topbar{height:66px;padding:10px 16px}.main{padding:18px}.hero{align-items:flex-start;flex-direction:column}.hero h1{font-size:30px}.metrics{gap:10px}.metric{padding:15px}.metric .value{font-size:28px}.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.card-head,.card-body{padding:17px}.day-cell{min-height:77px;padding:4px}.day-event{font-size:8px;padding:3px}.day-name{font-size:8px}.login-bg{grid-template-columns:1fr}.login-art{min-height:250px;padding:30px}.login-art h1{font-size:32px}.login-box{padding:35px 20px}.form-card{padding:20px}.form-header{padding:25px 15px}.form-header h1{font-size:29px}}

/* ============================================================================
   GIANLUCA — PREMIUM DESIGN SYSTEM v1.4
   Camada visual sobre os estilos existentes: não altera regras nem integrações.
   ============================================================================ */
:root{
 --ink:#203330; --nav:#112925; --nav2:#1f3933; --gold:#ba9869;
 --gold2:#e2cb9f; --bg:#f7f5f0; --card:#fffefa; --line:#e9e5dc;
 --muted:#75857d; --red:#a34b48; --green:#377d65;
 --shadow:0 11px 31px rgba(37,49,43,.065),0 2px 7px rgba(37,49,43,.025);
 --shadow-hover:0 23px 55px rgba(37,49,43,.11),0 4px 12px rgba(37,49,43,.04);
 --ease:cubic-bezier(.2,.75,.3,1);
}
html{scroll-behavior:smooth;scrollbar-gutter:stable}
body{background:var(--bg);background-image:radial-gradient(ellipse at 90% 0%,rgba(224,207,177,.12),transparent 40%);color:var(--ink);-webkit-font-smoothing:antialiased}
button,input,textarea,select{font-family:'DM Sans',Arial,sans-serif}
button,a,input,textarea,select{transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease,transform .2s var(--ease)}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #be9966;outline-offset:3px}
::selection{background:#e9d8b5;color:#1c332e}

/* BARRAS DE ROLAGEM PREMIUM — Firefox + Chromium/Safari */
*,*::before,*::after{scrollbar-width:thin;scrollbar-color:#bdab91 #f1eee7}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#f1eee7;border-radius:20px}
::-webkit-scrollbar-thumb{border:2px solid #f1eee7;border-radius:20px;background:linear-gradient(180deg,#cdb997 0%,#a88960 100%);min-height:40px}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#b89969,#8b6e4b)}
::-webkit-scrollbar-corner{background:#f1eee7}
.sidebar,.login-art{scrollbar-width:thin;scrollbar-color:#6b806e #132b27}
.sidebar::-webkit-scrollbar,.login-art::-webkit-scrollbar{width:7px}
.sidebar::-webkit-scrollbar-track,.login-art::-webkit-scrollbar-track{background:#142b27}
.sidebar::-webkit-scrollbar-thumb,.login-art::-webkit-scrollbar-thumb{background:#677d6c;border:1px solid #142b27;border-radius:20px}
.sidebar::-webkit-scrollbar-thumb:hover{background:#d3b585}
.table-scroll,.modal,.form-card{scrollbar-color:#c9b391 #f9f6ef}
.table-scroll::-webkit-scrollbar,.modal::-webkit-scrollbar{width:8px;height:8px}
.table-scroll::-webkit-scrollbar-track,.modal::-webkit-scrollbar-track{background:#f9f6ef}
.table-scroll::-webkit-scrollbar-thumb,.modal::-webkit-scrollbar-thumb{background:#c8b397;border:2px solid #f9f6ef;border-radius:16px}

/* ESTRUTURA, SIDEBAR E LOGOTIPO */
.layout{min-height:100dvh}
.sidebar{width:270px;min-width:270px;position:sticky;top:0;height:100dvh;overflow-y:auto;overflow-x:hidden;gap:0;padding:28px 17px 22px;
 background:linear-gradient(160deg,#152e29 0%,#112823 55%,#0e2420 100%);box-shadow:inset -1px 0 0 rgba(230,220,184,.08),9px 0 30px rgba(23,40,34,.05)}
.brand{padding:0 6px 18px;position:relative;text-align:center}
.brand-overline{font-size:9px;letter-spacing:.23em;color:#a8baa7;font-weight:700;margin:0 0 17px;white-space:nowrap}
.brand-spark{font-size:11px;color:#d1b381;vertical-align:middle;letter-spacing:0;margin:0 5px}
.brand-plate{position:relative;display:flex;align-items:center;justify-content:center;min-height:102px;padding:16px 12px;margin:0 auto 17px;
 background:linear-gradient(150deg,#fffdfa,#f2ecdf);border:1px solid #e8d9ba;border-radius:15px;box-shadow:0 9px 25px rgba(5,19,14,.24),inset 0 1px 0 rgba(255,255,255,.95)}
.brand-plate::before{content:'';position:absolute;inset:5px;border:1px solid rgba(175,140,90,.3);border-radius:11px;pointer-events:none}
.brand-plate::after{content:'✦';position:absolute;bottom:-11px;left:calc(50% - 12px);height:22px;width:24px;display:grid;place-items:center;
 font-size:12px;color:#ceb17c;background:#142c27}
.brand .brand-logo{display:block;width:100%;max-width:200px;height:auto;max-height:65px;object-fit:contain;margin:0;mix-blend-mode:multiply}
.brand-caption{font-size:9px;letter-spacing:.18em;font-weight:700;color:#d2c5a5;margin-top:5px}
.brand-caption span{color:#a18b69;margin:0 4px}
.sidebar-group-title{font-size:9px;font-weight:700;letter-spacing:.2em;color:#829b90;margin:27px 14px 12px}
.nav{display:grid;gap:6px}
.nav button{position:relative;min-height:49px;width:100%;border:1px solid transparent;border-radius:12px;padding:12px 13px;
 display:flex;gap:13px;align-items:center;color:#cbd8cf;background:transparent;letter-spacing:.012em;font-weight:600;font-size:12.5px}
.nav button:hover{background:rgba(239,231,210,.085);color:#fff;transform:translateX(2px)}
.nav button.active{background:linear-gradient(105deg,rgba(209,180,123,.19),rgba(190,177,140,.045));color:#fff;
 border-color:rgba(224,190,129,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.nav button.active::before{content:'';position:absolute;left:0;top:10px;bottom:10px;width:3px;height:auto;border-radius:0 4px 4px 0;background:#dfc38e;box-shadow:0 0 16px rgba(208,181,119,.3)}
.nav .nav-ico{flex:0 0 22px;display:flex;align-items:center;justify-content:center;color:#cfb885;width:22px}
.nav button.active .nav-ico{color:#efd4a0}
.nav-label{flex:1;text-align:left}.nav-current{color:#ddb67e;font-size:14px;line-height:1}
.side-bottom{margin-top:auto;border-top:1px solid rgba(226,214,178,.12);padding:20px 0 0;font-size:12px}
.side-bottom-card{display:flex;align-items:center;gap:10px;padding:13px;background:rgba(255,255,255,.055);border:1px solid rgba(230,220,180,.1);border-radius:13px}
.side-shield{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:#d4bf94;background:rgba(213,185,132,.12);flex:none}
.side-bottom-card strong{font-size:11px;color:#ecedde;display:block}.side-bottom-card small{display:block;color:#93a99e;font-size:10px;margin-top:2px}
.side-logout{width:100%;display:flex;align-items:center;gap:10px;margin-top:10px;border:0;border-radius:11px;padding:11px 12px;
 background:transparent;color:#b7c8bd;font-size:11px;font-weight:700}
.side-logout span{flex:1;text-align:left}.side-logout:hover{background:rgba(255,255,255,.08);color:#fff}
.sidebar-version{margin-top:18px;text-align:center;font-size:8px;color:#799487;letter-spacing:.13em}.sidebar-version span{color:#bea170}
.mobile-backdrop{display:none}

/* TOPO */
.content{display:flex;flex-direction:column;min-width:0;min-height:100dvh}
.topbar{height:83px;min-height:83px;background:rgba(255,254,250,.94);border-bottom:1px solid #e9e4da;
 padding:14px clamp(24px,3vw,51px);box-shadow:0 3px 18px rgba(44,53,46,.025)}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:16px}
.top-kicker{font-size:9px;font-weight:700;letter-spacing:.16em;color:#ad9873;text-transform:uppercase;line-height:1.5}
.top-kicker span{margin:0 8px;color:#d6c7ae}
.top-date{font-size:12px;font-weight:600;color:#5a7067;margin-top:6px;text-transform:capitalize}
.top-status{font-size:10px;border:1px solid #e7e8de;border-radius:30px;color:#557362;font-weight:700;white-space:nowrap;padding:9px 13px;background:#f9faf5}
.status-dot{display:inline-block;width:6px;height:6px;background:#3d9172;border-radius:50%;margin-right:7px;box-shadow:0 0 0 3px rgba(78,160,117,.12)}
.top-avatar{width:39px;height:39px;display:grid;place-items:center;border-radius:13px;font-family:'Playfair Display',serif;font-weight:600;font-size:19px;
 background:linear-gradient(135deg,#e9d8bc,#cbb080);border:1px solid #dec8a4;color:#4b4534;box-shadow:0 5px 12px rgba(103,81,53,.08)}
.top-menu{display:none;align-items:center;justify-content:center;width:38px;height:38px;background:#f8f5ee;border:1px solid #e9e1d5;border-radius:11px;color:#29483d}
.main{width:100%;max-width:1530px;padding:clamp(24px,2.6vw,42px) clamp(22px,3.6vw,55px) 34px;flex:1}
.main-footer{margin:8px clamp(22px,3.6vw,55px) 0;display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid #e5e3da;padding:19px 0 23px;font-size:10px;color:#98a199}
.footer-star{color:#b59767;margin-left:4px}

/* HERO PRINCIPAL */
.hero{padding:23px 0 27px;margin:0 0 23px;min-height:100px}
.hero h1{font-size:clamp(29px,2.65vw,42px);line-height:1.15;font-weight:500;letter-spacing:-.043em;color:#1c332d}
.hero p{font-size:13px;color:#77877b;max-width:640px;margin:9px 0 0}
.hero .eyebrow{margin-bottom:11px}
.hero-dashboard{position:relative;isolation:isolate;overflow:hidden;min-height:202px;border-radius:20px;padding:30px 38px;margin-bottom:29px;
 display:flex;align-items:center;gap:30px;border:1px solid #e4dbce;
 background:linear-gradient(105deg,#faf5e9 0%,#f8f4eb 58%,#efe9dd 100%);
 box-shadow:0 13px 36px rgba(62,56,41,.045)}
.hero-dashboard::before{content:'';position:absolute;right:-90px;top:-148px;width:430px;height:430px;border:1px solid rgba(172,138,86,.18);border-radius:50%;z-index:-1;box-shadow:0 0 0 26px rgba(172,138,86,.035),0 0 0 75px rgba(172,138,86,.028),0 0 0 133px rgba(172,138,86,.018)}
.hero-copy{flex:1;position:relative;z-index:1}
.hero-eyebrow{display:flex;gap:8px;align-items:center}
.hero-dot{width:6px;height:6px;background:#c6a672;border-radius:50%}
.hero-period{color:#c19b65}
.hero-dashboard h1{font-size:clamp(35px,3.05vw,49px)}
.hero-dashboard p{max-width:540px;color:#63796b;line-height:1.6}
.hero-footnote{display:flex;align-items:center;gap:7px;color:#ac936d;font-size:10px;letter-spacing:.035em;font-weight:600;margin-top:17px}
.hero-action{position:relative;z-index:1;flex:none;white-space:nowrap}
.hero-ornament{position:absolute;right:29px;bottom:12px;color:rgba(164,128,78,.21);font-size:48px;line-height:1}
.section-header{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px}
.section-header h2{font-size:24px;font-weight:500;letter-spacing:-.035em;margin-top:4px}
.section-caption{color:#8c9a8e;font-size:11px}
.section-header-lower{margin:28px 0 15px}

/* KPIs */
.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:0}
.metric{position:relative;min-height:173px;overflow:hidden;border-radius:17px;padding:23px 22px 19px;border:1px solid #e8e4db;
 background:linear-gradient(165deg,#fffefa,#fcfbf7);box-shadow:var(--shadow);transition:transform .25s var(--ease),box-shadow .25s ease,border-color .2s ease}
.metric::before{content:'';position:absolute;left:22px;top:0;width:54px;height:3px;background:var(--metric-accent,#c3a780);border-radius:0 0 3px 3px}
.metric:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:#dcd1bc}
.metric-sand{--metric-accent:#c1a16d;--metric-bg:#f7f0e5;--metric-ink:#a47d49}
.metric-blue{--metric-accent:#8caeb5;--metric-bg:#eaf3f2;--metric-ink:#4c8185}
.metric-violet{--metric-accent:#b4a5b1;--metric-bg:#f5eef3;--metric-ink:#8e708b}
.metric-green{--metric-accent:#8aaa92;--metric-bg:#eaf3ed;--metric-ink:#56806b}
.metric-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.metric-eyebrow{color:#8c958d;font-size:10px;text-transform:uppercase;letter-spacing:.11em;font-weight:700;line-height:1.5}
.metric-icon{width:37px;height:37px;border-radius:12px;display:grid;place-items:center;background:var(--metric-bg);color:var(--metric-ink);flex:none}
.metric-value{font-family:'Playfair Display',Georgia,serif;font-size:41px;line-height:1.05;margin:16px 0 9px;color:#1f3931;font-weight:600}
.metric-bottom{font-size:11px;color:#8b998e}

/* PAINÉIS E TABELAS */
.grid-main{grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:20px}
.card{border-radius:18px;border:1px solid #e9e5db;background:#fffefa;box-shadow:var(--shadow);margin-bottom:18px}
.dashboard-card{min-height:274px}
.card-head{min-height:76px;padding:20px 23px;border-bottom:1px solid #eeeae1}
.card-head h3{font-size:19px;font-weight:500;letter-spacing:-.02em}
.card-title-wrap{display:flex;align-items:center;gap:11px}
.card-heading-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#f4eee2;color:#a4875d}
.card-eyebrow{color:#a8a392;letter-spacing:.12em;font-size:8px;font-weight:700;margin-bottom:4px}
.header-count{padding:6px 10px;border-radius:9px;background:#f6f4ef;color:#7f9384;font-size:10px;font-weight:700;white-space:nowrap}
.card-body{padding:23px}
.pill-btn{border-radius:9px;padding:8px 12px;display:inline-flex;gap:8px;align-items:center;justify-content:center;color:#5d7065;font-size:11px;font-weight:600;min-height:34px}
.pill-btn:hover{background:#f9f3e8;border-color:#e5d4b8;color:#806640}
.table-scroll{overflow:auto}
table{font-size:12px}th{background:#fcfaf6;color:#939c92;font-size:9px;letter-spacing:.13em;font-weight:700}
th,td{padding:16px 19px;border-bottom:1px solid #f0ece5}
tbody tr:hover{background:#fdfaf4}
td strong{font-weight:700;color:#244236}
.badge{padding:7px 10px;font-weight:700;letter-spacing:.015em}
.empty{padding:37px 24px 40px;text-align:center;color:#8a9a90}
.empty-symbol{width:64px;height:64px;display:grid;place-items:center;margin:0 auto 15px;border-radius:19px;
 background:linear-gradient(135deg,#f9f3e8,#f4ede1);border:1px solid #ede1cf;box-shadow:inset 0 1px 0 #fff;color:#af9062}
.empty h4{margin:0 0 6px;font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:19px;color:#334a3d}
.empty p{max-width:360px;font-size:11px;margin:0 auto;line-height:1.7;color:#8b998f}
.empty-contracts{padding:44px 24px 48px}
.empty-calendar{padding:20px 8px 22px}
.empty-calendar .empty-symbol{width:56px;height:56px}
.empty-calendar h4{font-size:18px}
.event-list{padding:18px 21px 20px}
.upcoming-item{display:flex;align-items:center;gap:13px;padding:12px 0;border-bottom:1px solid #eeece6}
.upcoming-item:first-child{padding-top:2px}
.upcoming-date{width:48px;height:49px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:11px;
 background:#f5efe3;border:1px solid #eadfcb;flex:none}
.upcoming-date strong{font-family:'Playfair Display',serif;color:#7a6342;font-size:19px;line-height:1.05}
.upcoming-date span{font-size:9px;text-transform:uppercase;color:#a08258;font-weight:700}
.upcoming-copy{min-width:0;flex:1}.upcoming-copy strong{display:block;font-size:12px;color:#294337;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.upcoming-copy small{display:block;color:#88998d;font-size:10px;margin-top:5px}
.event-dot{margin:0 3px}.upcoming-arrow{color:#c0aa86}
.open-calendar{margin-top:14px;gap:8px!important}

/* BOTÕES E CAMPOS */
.btn{border-radius:11px;min-height:41px;padding:11px 16px;gap:9px;font-weight:700;font-size:12px;box-shadow:none}
.btn.gold{background:linear-gradient(115deg,#c1a06f,#af8a55);border-color:#b39667;color:#fff;box-shadow:0 6px 14px rgba(165,129,78,.16)}
.btn.gold:hover{background:linear-gradient(115deg,#cbab79,#ac8754);box-shadow:0 10px 20px rgba(165,129,78,.24);transform:translateY(-1px);filter:none}
.btn.soft{background:#fffefa;border-color:#e7e1d7;color:#536d5d}
.btn.soft:hover{background:#faf6ef;color:#846f51;border-color:#e7d8c1;filter:none}
.btn.danger:hover{background:#faeae6;filter:none}
.btn:disabled{transform:none!important;box-shadow:none!important}
.btn.sm{font-size:11px;min-height:34px}
.field label{color:#687b6f;font-size:10px;letter-spacing:.065em}
.field input,.field select,.field textarea{min-height:46px;border-color:#dddcd3;border-radius:10px;background:#fffefa;color:#254236;padding:12px 13px;
 box-shadow:inset 0 1px 1px rgba(48,64,50,.012)}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#cdbca3}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#c5a677;box-shadow:0 0 0 3px rgba(197,166,119,.14);outline:0}
.field input::placeholder,.field textarea::placeholder{color:#a8b0a6}
input[type="checkbox"]{accent-color:#ac8c5f}
.field textarea{min-height:104px}
.section-h{color:#2a4237;margin-top:20px;font-size:22px;border-color:#ece5db}
.summary-row{font-size:12px;align-items:center}
.summary-row strong{color:#30493b}
.note{background:#faf7f0;border-color:#ecdfca;color:#7d725f}
.callout{background:#edf6ef;border-color:#d3e3d7;color:#356750}

/* CALENDÁRIO */
.calendar-header{gap:16px;margin-bottom:18px}
.month-grid{border-radius:16px;border-color:#e9e3d6;background:#fffefa;box-shadow:var(--shadow)}
.day-name{padding:14px 6px;background:linear-gradient(180deg,#f5f3ed,#f0ede5);color:#728678;font-size:9px}
.day-cell{position:relative;min-height:114px;border:1px solid #f1ede6;padding:10px;background:#fffefa;transition:background-color .2s}
.day-cell:not(.dim):hover{background:#fbf7ee}
.day-cell.dim{background:#faf9f5;color:#b5bcb4}
.day-n{font-size:11px;color:#677d6e;margin:0 0 10px}
.day-event{border-radius:6px;font-size:10px;padding:6px 7px;margin:4px 0;border-left:3px solid #77a28b;background:#e9f2ec}
.day-event.freela{background:#f8f0df;border-color:#cda76e;color:#876c46}
.day-event.free{background:#f5f5f1;border-color:#cbd2c7;color:#8b948b}

/* LOGIN EDITORIAL PREMIUM */
.login-bg{min-height:100dvh;grid-template-columns:minmax(0,1.05fr) minmax(410px,.95fr);background:#f9f7f1}
.login-art{background:linear-gradient(151deg,#15372e 0%,#173b32 34%,#102820 100%);padding:clamp(36px,5.5vw,90px);position:relative;min-height:100dvh;isolation:isolate}
.login-art::before{content:'';position:absolute;inset:0;z-index:-1;opacity:.15;background:repeating-linear-gradient(155deg,transparent 0 70px,rgba(242,229,190,.08) 71px 72px,transparent 73px 110px)}
.login-art::after{content:'';font-size:0;width:330px;height:500px;right:-80px;bottom:-155px;opacity:.32;border:1px solid #779482;
 border-radius:50% 50% 0 0;box-shadow:0 0 0 30px rgba(123,157,126,.07),0 0 0 80px rgba(151,172,129,.065),0 0 0 137px rgba(154,178,134,.04)}
.login-mark{display:flex;align-items:center;justify-content:center;max-width:225px;padding:15px;background:linear-gradient(130deg,#fffcf5,#f0e9dd);border:1px solid #eadac0;border-radius:14px;box-shadow:0 12px 28px rgba(0,0,0,.15);margin-bottom:clamp(55px,10vh,125px)}
.login-mark img{display:block;width:100%;height:auto;mix-blend-mode:multiply}
.login-eyebrow{font-size:10px;letter-spacing:.24em;font-weight:700;color:#d8bb82;margin-bottom:23px}
.login-art h1{font-size:clamp(42px,4.3vw,67px);line-height:1.12;letter-spacing:-.045em;font-weight:500;margin:0;max-width:550px}
.login-art h1 em{font-style:italic;color:#e1c38d;font-weight:500}
.login-art p{font-size:14px;line-height:1.85;max-width:420px;color:#c2d3c7;margin-top:25px}
.login-art-bottom{font-size:9px;color:#9fb5a4;letter-spacing:.18em;font-weight:700}
.login-art-bottom .login-decor{color:#dcc18d;font-size:13px;margin-right:7px}
.login-art-bottom span:not(.login-decor){margin:0 5px;color:#ddbe8f}
.login-box{padding:50px 36px;background:radial-gradient(ellipse at 85% 12%,rgba(228,215,192,.28),transparent 50%),#f9f7f1}
.login-inner{max-width:413px}
.login-badge{display:inline-flex;gap:8px;align-items:center;background:#f1e8d7;color:#93754c;border:1px solid #e9d9bf;
 font-size:9px;letter-spacing:.11em;font-weight:700;padding:9px 11px;border-radius:9px;margin-bottom:22px}
.login-inner h2{font-size:clamp(32px,3.1vw,43px);line-height:1.2;font-weight:500;margin:0 0 15px;color:#213b30}
.login-inner>p{font-size:13px;line-height:1.9;color:#7f8e81;margin:0 0 33px}
.login-opt{margin-top:13px;font-size:11px;color:#8c9b8f}
.login-opt span{display:inline-flex;align-items:center;gap:5px}
.show-pass{display:inline-flex;align-items:center;gap:7px;cursor:pointer}
.show-pass input{margin:0}
.login-submit{width:100%;min-height:51px;margin-top:27px;justify-content:center;font-size:13px}
.login-security{display:flex;align-items:center;gap:8px;color:#718f7b;font-size:11px;margin-top:21px;line-height:1.4}
.login-smallbrand{text-align:center;color:#a2a799;letter-spacing:.13em;font-size:9px;font-weight:700;margin-top:70px}
.login-smallbrand span{color:#b49b77}

/* DETALHES DE EXPERIÊNCIA */
.toast{border-radius:12px;padding:15px 19px;box-shadow:0 15px 36px rgba(27,41,31,.19);border:1px solid rgba(255,255,255,.12)}
.modal-back{backdrop-filter:blur(5px)}
.modal{border-radius:18px;border:1px solid #e8e0d3;box-shadow:0 30px 90px rgba(10,35,26,.24)}
.loading-screen .loader{width:34px;height:34px;border-width:3px}

@media(max-width:1180px){
 .sidebar{width:245px;min-width:245px}
 .main{padding:28px}
 .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .grid-main{grid-template-columns:1fr}
 .hero-dashboard{padding:27px}
 .hero-ornament{display:none}
}
@media(max-width:760px){
 html{scrollbar-gutter:auto}
 .layout{display:block}
 .sidebar{position:fixed;left:0;top:0;bottom:0;width:min(300px,86vw);min-width:0;height:100dvh;display:flex;z-index:105;
  transform:translateX(-105%);transition:transform .25s var(--ease);box-shadow:18px 0 56px rgba(10,25,19,.25)}
 .sidebar.open{transform:translateX(0)}
 .mobile-backdrop.show{display:block;position:fixed;inset:0;background:rgba(13,32,25,.52);z-index:104;backdrop-filter:blur(2px)}
 .topbar{height:71px;min-height:71px;padding:11px 18px}
 .top-menu{display:inline-flex}
 .top-kicker{font-size:8px}.top-date{font-size:10px}
 .top-status{display:none}
 .top-avatar{width:34px;height:34px}
 .main{padding:20px 16px 26px}
 .hero{padding:17px 0 22px}
 .hero-dashboard{padding:25px 23px;min-height:0;align-items:flex-start;flex-direction:column;gap:18px}
 .hero-dashboard h1{font-size:36px}
 .hero-action{width:100%}
 .hero-footnote{font-size:9px}
 .section-header{align-items:flex-start;flex-direction:column;gap:4px}
 .section-header h2{font-size:22px}
 .section-caption{font-size:10px}
 .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .metric{min-height:151px;padding:17px 14px}
 .metric-eyebrow{font-size:9px}.metric-icon{width:29px;height:29px;border-radius:9px}.metric-icon svg{width:17px;height:17px}
 .metric-value{font-size:34px;margin:13px 0 6px}.metric-bottom{font-size:10px}
 .section-header-lower{margin-top:23px}
 .card-head{padding:16px;min-height:68px}.card-body{padding:17px}
 .event-list{padding:14px 17px}
 .day-cell{min-height:84px;padding:5px}.day-event{font-size:8px;padding:4px}.day-name{font-size:8px;padding:9px 2px}
 .main-footer{margin:0 16px;flex-wrap:wrap;font-size:9px}
 .login-bg{grid-template-columns:1fr;min-height:100dvh}
 .login-art{min-height:310px;padding:33px 27px;gap:25px}
 .login-mark{max-width:180px;margin-bottom:30px}
 .login-art h1{font-size:35px}.login-art p{font-size:12px;margin-top:13px}
 .login-box{padding:37px 23px 55px}
 .login-inner{max-width:420px}.login-inner h2{font-size:34px}.login-smallbrand{margin-top:40px}
}
@media(max-width:420px){
 .hero-dashboard h1{font-size:32px}
 .metrics{grid-template-columns:1fr 1fr}
 .metric{padding:15px 12px;min-height:146px}
 .metric-eyebrow{letter-spacing:.04em}
 .metric-bottom{font-size:9px}
 .card-head h3{font-size:17px}
 .card-title-wrap{gap:7px}
 .card-heading-icon{width:33px;height:33px}
 .pill-btn{padding:7px 8px;font-size:10px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
