:root{--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--control-height:46px;--pine:#123f3c;--pine-deep:#0c302e;--teal:#087b6c;--teal-hover:#066355;--ink:#18343d;--muted:#526772;--line:#dce4e7;--canvas:#f5f7f8;--soft:#e8f3ef;--white:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0}a{color:var(--teal);text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #bd751c;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1{font-size:36px;line-height:1.2;letter-spacing:-1.2px;margin-bottom:12px}h2{font-size:22px;line-height:1.3;letter-spacing:-.4px}img{max-width:100%;height:auto}svg{flex-shrink:0}button[hidden]{display:none!important}.skip-link{position:fixed;left:16px;top:-100px;z-index:100;background:#fff;padding:12px;border-radius:8px}.skip-link:focus{top:16px}.eyebrow{display:block;color:var(--teal);font-size:11px;font-weight:750;letter-spacing:2px;margin-bottom:16px}.muted,.intro{color:var(--muted)}.intro{font-size:17px;line-height:1.6;margin-bottom:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-md);min-height:var(--control-height);background:var(--teal);color:white;border:0;border-radius:9px;padding:12px 20px;font-weight:650;line-height:1.25}.button:hover{background:var(--teal-hover)}.login-page{min-height:100dvh;background:linear-gradient(100deg,rgba(9,42,35,.62),rgba(9,35,31,.72)),url('vinha.jpg') center/cover fixed}.login-layout{min-height:calc(100dvh - 70px);max-width:1216px;padding:64px 56px;margin:auto;display:grid;grid-template-columns:1fr 440px;gap:100px;align-items:center}.login-brand{color:white;text-align:center}.login-brand img{width:320px;display:block;margin:0 auto 30px}.brand-line{width:40px;height:1px;background:#ffffff7a;margin:0 auto 26px}.login-brand p{font-size:26px;font-weight:400;letter-spacing:.2px;line-height:1.5}.login-card{background:#fff;border:1px solid #ffffff90;border-radius:18px;padding:42px 38px;box-shadow:0 24px 70px #06291f33}.login-card h1{font-size:34px;margin-top:18px;margin-bottom:10px}.login-card>.muted{font-size:15px;margin-bottom:30px}.login-card label:not(.checkbox){display:block;font-size:14px;font-weight:600;margin:20px 0 8px}.login-card input[type=text],.login-card input[type=password]{width:100%;height:50px;border:1px solid #a5b5ba;border-radius:8px;padding:12px;background:#fff;color:var(--ink)}.password-field{position:relative}.password-field input{padding-right:80px!important}.password-toggle{position:absolute;right:8px;top:5px;bottom:5px;border:0;background:transparent;color:var(--teal);font-size:12px;font-weight:650;padding:5px}.login-options{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px 0 26px;font-size:12px}.checkbox{display:flex;align-items:center;gap:7px;cursor:pointer;min-height:32px}.checkbox input{accent-color:var(--teal);width:16px;height:16px;margin:0}.login-options a{text-decoration:underline;text-underline-offset:3px}.login-submit{width:100%;justify-content:space-between}.login-private{font-size:11px;text-align:center;color:var(--muted);margin:24px 0 0}.login-footer{color:#fff;display:flex;justify-content:space-between;padding:20px 40px;font-size:12px}.error{background:#fff1ed;border:1px solid #d49e8b;color:#882f1c;padding:12px;border-radius:8px;font-size:14px}.app-shell{display:flex;min-height:100dvh}.sidebar{background:var(--pine);width:260px;position:fixed;inset:0 auto 0 0;color:#fff;padding:28px 18px;display:flex;flex-direction:column;z-index:20}.sidebar-brand{display:block;padding:0 27px}.sidebar-brand img{display:block;width:178px;margin:auto}.app-name{text-align:center;font-size:21px;font-weight:650;letter-spacing:.5px;margin:10px 0 44px}.app-name span{display:block;font-size:9px;letter-spacing:2px;color:#b8d2cf;margin-top:8px}.nav-caption{font-size:10px;font-weight:650;letter-spacing:2px;color:#b8d2cf;margin:0 16px 16px}.sidebar nav{display:grid;gap:var(--space-sm);min-height:0;flex:1;overflow-y:auto;align-content:start}.sidebar-brand,.app-name,.nav-caption,.sidebar-footer{flex-shrink:0}.sidebar nav a{display:flex;align-items:center;gap:14px;min-height:52px;padding:12px 16px;color:#d3e3e1;border-radius:9px;font-weight:550}.sidebar nav a:hover{background:#20534f}.sidebar nav a[aria-current]{background:#28655e;color:white}.sidebar-footer{margin-top:auto;padding:28px 10px 0;text-align:center;font-size:11px;color:#b8d2cf}.workspace{margin-left:260px;flex:1;min-width:0;background:var(--canvas)}.topbar{height:80px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px;gap:20px}.topbar-left,.account{display:flex;align-items:center;gap:14px}.company-mark{display:grid;place-items:center;width:38px;height:38px;background:var(--soft);color:var(--teal);border-radius:9px;font-weight:700}.topbar strong{font-size:15px}.account{font-size:13px}.user-name{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout{color:var(--ink);padding:10px;border-left:1px solid var(--line)}.logout span{margin-left:10px}.menu-toggle{display:none;background:white;border:1px solid var(--line);border-radius:6px;padding:7px 10px;color:var(--ink)}.content{max-width:1640px;margin:0 auto;padding:44px 40px 64px}.breadcrumb{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:28px}.breadcrumb a{color:var(--muted)}.breadcrumb a:hover{text-decoration:underline}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-xl);margin-bottom:var(--space-xl)}.page-heading>div:first-child{min-width:0;flex:1}.page-heading>.button{flex-shrink:0}.page-heading .intro,.page-heading>div>p:last-child{margin-bottom:0}.page-heading .outline-badge{margin-top:30px}.outline-badge{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:11px;font-weight:600;color:var(--muted);border:1px solid var(--line);background:#fff;border-radius:30px;padding:6px 11px}.outline-badge:before{content:"";width:5px;height:5px;background:#a26b25;border-radius:50%}.process-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,420px));gap:24px}.process-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;color:var(--ink);transition:box-shadow .15s,transform .15s}.process-card:hover{box-shadow:0 10px 28px #153e3812;transform:translateY(-2px)}.process-picture{height:200px;background:linear-gradient(0deg,#0b332ee0,#0b332e26),url('vinha.jpg') center/cover;position:relative;display:flex;align-items:flex-end;justify-content:space-between;padding:24px;color:#fff}.process-symbol{display:grid;place-items:center;width:56px;height:56px;border:1px solid #ffffff70;border-radius:12px;background:#ffffff15}.process-symbol svg{width:30px;height:30px}.picture-label{font-size:10px;letter-spacing:2px}.process-copy{padding:28px}.process-copy .eyebrow{font-size:10px;margin-bottom:12px}.process-copy h2{font-size:28px;margin-bottom:12px}.process-copy p{font-size:15px;color:var(--muted);line-height:1.65;margin-bottom:28px}.card-action{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:20px;color:var(--teal);font-size:14px;font-weight:650}.module-section{margin-top:8px;margin-bottom:32px}.module-section h2{display:flex;align-items:center;gap:18px;font-size:13px;letter-spacing:1px;font-weight:650;margin-bottom:18px;text-transform:uppercase}.module-section h2:after{content:"";flex:1;height:1px;background:var(--line)}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.module-card{display:flex;align-items:flex-start;gap:14px;padding:22px 18px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink);min-height:128px;transition:border-color .15s,box-shadow .15s}.module-card:hover{border-color:#66a799;box-shadow:0 4px 16px #133d360b}.module-icon{background:var(--soft);color:var(--teal);width:40px;height:40px;flex:0 0 40px;border-radius:10px;display:grid;place-items:center}.module-icon svg{width:21px;height:21px}.module-copy{display:flex;flex-direction:column;gap:7px;min-width:0}.module-copy strong{font-size:14px;line-height:1.35;font-weight:650}.module-copy>span{font-size:12px;line-height:1.55;color:var(--muted)}.card-arrow{color:#758a90;font-size:16px;margin-left:auto}.empty-state{background:#fff;border:1px solid var(--line);border-radius:16px;padding:44px;max-width:780px;display:flex;flex-direction:column;align-items:flex-start}.empty-icon{width:60px;height:60px;display:grid;place-items:center;border-radius:15px;background:var(--soft);color:var(--teal);margin-bottom:24px}.empty-icon svg{width:30px;height:30px}.empty-state h2{margin:24px 0 12px;font-size:27px}.empty-state>p{color:var(--muted);line-height:1.7;max-width:610px}.scope{padding:22px;background:var(--canvas);border-radius:10px;margin:12px 0 28px;width:100%}.scope h3{font-size:14px;margin-bottom:8px}.scope p{font-size:14px;color:var(--muted)}.scope>span{font-size:11px;overflow-wrap:anywhere;color:var(--muted)}@media(min-width:1500px){.module-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1100px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-layout{gap:40px;padding:48px 32px;grid-template-columns:1fr 410px}.sidebar{width:230px}.workspace{margin-left:230px}.content{padding:32px 28px}.topbar{padding:0 28px}}@media(max-width:800px){.login-layout{max-width:560px;grid-template-columns:1fr;gap:24px;padding:28px 32px}.login-brand img{width:170px;margin-bottom:0}.login-brand p,.brand-line{display:none}.login-card{padding:32px}.login-footer{padding:20px 24px}.sidebar{display:none;top:72px;width:260px;box-shadow:10px 0 30px #123f3c20}.menu-open .sidebar{display:flex}.workspace{margin-left:0}.topbar{height:72px;padding:0 24px}.menu-toggle{display:block}.content{padding:32px 24px}.topbar-left{gap:10px}.company-mark{display:none}.user-name{max-width:110px}}@media(max-width:500px){h1{font-size:30px}.login-layout{padding:22px 18px;gap:18px}.login-card{padding:28px 24px;border-radius:14px}.login-card h1{font-size:30px}.login-card .eyebrow{font-size:9px}.login-options{font-size:11px}.login-footer{font-size:10px;padding:16px 20px}.login-brand img{width:145px}.content{padding:28px 18px 44px}.topbar{padding:0 14px;gap:8px}.topbar strong{font-size:13px}.user-name{display:none}.topbar-left{gap:10px}.menu-toggle span{display:none}.account{gap:0}.logout{font-size:12px}.process-grid,.module-grid{grid-template-columns:1fr}.page-heading{display:block}.page-heading>.button,.page-heading>.vactions{margin-top:var(--space-lg)}.page-heading .outline-badge{margin:0 0 28px}.page-heading .intro{margin-bottom:16px}.module-card{min-height:105px;padding:20px}.module-copy strong{font-size:15px}.module-copy>span{font-size:13px}.module-section{margin-bottom:28px}.module-section h2{font-size:11px}.empty-state{padding:26px}.empty-state h2{font-size:24px}.scope{padding:18px}.eyebrow{font-size:10px;letter-spacing:1.5px}.intro{font-size:15px}.process-picture{height:180px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* The same control opens the mobile drawer and reclaims desktop workspace. */
@media(min-width:801px){.portal-page .menu-toggle{display:inline-flex;align-items:center;gap:8px;font-size:12px;min-height:38px}.portal-page.sidebar-collapsed .sidebar{display:none}.portal-page.sidebar-collapsed .workspace{margin-left:0}}
