:root{--bg:#0f0f0f;--surface:#151515;--surface2:#1b1b1b;--surface3:#222;--line:#2a2a2a;--text:#f7f7f5;--muted:#969691;--yellow:#f6a700;--yellow2:#ffc33f;--green:#46d98b;--red:#ff6565;--blue:#69a7ff;--violet:#a889ff;--orange:#ff9a4c;--cyan:#43d7e8;--radius:16px;--sidebar:230px;--shadow:0 18px 50px rgba(0,0,0,.22)}*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,"SF Pro Display","Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit}button,a{transition:.16s ease}a{color:inherit;text-decoration:none}button{cursor:pointer}img{max-width:100%}.muted{color:var(--muted)}code{padding:2px 6px;border:1px solid var(--line);border-radius:7px;background:#111;color:#ddd}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);padding:20px 14px 14px;background:#111;border-right:1px solid #232323;z-index:30;display:flex;flex-direction:column}.logo{display:flex;align-items:center;gap:10px;height:46px;padding:0 10px;margin-bottom:16px}.logo img{width:89px;filter:none}.logo span{font-size:9px;letter-spacing:.18em;color:#7f7f7b;padding-top:4px}.sidebar nav,.side-bottom{display:grid;gap:5px}.sidebar nav a,.side-bottom a{height:42px;border-radius:11px;display:flex;align-items:center;gap:11px;padding:0 12px;color:#a1a19d}.sidebar nav a:hover,.side-bottom a:hover{background:#191919;color:#fff}.sidebar nav a.active,.side-bottom a.active{background:#232018;color:#fff;box-shadow:inset 3px 0 0 var(--yellow)}.sidebar i[data-icon],.topbar i[data-icon]{width:18px;height:18px;display:grid;place-items:center}.sidebar i[data-icon]::after{content:"";width:8px;height:8px;border:1.7px solid currentColor;border-radius:2px}.sidebar a:nth-child(2) i::after{border-radius:50%}.side-bottom{margin-top:auto;border-top:1px solid #232323;padding-top:10px}.app-main{margin-left:var(--sidebar);min-width:0}.topbar{position:sticky;top:0;height:72px;background:rgba(15,15,15,.88);backdrop-filter:blur(18px);border-bottom:1px solid #242424;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 28px}.command{width:min(430px,48vw);height:40px;border:1px solid #292929;background:#171717;border-radius:11px;color:#777;display:flex;align-items:center;gap:10px;padding:0 13px;text-align:left}.command span{flex:1}.command kbd{font-size:10px;border:1px solid #303030;background:#111;padding:2px 6px;border-radius:5px;color:#666}.top-actions{display:flex;align-items:center;gap:12px}.quick{height:36px;padding:0 13px;border:1px solid #323232;border-radius:10px;display:flex;align-items:center;color:#ddd}.quick:hover{border-color:#555}.me{display:grid;text-align:right;line-height:1.2}.me small{color:var(--muted);font-size:11px;margin-top:3px}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:#111;font-weight:800}.mobile-menu{display:none}.content{padding:30px clamp(18px,3vw,42px) 60px;max-width:1620px;margin:auto}.app-footer{color:#62625e;font-size:11px;padding-top:28px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.page-head small,.panel-head small,.form-title small,.dialog header small,.settings-card small,.proposal-hero small,.focus-card>small,.report-hero small{display:block;color:var(--yellow);font-size:10px;font-weight:800;letter-spacing:.15em}.page-head h1{font-size:clamp(28px,3vw,42px);letter-spacing:-.045em;margin:4px 0 2px;line-height:1.05}.page-head p{margin:6px 0 0;color:var(--muted);font-size:13px}.page-actions{display:flex;gap:8px}.btn{height:39px;border:1px solid #303030;border-radius:10px;padding:0 14px;background:#1a1a1a;color:#eee;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover{transform:translateY(-1px);border-color:#454545}.btn.primary{background:var(--yellow);border-color:var(--yellow);color:#121212;font-weight:800}.btn.primary:hover{background:var(--yellow2)}.btn.ghost{background:#171717}.btn.ghost.danger{color:#ff8d8d}.btn.big{height:47px;width:100%;font-size:14px}.mini{border:1px solid #333;background:#181818;color:#ddd;border-radius:8px;padding:6px 9px}.flash{padding:12px 14px;border:1px solid #383838;background:#181818;border-radius:11px;margin-bottom:16px}.flash.success{border-color:rgba(70,217,139,.28);background:rgba(70,217,139,.08);color:#9ce9bf}.flash.error{border-color:rgba(255,101,101,.3);background:rgba(255,101,101,.08);color:#ffaaa9}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:136px;gap:12px;margin-bottom:18px}.kpi{height:136px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,#171717,#141414);padding:18px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.kpi>span{color:var(--muted);font-size:12px}.kpi strong{font-size:27px;letter-spacing:-.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi small{color:#6f6f6a}.kpi.amber{box-shadow:inset 0 2px 0 rgba(246,167,0,.65)}.kpi.green{box-shadow:inset 0 2px 0 rgba(70,217,139,.55)}.kpi.red{box-shadow:inset 0 2px 0 rgba(255,101,101,.55)}.kpi.blue{box-shadow:inset 0 2px 0 rgba(105,167,255,.55)}.dashboard-grid,.report-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);gap:14px}.panel{border:1px solid var(--line);border-radius:16px;background:var(--surface);min-width:0;overflow:hidden}.panel-head{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--line)}.panel-head h2{font-size:16px;margin:3px 0 0}.panel-head a{color:var(--yellow);font-size:12px}.compact-list,.activity-list{min-height:360px;max-height:470px;overflow:auto}.compact-row{height:65px;padding:0 16px;display:grid;grid-template-columns:10px minmax(0,1fr) auto 74px;align-items:center;gap:12px;border-bottom:1px solid #242424}.compact-row:hover{background:#191919}.compact-row div{min-width:0}.compact-row b,.compact-row small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-row small{color:var(--muted);font-size:11px;margin-top:3px}.compact-row time{color:#888;text-align:right;font-size:12px}.dot,.priority{display:inline-block;width:8px;height:8px;border-radius:50%;background:#6e6e6a}.pr-urgent{background:var(--red)!important;box-shadow:0 0 0 4px rgba(255,101,101,.1)}.pr-high{background:#ff9f43!important}.pr-normal{background:var(--yellow)!important}.pr-low{background:#7d8da6!important}.activity-list>div{min-height:63px;padding:12px 16px;display:flex;gap:12px;align-items:center;border-bottom:1px solid #242424}.activity-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#202020;color:var(--yellow)}.activity-list p{margin:0;min-width:0}.activity-list p b,.activity-list p small{display:block}.activity-list p b{font-size:12px}.activity-list p small{color:var(--muted);font-size:11px;margin-top:3px}.badge{display:inline-flex;align-items:center;justify-content:center;max-width:145px;height:24px;padding:0 9px;border:1px solid #323232;border-radius:999px;background:#202020;color:#c7c7c2;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.st-active,.st-approved,.st-paid,.st-done,.st-won{background:rgba(70,217,139,.09);border-color:rgba(70,217,139,.2);color:#79dfa7}.st-rejected,.st-overdue,.st-lost,.st-cancelled{background:rgba(255,101,101,.08);border-color:rgba(255,101,101,.18);color:#ff8d8c}.st-negotiation,.st-ready,.st-sent,.st-viewed,.st-approval{background:rgba(246,167,0,.09);border-color:rgba(246,167,0,.22);color:#ffc348}.st-doing,.st-review,.st-invoiced,.st-to_invoice{background:rgba(105,167,255,.08);border-color:rgba(105,167,255,.2);color:#91bdff}.toolbar{display:flex;justify-content:space-between;margin-bottom:14px}.search{height:42px;display:flex;align-items:center;gap:8px;width:min(540px,100%);border:1px solid var(--line);border-radius:11px;background:#151515;padding-left:12px}.search input{flex:1;border:0;background:transparent;outline:0;color:#fff;min-width:0}.search button{height:100%;border:0;border-left:1px solid var(--line);background:#1c1c1c;color:#aaa;padding:0 13px;border-radius:0 10px 10px 0}.client-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:224px;gap:12px}.client-card{height:224px;border:1px solid var(--line);border-radius:15px;background:var(--surface);padding:16px;overflow:hidden;display:grid;grid-template-rows:54px 1fr 32px}.client-card-top{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px}.client-avatar{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#25231d;color:var(--yellow);font-weight:900}.client-card-top h3{font-size:15px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-card-top p{color:var(--muted);font-size:11px;margin:4px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-card-body{display:grid;grid-template-columns:repeat(3,1fr);align-items:center;gap:7px}.client-card-body>div{min-width:0;padding:12px 8px;background:#181818;border-radius:10px}.client-card-body span,.client-card-body b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-card-body span{font-size:9px;color:#777;text-transform:uppercase;letter-spacing:.05em}.client-card-body b{font-size:12px;margin-top:3px}.client-card-foot{border-top:1px solid #242424;padding-top:10px;display:flex;align-items:end;justify-content:space-between;color:#777;font-size:11px;min-width:0}.client-card-foot span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-card-foot a{color:var(--yellow);margin-left:8px}.tabs{display:flex;gap:5px;margin-bottom:14px;border-bottom:1px solid var(--line)}.tabs a{height:41px;padding:0 12px;display:flex;align-items:center;color:#888;border-bottom:2px solid transparent}.tabs a.active{color:#fff;border-color:var(--yellow)}.kanban{display:flex;gap:12px;overflow-x:auto;padding-bottom:12px;scrollbar-width:thin}.kanban-col{flex:0 0 290px;border:1px solid #292929;border-radius:14px;background:#131313;min-height:510px;overflow:hidden}.kanban-col>header{height:49px;padding:0 13px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #292929;color:#aaa;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.kanban-col>header b{min-width:24px;height:24px;padding:0 7px;display:grid;place-items:center;border-radius:8px;background:#202020;color:#ddd}.kanban-list{padding:9px;display:grid;gap:8px;align-content:start;min-height:450px}.lead-card,.job-card{border:1px solid #2a2a2a;border-radius:12px;background:#191919;padding:12px;overflow:hidden}.lead-card{height:170px;display:grid;grid-template-rows:18px 25px 1fr 23px 31px}.lead-card small{color:#767671;font-size:9px;letter-spacing:.08em}.lead-card h3{font-size:13px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lead-card p{color:#999;margin:5px 0;font-size:11px;overflow:hidden}.lead-card strong{font-size:12px;color:#ddd}.lead-card select{width:100%;height:28px;border:1px solid #303030;background:#151515;color:#aaa;border-radius:7px;font-size:10px}.job-card{height:146px;cursor:grab;display:grid;grid-template-rows:20px 42px 22px 1fr}.job-card:active{cursor:grabbing}.job-card.dragging{opacity:.45}.kanban-col.drag-over{outline:1px solid var(--yellow);outline-offset:-2px}.job-top{display:flex;justify-content:space-between;align-items:center}.job-top small{color:#8e8e89;font-size:9px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}.job-card h3{font-size:13px;line-height:1.25;margin:3px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.job-card p{font-size:10px;color:#777;margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-card footer{border-top:1px solid #282828;padding-top:8px;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#8a8a86;gap:8px}.job-card footer span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-card time.late{color:#ff7777}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:220px;gap:12px}.project-card{height:220px;border:1px solid var(--line);border-radius:15px;background:var(--surface);padding:16px;display:grid;grid-template-rows:55px 10px 1fr 32px;gap:12px;overflow:hidden}.project-card header{display:flex;justify-content:space-between;gap:10px}.project-card header small{color:var(--yellow);font-size:9px}.project-card h3{font-size:14px;margin:4px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.progress{height:6px;background:#262626;border-radius:99px;overflow:hidden}.progress i{display:block;height:100%;background:var(--yellow);border-radius:inherit}.project-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}.project-metrics span{background:#191919;border-radius:9px;padding:9px;color:#777;font-size:10px;overflow:hidden}.project-metrics b{display:block;color:#ddd;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-card>footer{display:flex;justify-content:space-between;align-items:end;border-top:1px solid #262626;color:#777;font-size:10px}.table-card{border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:auto}.table-row{min-width:850px;min-height:62px;display:grid;grid-template-columns:110px minmax(230px,1.7fr) 130px 120px 130px 190px;align-items:center;border-bottom:1px solid #272727;padding:0 14px;gap:12px}.table-row.contract{grid-template-columns:115px minmax(220px,1.5fr) 110px 120px 170px 130px}.table-row:last-child{border-bottom:0}.table-row.table-head{min-height:40px;color:#73736f;text-transform:uppercase;letter-spacing:.06em;font-size:9px;background:#121212}.table-row>span{min-width:0}.table-row>span>b,.table-row>span>small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-row>span>small{font-size:10px;color:#777;margin-top:3px}.row-actions{display:flex;align-items:center;gap:5px}.row-actions a,.row-actions button{border:0;background:none;color:#aaa;font-size:10px;padding:5px}.row-actions a:hover,.row-actions button:hover{color:var(--yellow)}.row-actions form{display:inline}.section-inline{display:flex;justify-content:flex-end;margin:-4px 0 10px}.finance-kpis{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:122px}.finance-kpis .kpi{height:122px}.positive{color:#78dca5}.negative{color:#ff8988}.file-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:112px;gap:10px}.file-card{height:112px;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:13px;display:flex;align-items:center;gap:12px;overflow:hidden}.file-card:hover{border-color:#444;transform:translateY(-1px)}.file-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:11px;background:#222;color:var(--yellow);font-size:20px}.file-card>div:last-child{min-width:0}.file-card b,.file-card span,.file-card small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-card b{font-size:12px}.file-card span{font-size:10px;color:#999;margin-top:4px}.file-card small{font-size:9px;color:#666;margin-top:4px}.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:254px;gap:12px}.person-card{height:254px;border:1px solid var(--line);border-radius:15px;background:var(--surface);padding:0 15px 14px;overflow:hidden;position:relative}.person-cover{height:67px;margin:0 -15px 0;background:linear-gradient(135deg,#232018,#171717)}.person-avatar{width:58px;height:58px;border-radius:15px;margin-top:-29px;display:grid;place-items:center;background:#242424;border:4px solid var(--surface);color:var(--yellow);font-weight:900}.person-card h3{margin:10px 0 2px;font-size:14px}.person-card p{margin:0;color:#aaa;font-size:11px}.person-card>span{display:block;color:#777;font-size:10px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-card footer{position:absolute;left:15px;right:15px;bottom:14px;border-top:1px solid #272727;padding-top:10px;display:flex;align-items:center;justify-content:space-between;gap:8px}.person-card footer small{color:#666;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-hero{height:190px;border:1px solid var(--line);border-radius:16px;background:radial-gradient(circle at 5% 10%,rgba(246,167,0,.14),transparent 35%),#151515;padding:25px;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center}.report-hero>div:first-child strong,.report-hero>div:first-child span{display:block}.report-hero>div:first-child strong{font-size:38px;letter-spacing:-.05em;margin:7px 0}.report-hero>div:first-child span{color:#888}.report-hero>div:last-child{width:120px;height:120px;border:8px solid #242424;border-top-color:var(--yellow);border-radius:50%;display:grid;place-items:center;align-content:center}.report-hero>div:last-child b{font-size:25px}.report-hero>div:last-child span{font-size:9px;color:#777}.rank-list,.metric-stack{padding:8px 14px}.rank-list>div{height:44px;display:grid;grid-template-columns:32px 1fr 120px;align-items:center;border-bottom:1px solid #252525;gap:10px}.rank-list span{color:#666;font-size:10px}.rank-list b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-list strong{text-align:right}.metric-stack>div{height:61px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #252525}.metric-stack span{color:#888}.metric-stack b{font-size:22px}.danger-text{color:var(--red)}.tv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:210px;gap:12px}.tv-grid article{height:210px;border:1px solid var(--line);border-radius:16px;background:#151515;padding:18px;display:grid;grid-template-rows:14px 20px 1fr 22px 35px;overflow:hidden}.tv-grid article>small{color:#777;text-transform:uppercase;font-size:10px}.tv-grid h2{font-size:18px;line-height:1.1;margin:5px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tv-grid p{color:#888;margin:5px 0}.tv-grid footer{border-top:1px solid #292929;padding-top:10px;display:flex;justify-content:space-between;font-size:11px}.focus-card{height:420px;border:1px solid var(--line);border-radius:20px;background:radial-gradient(circle at 50% 30%,rgba(246,167,0,.08),transparent 38%),#151515;display:grid;place-items:center;align-content:center;text-align:center;gap:22px}.focus-card strong{font-size:88px;letter-spacing:-.07em}.focus-card>div{display:flex;gap:8px}.focus-card p{color:#777}.settings-stack{display:grid;gap:12px;max-width:920px}.settings-card{border:1px solid var(--line);border-radius:15px;background:var(--surface);padding:18px}.settings-card.health{display:flex;justify-content:space-between;align-items:center}.settings-card.health b{display:block;font-size:25px;margin:4px 0}.settings-card.health span{color:#888}.health-pill{color:#79dfa7!important;border:1px solid rgba(70,217,139,.2);background:rgba(70,217,139,.06);border-radius:99px;padding:7px 10px;font-size:10px}.settings-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.settings-title b,.settings-title small{display:block}.settings-title small{color:#777!important;margin-top:3px}.settings-card p{color:#9a9a96;line-height:1.6}.update-form{display:flex;gap:8px;align-items:center;padding:10px;border:1px dashed #363636;border-radius:11px}.update-form input{flex:1;min-width:0}.backup-list,.release-list,.history-list{display:grid;border-top:1px solid #282828;margin-top:10px}.backup-list a,.release-list>div,.history-list>div{min-height:43px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #272727;gap:12px}.backup-list a small{color:var(--yellow)!important}.release-list span{display:flex;align-items:center;gap:8px}.release-list button{border:0;background:none;color:var(--yellow)}.history-list>div{display:grid;grid-template-columns:100px 1fr 150px}.history-list small{color:#777!important;text-align:right}.danger-zone{display:flex;align-items:center;justify-content:space-between}.danger-zone>div b,.danger-zone>div span{display:block}.danger-zone>div span{color:#777;font-size:11px;margin-top:3px}.dialog{width:min(680px,calc(100vw - 24px));max-height:calc(100vh - 30px);border:1px solid #323232;border-radius:17px;background:#161616;color:#fff;padding:0;box-shadow:0 30px 90px #000;overflow:auto}.dialog::backdrop{background:rgba(0,0,0,.74);backdrop-filter:blur(4px)}.dialog-wide{width:min(940px,calc(100vw - 24px))}.dialog form>header{position:sticky;top:0;z-index:2;height:72px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;background:#161616;border-bottom:1px solid #2b2b2b}.dialog header h2{margin:3px 0 0;font-size:18px}.dialog header button{width:34px;height:34px;border:1px solid #303030;border-radius:9px;background:#1d1d1d;color:#aaa;font-size:20px}.dialog form>footer{position:sticky;bottom:0;height:66px;background:#161616;border-top:1px solid #2b2b2b;padding:0 18px;display:flex;align-items:center;justify-content:flex-end;gap:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px}.form-grid label,.auth-card>label{display:grid;gap:6px}.form-grid label>span,.auth-card label>span{font-size:10px;color:#8b8b87;text-transform:uppercase;letter-spacing:.06em}.form-grid .wide{grid-column:1/-1}.form-grid .sep{padding-top:8px;border-top:1px solid #2b2b2b}.form-grid input,.form-grid select,.form-grid textarea,.auth-card input,.proposal-decision textarea{width:100%;border:1px solid #303030;background:#111;color:#fff;border-radius:9px;outline:none}.form-grid input,.form-grid select,.auth-card input{height:40px;padding:0 11px}.form-grid textarea,.proposal-decision textarea{padding:10px;resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.auth-card input:focus{border-color:#66501f;box-shadow:0 0 0 3px rgba(246,167,0,.06)}.checkline{grid-template-columns:20px 1fr!important;align-items:center}.checkline input{width:16px!important;height:16px!important}.checkline span{font-size:11px!important;text-transform:none!important}.items-editor{margin:0 18px;border:1px solid #2c2c2c;border-radius:12px;overflow:hidden}.items-title{height:42px;padding:0 11px;display:flex;align-items:center;justify-content:space-between;background:#131313}.items-title button{border:0;background:none;color:var(--yellow)}.item-row{display:grid;grid-template-columns:1.1fr 1.4fr 90px 110px 34px;gap:7px;padding:8px;border-top:1px solid #282828}.item-row input{height:36px;border:1px solid #303030;background:#111;color:#fff;border-radius:8px;padding:0 9px;min-width:0}.item-row button{border:0;background:#242424;border-radius:8px;color:#888}.empty{min-height:150px;grid-column:1/-1;display:grid;place-items:center;align-content:center;text-align:center;color:#777;padding:30px}.empty b{color:#ccc;margin-bottom:4px}.fab-secondary{position:fixed;right:25px;bottom:25px;height:44px;border:0;border-radius:13px;padding:0 15px;background:var(--yellow);color:#111;font-weight:800;box-shadow:var(--shadow)}.command-palette{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);padding-top:12vh}.cmd-box{width:min(620px,calc(100vw - 24px));margin:auto;border:1px solid #333;border-radius:16px;background:#171717;box-shadow:0 35px 100px #000;overflow:hidden}.cmd-box>input{width:100%;height:58px;border:0;border-bottom:1px solid #2d2d2d;background:#141414;color:#fff;outline:0;padding:0 18px;font-size:16px}.cmd-items{padding:8px}.cmd-items a{height:45px;border-radius:9px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;color:#aaa}.cmd-items a:hover{background:#222;color:#fff}.cmd-items small{color:#666}.auth-body{min-height:100vh;background:radial-gradient(circle at 20% 20%,rgba(246,167,0,.07),transparent 26%),#0f0f0f;display:grid;place-items:center;padding:25px}.login-shell,.setup-shell{width:min(950px,100%);display:grid;grid-template-columns:1fr 420px;gap:70px;align-items:center}.setup-shell{width:min(1080px,100%);grid-template-columns:1fr 520px;gap:60px}.auth-brand img{width:130px}.auth-brand>span{display:block;color:var(--yellow);font-size:10px;letter-spacing:.17em;margin-top:11px}.auth-brand h1{font-size:52px;line-height:.98;letter-spacing:-.06em;margin:26px 0 15px}.auth-brand p{color:#888;max-width:420px}.auth-card{border:1px solid #2b2b2b;border-radius:18px;background:#151515;padding:22px;box-shadow:var(--shadow);display:grid;gap:15px}.form-title h2{margin:4px 0 8px}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:20px}.check{height:42px;border:1px solid #2a2a2a;border-radius:10px;background:#151515;padding:0 11px;display:flex;align-items:center;gap:9px;color:#999}.check b{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#222}.check.ok b{color:#6fdaa0}.check.bad b{color:#ff8382}.setup-form .form-grid{padding:0}.setup-form .btn{margin-top:3px}.public-body{background:#0b0b0b;min-height:100vh;padding:24px}.proposal-public{width:min(860px,100%);margin:auto;background:#f7f6f1;color:#171717;border-radius:4px;overflow:hidden;box-shadow:0 30px 100px #000}.proposal-public>header{height:78px;background:#111;display:flex;align-items:center;justify-content:space-between;padding:0 32px;color:#888}.proposal-public>header img{width:105px}.proposal-public>header span{font-size:11px}.proposal-hero{padding:54px 50px 34px;background:#efeee8}.proposal-hero small{color:#a46f00}.proposal-hero h1{font-size:42px;line-height:1.02;letter-spacing:-.05em;margin:8px 0 10px;max-width:620px}.proposal-hero p{color:#555}.proposal-meta{display:flex;gap:15px;margin-top:25px;font-size:11px;color:#777}.proposal-meta span{display:flex;align-items:center;gap:6px}.proposal-items,.proposal-note,.proposal-total,.proposal-decision{margin:0 50px;padding:34px 0;border-bottom:1px solid #d8d6ce}.proposal-items h2,.proposal-note h2{font-size:15px;margin:0 0 18px}.proposal-items article{min-height:69px;display:grid;grid-template-columns:minmax(0,1fr) 150px 120px;align-items:center;gap:15px;border-top:1px solid #dddcd4}.proposal-items article strong{display:block}.proposal-items article p{margin:4px 0 0;color:#666;font-size:11px}.proposal-items article>span,.proposal-items article>b{text-align:right;font-size:12px}.proposal-total{margin-left:auto;width:360px}.proposal-total>div{height:35px;display:flex;align-items:center;justify-content:space-between}.proposal-total .grand{height:70px;border-top:1px solid #d6d4cc;margin-top:8px}.proposal-total .grand strong{font-size:28px}.proposal-total small{color:#777}.proposal-note p{color:#555;line-height:1.7}.proposal-decision textarea{background:#fff;color:#222;border-color:#ccc;margin-bottom:10px}.proposal-decision>div{display:flex;justify-content:flex-end;gap:8px}.proposal-decision .btn.ghost{background:#fff;border-color:#d3d1c8;color:#444}.proposal-decision.done{display:grid;gap:5px;background:#e8f4ea;margin:0;padding:26px 50px;border:0}.proposal-public>footer{padding:30px 50px 45px;color:#888;font-size:10px}.public-body .badge{color:#333;background:#e5e3dc;border-color:#cfcdc4}.upload-zone{border:1px dashed #3a3a3a;padding:14px;border-radius:11px}.mobile-menu{border:0;background:none;color:#fff;font-size:20px}.app-footer{margin-bottom:10px}@media(max-width:1180px){.client-grid,.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.file-grid,.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:920px){:root{--sidebar:76px}.sidebar{padding:18px 10px}.logo{padding:0;justify-content:center}.logo img{width:42px;object-fit:cover;object-position:left;height:28px}.logo span,.sidebar nav a span,.side-bottom a span{display:none}.sidebar nav a,.side-bottom a{justify-content:center;padding:0}.topbar{padding:0 18px}.me{display:none}.dashboard-grid,.report-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.file-grid,.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-shell,.setup-shell{grid-template-columns:1fr;max-width:560px;gap:30px}.auth-brand h1{font-size:42px}.auth-brand p{display:none}}@media(max-width:680px){:root{--sidebar:0}.sidebar{transform:translateX(-100%);width:230px;transition:.2s}.sidebar.open{transform:translateX(0)}.sidebar nav a span,.side-bottom a span{display:block}.sidebar nav a,.side-bottom a{justify-content:flex-start;padding:0 12px}.logo{justify-content:flex-start;padding:0 10px}.logo img{width:89px;height:auto;object-fit:contain}.logo span{display:block}.app-main{margin-left:0}.mobile-menu{display:block}.command{width:42px;padding:0;justify-content:center}.command span,.command kbd{display:none}.topbar{height:62px;padding:0 12px}.top-actions{gap:7px}.quick{font-size:0;width:38px;padding:0;justify-content:center}.quick::after{content:"+";font-size:20px}.content{padding:20px 12px 82px}.page-head{align-items:flex-start;display:grid;gap:14px}.page-head h1{font-size:31px}.page-actions{overflow-x:auto}.kpi-grid,.finance-kpis{grid-template-columns:1fr 1fr;grid-auto-rows:116px}.kpi,.finance-kpis .kpi{height:116px;padding:14px}.kpi strong{font-size:19px}.client-grid,.project-grid,.file-grid,.team-grid,.tv-grid{grid-template-columns:1fr}.client-grid{grid-auto-rows:207px}.client-card{height:207px}.project-grid{grid-auto-rows:200px}.project-card{height:200px}.team-grid{grid-auto-rows:238px}.person-card{height:238px}.file-grid{grid-auto-rows:96px}.file-card{height:96px}.tv-grid{grid-auto-rows:180px}.tv-grid article{height:180px}.kanban-col{flex-basis:274px;min-height:470px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.item-row{grid-template-columns:1fr 70px 95px 32px}.item-row input:nth-child(2){grid-column:1/-1;grid-row:2}.dialog{max-height:calc(100vh - 10px)}.proposal-public{border-radius:0}.public-body{padding:0}.proposal-public>header{padding:0 20px}.proposal-hero{padding:38px 22px 25px}.proposal-hero h1{font-size:32px}.proposal-items,.proposal-note,.proposal-total,.proposal-decision{margin:0 22px;padding:25px 0}.proposal-items article{grid-template-columns:1fr 90px}.proposal-items article>b{grid-column:2;grid-row:1/3}.proposal-items article>span{font-size:10px}.proposal-total{width:auto;margin-left:22px}.proposal-decision>div{display:grid}.proposal-decision .btn{width:100%}.proposal-public>footer{padding:26px 22px}.proposal-decision.done{margin:0;padding:22px}.focus-card{height:350px}.focus-card strong{font-size:65px}.focus-card>div{flex-wrap:wrap;justify-content:center}.auth-body{padding:14px}.auth-brand h1{font-size:38px}.auth-card{padding:17px}.setup-shell{gap:18px}.check-grid{grid-template-columns:1fr}.report-hero{height:160px;padding:18px}.report-hero>div:last-child{width:90px;height:90px}.report-hero>div:first-child strong{font-size:27px}.settings-card.health{align-items:flex-start;gap:15px}.update-form{display:grid}.history-list>div{grid-template-columns:90px 1fr}.history-list small{grid-column:1/-1;text-align:left}.fab-secondary{bottom:16px;right:16px}}
@media print{.sidebar,.topbar,.page-actions,.app-footer,.tabs,.btn{display:none!important}.app-main{margin:0}.content{padding:0}.page-head p{display:none}.page-head h1{font-size:24px}.report-hero,.panel,.table-card{break-inside:avoid;background:#fff!important;color:#111!important;border-color:#ddd!important}body{background:#fff!important;color:#111!important}.rank-list span,.panel-head small,.metric-stack span{color:#555!important}}

/* =========================================================
   RAVOOC WORKS 2.0 — ATLAS UI
   Grid estável · cards fixos · desktop / iPad / mobile
   ========================================================= */
:root{--bg:#070707;--surface:#0d0d0f;--surface2:#111113;--surface3:#161618;--line:#252529;--line2:#303036;--text:#f7f7f8;--muted:#96969f;--dim:#686872;--yellow:#f6a700;--yellow2:#ffc238;--green:#39d98a;--red:#ff5d68;--blue:#6fa8ff;--radius:16px;--radius-lg:20px;--sidebar:236px;--shadow:0 18px 50px rgba(0,0,0,.34)}
html{background:var(--bg);scrollbar-color:#303036 #0a0a0b}body{background:radial-gradient(circle at 78% -12%,rgba(246,167,0,.07),transparent 28%),var(--bg);font-family:Satoshi,-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased;font-size:13px;color:var(--text)}
button,input,select,textarea{font-family:inherit}.app-shell{min-height:100vh}.sidebar{width:var(--sidebar);padding:18px 14px 14px;background:rgba(8,8,9,.97);backdrop-filter:blur(24px);border-right:1px solid var(--line);box-shadow:none}.logo{height:46px;padding:0 10px;gap:10px;margin-bottom:14px}.logo .brand-mark{width:31px;height:31px}.logo .brand-type{width:88px;height:auto}.workspace-label{padding:10px 12px 7px;color:#5f5f68;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.workspace-label.second{padding-top:17px}.sidebar nav{display:grid;gap:3px}.sidebar nav a,.side-bottom>a{height:41px;border-radius:12px;padding:0 11px;color:#a6a6af;font-size:12px;font-weight:650;gap:10px}.sidebar nav a:hover,.side-bottom>a:hover{background:#111113;color:#fff}.sidebar nav a.active,.side-bottom>a.active{background:linear-gradient(180deg,#1b1a16,#13120f);border:1px solid #2d2818;box-shadow:inset 3px 0 0 var(--yellow);color:#fff}.sidebar i[data-icon],.topbar i[data-icon],.cmd-items i[data-icon],.bottom-nav i[data-icon],.portal-files i[data-icon]{width:19px;height:19px;display:grid;place-items:center;flex:none}.sidebar i[data-icon]::after,.topbar i[data-icon]::after{display:none}.icon-svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.side-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:9px;display:grid;gap:3px}.profile-mini{height:52px!important;margin-top:7px;padding:7px 9px!important;display:flex!important;align-items:center!important;gap:9px!important;border:0!important;background:transparent!important}.profile-mini .avatar{width:31px;height:31px;font-size:10px;background:linear-gradient(145deg,#39393f,#18181b);color:#fff;border:1px solid #48484f}.profile-mini>span:last-child{display:block;min-width:0}.profile-mini b{display:block;font-size:11px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-mini small{display:block;color:#606069;font-size:9px;margin-top:2px}.sidebar-backdrop{display:none}.app-main{margin-left:var(--sidebar)}
.topbar{height:68px;padding:0 28px;display:flex;justify-content:initial;gap:15px;background:rgba(7,7,7,.86);border-bottom:1px solid var(--line);backdrop-filter:blur(20px)}.crumb{min-width:165px;font-size:11px;color:var(--muted)}.crumb b{color:#fff}.command{height:38px;width:min(470px,44vw);margin-left:auto;margin-right:auto;border-radius:12px;background:#0f0f11;border-color:var(--line);font-size:11px;color:#686871}.command:hover{border-color:#34343a;background:#121214}.command kbd{margin-left:auto;border:1px solid #343439;border-bottom-color:#44444a;border-radius:6px;padding:2px 6px;background:#0b0b0c}.top-actions{position:relative;gap:8px}.notify{width:38px;height:38px;border:1px solid var(--line);border-radius:11px;background:#101012;display:grid;place-items:center;position:relative;color:#a0a0a8}.notify b{position:absolute;right:-4px;top:-4px;min-width:17px;height:17px;border-radius:9px;background:var(--yellow);color:#111;font-size:8px;display:grid;place-items:center;border:2px solid var(--bg)}.quick{height:38px;border-radius:11px;padding:0 14px;border:1px solid var(--yellow);background:var(--yellow);color:#17120a;font-size:11px;font-weight:800}.quick:hover{background:var(--yellow2)}.quick-menu{position:absolute;right:0;top:46px;width:190px;padding:7px;border:1px solid var(--line2);border-radius:14px;background:#131315;box-shadow:0 24px 70px rgba(0,0,0,.65);z-index:90}.quick-menu a{height:39px;border-radius:9px;padding:0 9px;display:flex;align-items:center;gap:10px;color:#bdbdc5;font-size:11px}.quick-menu a:hover{background:#1b1b1e;color:#fff}.mobile-menu{width:38px;height:38px;display:none;place-items:center;border:1px solid var(--line);border-radius:11px;background:#101012;color:#ddd}
.content{max-width:1600px;padding:28px 28px 48px}.app-footer{font-size:9px;color:#4f4f57;padding-top:30px}.page-head{margin-bottom:20px;align-items:flex-end;gap:18px}.page-head small{color:#6b6b74;font-size:9px;letter-spacing:.13em}.page-head h1{font-size:28px;line-height:1.02;letter-spacing:-.036em;margin:5px 0 0;font-weight:760}.page-head p{font-size:11px;color:var(--muted);margin-top:7px}.page-actions{gap:7px;flex-wrap:wrap;justify-content:flex-end}.btn{height:37px;border-radius:10px;padding:0 12px;font-size:10px;background:#111113;border-color:var(--line);color:#cfcfd5}.btn.primary{background:var(--yellow);border-color:var(--yellow);color:#17120a}.btn.ghost{background:#101012}.flash{font-size:11px;border-radius:12px;padding:11px 13px}.toolbar{margin-bottom:12px}.search{height:39px;border-radius:11px;background:#0f0f11;border-color:var(--line)}.search input{font-size:11px}.search button{background:#141416;border-left-color:var(--line);font-size:10px}
.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:132px;gap:11px;margin-bottom:12px}.kpi-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi{height:132px;padding:15px;border-radius:16px;background:linear-gradient(145deg,#111113,#0c0c0e);border-color:var(--line);box-shadow:none!important;position:relative;overflow:hidden}.kpi::after{content:"";position:absolute;right:-36px;top:-42px;width:95px;height:95px;border-radius:50%;background:radial-gradient(circle,rgba(246,167,0,.11),transparent 68%);pointer-events:none}.kpi>span{font-size:10px;color:var(--muted)}.kpi strong{font-size:24px;letter-spacing:-.036em}.kpi small{font-size:9px}.kpi.green small{color:var(--green)}.kpi.red small{color:var(--red)}.kpi.amber small{color:var(--yellow2)}.kpi.blue small{color:var(--blue)}
.dashboard-grid{grid-template-columns:minmax(0,1.6fr) minmax(310px,.76fr);gap:11px}.panel{background:linear-gradient(160deg,#0f0f11,#0b0b0c);border-color:var(--line);border-radius:16px}.panel-head{height:55px;padding:0 15px;border-bottom-color:#202024}.panel-head small{color:#66666f;font-size:8px}.panel-head h2{font-size:12px;margin:2px 0 0}.panel-head>a{font-size:9px;color:var(--muted)}.panel-head>span{font-size:9px;color:var(--dim)}.compact-list{min-height:0;max-height:none}.today-list{height:360px;overflow:auto;padding:6px}.compact-row{height:66px;padding:0 9px;grid-template-columns:34px minmax(0,1fr) auto 62px;gap:9px;border:0;border-radius:11px}.compact-row:hover{background:#131315}.task-icon{width:32px;height:32px;border-radius:10px;background:#171719;border:1px solid #2c2c31;display:grid;place-items:center;color:var(--yellow)}.compact-row b{font-size:11px}.compact-row small{font-size:9px;color:#7e7e87}.compact-row time{font-size:9px;color:#62626a}.badge{height:22px;padding:0 8px;font-size:8px;letter-spacing:.025em;text-transform:none;background:#171719;border-color:#333339;color:#a9a9b1}.finance-radar{height:421px}.finance-radar .panel-head{border-bottom:0}.radar-body{height:calc(100% - 55px);padding:6px 15px 16px;display:flex;flex-direction:column}.radar-body>strong{font-size:30px;font-weight:500;letter-spacing:-.04em}.radar-body>small{color:var(--muted);font-size:9px;margin-top:4px}.radar-bars{height:185px;margin-top:17px;border-bottom:1px solid #28282e;display:flex;align-items:end;gap:5px;background:repeating-linear-gradient(to top,transparent 0,transparent 45px,#151518 46px)}.radar-bars i{flex:1;min-height:4px;border-radius:3px 3px 0 0;background:linear-gradient(to top,rgba(246,167,0,.08),var(--yellow));opacity:.88}.radar-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:auto}.radar-meta span{font-size:8px;color:var(--dim)}.radar-meta b{display:block;color:#fff;font-size:10px;margin-top:3px}.dashboard-board{margin-top:11px}.mini-board{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:9px;padding:9px;overflow:auto}.mini-col{height:338px;min-width:220px;border:1px solid #202024;background:#0b0b0d;border-radius:13px;padding:8px}.mini-col>header{height:32px;padding:0 3px 7px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:9px}.mini-col>header b{color:#d9d9df}.mini-job{height:89px;display:flex;flex-direction:column;padding:10px;margin-bottom:7px;border:1px solid #29292e;background:#131315;border-radius:11px;overflow:hidden}.mini-job small{font-size:8px;color:var(--yellow);letter-spacing:.06em;text-transform:uppercase}.mini-job b{font-size:10px;line-height:1.3;margin:5px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mini-job span{font-size:8px;color:#65656d;margin-top:auto}.mini-empty{height:80px;display:grid;place-items:center;color:#4f4f57;font-size:9px}
.client-grid{grid-template-columns:repeat(3,minmax(260px,1fr));grid-auto-rows:218px;gap:11px}.client-card{height:218px;padding:14px;border-radius:15px;background:linear-gradient(155deg,#101012,#0d0d0f);border-color:var(--line);grid-template-rows:52px 1fr 31px}.client-card-top{grid-template-columns:42px minmax(0,1fr) auto}.client-avatar{width:42px;height:42px;border-radius:12px;background:#1d1a11;border:1px solid #393016;color:var(--yellow);font-size:11px}.client-card-top h3{font-size:13px}.client-card-top p{font-size:9px}.client-card-body{gap:6px}.client-card-body>div{padding:10px 8px;background:#121214;border:1px solid #1d1d21}.client-card-body span{font-size:8px}.client-card-body b{font-size:10px}.client-card-foot{font-size:9px;padding-top:9px;border-top-color:#202024}.card-actions{display:flex!important;align-items:center;gap:7px;overflow:visible!important}.card-actions a,.card-actions button{border:0;background:transparent;color:var(--yellow);font-size:9px;padding:0;cursor:pointer}.card-actions form{display:inline}
.project-grid{grid-template-columns:repeat(3,minmax(270px,1fr));grid-auto-rows:206px;gap:11px}.project-card{height:206px;border-radius:15px;background:linear-gradient(155deg,#101012,#0c0c0e);border-color:var(--line);padding:14px;overflow:hidden}.project-card header h3{font-size:13px;line-height:1.25;max-height:33px;overflow:hidden}.project-card header small{font-size:8px}.project-card .progress{height:4px}.project-metrics{gap:7px}.project-metrics span{font-size:8px}.project-metrics b{font-size:10px}.project-card footer{font-size:8px}
.micro-kpis{display:flex;gap:7px;margin:-7px 0 11px}.micro-kpis span{height:28px;border:1px solid var(--line);border-radius:9px;background:#0f0f11;display:flex;align-items:center;gap:5px;padding:0 9px;color:var(--muted);font-size:8px}.micro-kpis b{font-size:10px;color:#fff}.kanban{gap:9px;padding-bottom:5px}.kanban-col{flex:0 0 286px;min-height:535px;max-height:calc(100vh - 185px);border-radius:14px;background:#0b0b0d;border-color:#202024;padding:8px}.kanban-col>header{height:34px;font-size:9px;padding:0 4px 7px}.kanban-list{min-height:450px;overflow:auto;padding-right:1px}.job-card,.content-card{height:111px!important;min-height:111px!important;max-height:111px!important;margin-bottom:7px;padding:10px;border-radius:11px;background:#131315;border-color:#29292e;box-shadow:0 8px 20px rgba(0,0,0,.11);overflow:hidden}.job-card h3,.content-card h3{font-size:10px;line-height:1.28;margin:6px 0 4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.job-card p,.content-card p{font-size:8px;color:#71717a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-top small,.content-card>small{font-size:8px;color:var(--yellow);letter-spacing:.05em}.job-card footer,.content-card footer{font-size:8px;height:20px}.job-card footer span,.content-card footer span{max-width:90px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-edit,.content-card footer a{color:#9f9fa8}.content-board .kanban-col{flex-basis:275px}.content-card{cursor:grab}.content-card.dragging,.job-card.dragging{opacity:.35}.drag-over{border-color:#705613!important;background:#11100d!important}
.approval-grid{display:grid;grid-template-columns:repeat(3,minmax(270px,1fr));gap:11px}.approval-card{height:282px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(155deg,#101012,#0c0c0e);padding:14px;display:flex;flex-direction:column;overflow:hidden}.approval-card>header{display:flex;justify-content:space-between;align-items:center}.approval-card>header>span:first-child{font-size:8px;color:var(--yellow);text-transform:uppercase;letter-spacing:.07em}.approval-card h3{font-size:12px;line-height:1.25;margin:13px 0 5px}.approval-card>p{font-size:9px;color:var(--muted);margin:0}.approval-meta{display:flex;gap:10px;margin-top:10px;color:#606069;font-size:8px}.approval-card blockquote{margin:10px 0 0;padding:8px 9px;border-left:2px solid #443713;background:#12120f;border-radius:0 8px 8px 0;color:#aaaab1;font-size:9px;max-height:52px;overflow:auto}.approval-file{font-size:9px;color:var(--yellow);margin-top:9px}.approval-actions{margin-top:auto;display:grid;grid-template-columns:1fr 1fr 48px;gap:5px}.approval-actions select,.approval-actions input,.approval-actions button{height:31px;border:1px solid var(--line2);background:#111113;color:#c7c7cc;border-radius:8px;font-size:8px;min-width:0;padding:0 7px}.approval-actions button{background:#1c1b16;color:var(--yellow);padding:0}
.table-card{border-radius:15px;background:#0d0d0f;border-color:var(--line)}.table-row{min-height:58px;border-bottom-color:#202024;font-size:9px}.table-row.table-head{height:39px;min-height:39px;color:#61616a;background:#0b0b0c}.table-row b{font-size:10px}.table-row small{font-size:8px;color:#707079}.row-actions{gap:5px}.row-actions a,.row-actions button{font-size:8px}.tabs{margin-bottom:12px;border-bottom-color:var(--line);gap:2px}.tabs a{height:35px;font-size:9px;padding:0 10px}.tabs a.active{color:#fff;border-bottom-color:var(--yellow)}
.file-grid{grid-template-columns:repeat(4,minmax(220px,1fr));grid-auto-rows:94px;gap:9px}.file-card{height:94px;border-radius:14px;padding:11px;background:#0f0f11;border-color:var(--line)}.file-icon{width:34px;height:34px;border-radius:10px}.file-card b{font-size:10px}.file-card span,.file-card small{font-size:8px}.team-grid{grid-template-columns:repeat(4,minmax(220px,1fr));grid-auto-rows:230px;gap:10px}.person-card{height:230px;border-radius:15px;background:#0f0f11;border-color:var(--line);overflow:hidden}.person-cover{height:58px;background:radial-gradient(circle at 25% 30%,rgba(246,167,0,.18),transparent 35%),linear-gradient(135deg,#191919,#0e0e10)}.person-avatar{width:50px;height:50px}.person-card h3{font-size:12px}.person-card p,.person-card>span,.person-card footer{font-size:8px}
.dialog{border-radius:18px;border-color:#303035;background:#111113;box-shadow:0 40px 120px rgba(0,0,0,.75);width:min(620px,calc(100vw - 18px))}.dialog-wide{width:min(760px,calc(100vw - 18px))}.dialog header{height:64px;padding:0 17px;border-bottom-color:#252529}.dialog header h2{font-size:15px}.dialog header button{font-size:20px}.dialog footer{height:64px;padding:0 17px;border-top-color:#252529}.form-grid{gap:10px;padding:16px}.form-grid label>span{font-size:8px;letter-spacing:.04em;text-transform:none;color:#83838c}.form-grid input,.form-grid select{height:38px;border-radius:9px;background:#0d0d0f;border-color:#2d2d32;font-size:10px}.form-grid textarea{border-radius:9px;background:#0d0d0f;border-color:#2d2d32;font-size:10px}.items-editor{border-color:#2c2c31}.item-row{gap:5px}.auth-body{background:radial-gradient(circle at 20% 10%,rgba(246,167,0,.08),transparent 30%),#070707}.auth-card{background:#0f0f11;border-color:#2a2a2f}.auth-brand h1{font-size:46px}.auth-brand p{font-size:11px}.auth-brand img{width:112px}
.settings-stack{max-width:940px}.settings-card{border-radius:15px;background:#0f0f11;border-color:var(--line)}.settings-card p{font-size:10px;line-height:1.6;color:#909099}.health-pill{font-size:9px}.report-hero{border-radius:16px;background:linear-gradient(130deg,#12110e,#0e0e10);border-color:#302817}.tv-grid article{border-radius:15px;background:#0f0f11;border-color:var(--line)}
.command-palette{background:rgba(0,0,0,.72);backdrop-filter:blur(7px);padding-top:10vh}.cmd-box{width:min(600px,calc(100vw - 20px));border-radius:16px;background:#111113;border-color:#343439}.cmd-box>input{height:55px;background:#0e0e10;border-bottom-color:#29292e;font-size:13px}.cmd-items a{height:43px;font-size:10px}.cmd-items a>span{display:flex;align-items:center;gap:9px}.cmd-items small{font-size:8px}
.bottom-nav,.mobile-more{display:none}
/* Portal cliente */
.portal-body{background:radial-gradient(circle at 75% -10%,rgba(246,167,0,.08),transparent 30%),#070707;min-height:100vh}.client-portal{width:min(1050px,100%);margin:auto;padding:0 22px 50px}.client-portal>header{height:72px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);color:var(--muted);font-size:9px}.portal-brand{display:flex;align-items:center;gap:9px}.portal-brand img:first-child{width:29px}.portal-brand img:last-child{width:84px}.portal-hero{padding:50px 0 30px}.portal-hero small{font-size:8px;color:var(--yellow);letter-spacing:.13em}.portal-hero h1{font-size:34px;letter-spacing:-.045em;margin:8px 0}.portal-hero p{font-size:10px;color:var(--muted)}.portal-tabs{height:46px;display:flex;gap:4px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(7,7,7,.92);backdrop-filter:blur(16px);z-index:3}.portal-tabs a{height:46px;display:flex;align-items:center;padding:0 11px;font-size:9px;color:#85858d}.portal-section{padding:26px 0;border-bottom:1px solid var(--line)}.portal-title{display:flex;align-items:center;gap:8px;margin-bottom:12px}.portal-title h2{font-size:13px;margin:0}.portal-title span{font-size:8px;color:#777781;border:1px solid var(--line);border-radius:9px;padding:2px 6px}.portal-projects{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.portal-projects article{height:125px;border:1px solid var(--line);background:#0e0e10;border-radius:13px;padding:12px;display:flex;flex-wrap:wrap;justify-content:space-between}.portal-projects h3{font-size:11px;margin:6px 0}.portal-projects small{font-size:8px;color:var(--yellow)}.portal-projects>article>span{font-size:8px;color:var(--muted)}.portal-projects .progress{width:100%;align-self:end}.portal-list{border:1px solid var(--line);border-radius:13px;overflow:hidden}.portal-list article,.portal-list>a{min-height:58px;display:grid;grid-template-columns:minmax(0,1fr) auto 90px;align-items:center;gap:9px;padding:0 12px;border-bottom:1px solid #202024}.portal-list article:last-child,.portal-list>a:last-child{border:0}.portal-list b{font-size:10px}.portal-list small{display:block;font-size:8px;color:var(--muted);margin-top:3px}.portal-list time,.portal-list strong{font-size:9px;text-align:right}.portal-files{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.portal-files>span{height:66px;border:1px solid var(--line);background:#0e0e10;border-radius:12px;padding:10px;display:grid;grid-template-columns:26px 1fr;align-items:center}.portal-files i{grid-row:1/3;color:var(--yellow)}.portal-files b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-files small{font-size:8px;color:var(--muted)}.portal-empty{font-size:9px;color:var(--muted)}.client-portal>footer{font-size:8px;color:#4f4f57;padding-top:26px}
@media(max-width:1180px){.client-grid,.project-grid,.approval-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}.file-grid,.team-grid{grid-template-columns:repeat(3,minmax(200px,1fr))}.dashboard-grid{grid-template-columns:1fr 330px}}
@media(max-width:980px){:root{--sidebar:80px}.sidebar{width:80px;padding:17px 10px}.logo{justify-content:center;padding:0}.logo .brand-type,.workspace-label,.sidebar nav a span,.side-bottom>a span,.profile-mini>span:last-child{display:none}.sidebar nav a,.side-bottom>a{justify-content:center;padding:0}.profile-mini{justify-content:center!important;padding:0!important}.app-main{margin-left:80px}.topbar{padding:0 18px}.crumb{min-width:95px}.command{width:min(360px,42vw)}.content{padding:24px 20px 44px}.dashboard-grid{grid-template-columns:1fr}.finance-radar{height:315px}.radar-bars{height:105px}.mini-board{grid-template-columns:repeat(4,260px)}.kpi-grid,.kpi-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-projects,.portal-files{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){:root{--sidebar:0}.sidebar{display:flex;transform:translateX(-105%);width:232px;transition:transform .2s ease;box-shadow:30px 0 80px rgba(0,0,0,.5);z-index:120}.sidebar.open{transform:translateX(0)}.sidebar.open .brand-type,.sidebar.open .workspace-label,.sidebar.open nav a span,.sidebar.open .side-bottom>a span,.sidebar.open .profile-mini>span:last-child{display:block}.sidebar.open .logo{justify-content:flex-start}.sidebar.open nav a,.sidebar.open .side-bottom>a{justify-content:flex-start;padding:0 11px}.sidebar-backdrop.open{display:block;position:fixed;inset:0;z-index:110;background:rgba(0,0,0,.58);backdrop-filter:blur(2px)}.app-main{margin-left:0}.topbar{height:58px;padding:0 12px;gap:8px}.mobile-menu{display:grid}.crumb{min-width:0}.crumb span{display:none}.command{width:38px;padding:0;justify-content:center;margin-left:auto}.command span,.command kbd{display:none}.top-actions{margin-left:0}.notify{display:none}.quick{width:38px;padding:0;font-size:0}.quick span{font-size:0}.quick span::after{content:"+";font-size:18px}.quick-menu{right:0;width:175px}.content{padding:19px 12px 86px}.page-head{align-items:flex-start;display:grid;gap:12px;margin-bottom:15px}.page-head h1{font-size:24px}.page-head p{font-size:10px;max-width:270px}.page-actions{justify-content:flex-start;overflow:auto;width:100%;flex-wrap:nowrap}.page-actions .btn{white-space:nowrap}.kpi-grid,.kpi-grid.four,.finance-kpis{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px;margin-right:-12px;padding-right:12px}.kpi{min-width:174px;height:111px;scroll-snap-align:start;padding:13px}.kpi strong{font-size:20px}.dashboard-grid{gap:8px}.panel-head{height:50px}.today-list{height:315px}.compact-row{height:60px;grid-template-columns:32px minmax(0,1fr) auto}.compact-row time{display:none}.compact-row .badge{font-size:7px;padding:0 6px}.finance-radar{height:300px}.radar-bars{height:120px}.dashboard-board{margin-top:8px}.mini-board{display:flex;grid-template-columns:none;gap:8px;padding:8px}.mini-col{min-width:268px;height:330px}.client-grid,.project-grid,.approval-grid,.file-grid,.team-grid{grid-template-columns:1fr}.client-grid{grid-auto-rows:205px}.client-card{height:205px}.project-grid{grid-auto-rows:195px}.project-card{height:195px}.approval-card{height:274px}.team-grid{grid-auto-rows:220px}.person-card{height:220px}.file-grid{grid-auto-rows:88px}.file-card{height:88px}.kanban{gap:8px}.kanban-col{flex-basis:272px;min-height:470px;max-height:calc(100vh - 178px)}.kanban-list{min-height:400px}.job-card,.content-card{height:106px!important;min-height:106px!important;max-height:106px!important}.micro-kpis{overflow:auto}.table-card{overflow:hidden}.table-row{grid-template-columns:92px minmax(0,1fr) auto!important;padding:8px 9px;gap:7px;min-height:58px}.table-row>span:nth-child(n+4):not(:last-child){display:none}.table-head>span:nth-child(n+4):not(:last-child){display:none}.table-row .row-actions{justify-content:flex-end;flex-wrap:wrap}.form-grid{grid-template-columns:1fr;padding:13px}.form-grid .wide{grid-column:auto}.dialog{max-height:calc(100vh - 8px);border-radius:16px}.dialog header,.dialog footer{height:58px;padding:0 13px}.item-row{grid-template-columns:1fr 65px 90px 30px}.item-row input:nth-child(2){grid-column:1/-1;grid-row:2}.bottom-nav{position:fixed;z-index:100;left:8px;right:8px;bottom:8px;height:61px;display:grid;grid-template-columns:repeat(5,1fr);background:rgba(18,18,20,.94);backdrop-filter:blur(22px);border:1px solid #2b2b30;border-radius:20px;padding:5px;box-shadow:0 18px 60px rgba(0,0,0,.6)}.bottom-nav a,.bottom-nav button{border:0;background:transparent;color:#74747c;display:grid;place-items:center;align-content:center;gap:2px;font-size:7px;border-radius:14px}.bottom-nav a.active{color:var(--yellow);background:#1d180d}.bottom-nav i{width:22px!important;height:22px!important}.mobile-more{position:fixed;z-index:101;left:12px;right:12px;bottom:76px;padding:8px;border:1px solid #303035;background:#131315;border-radius:16px;box-shadow:0 24px 70px #000}.mobile-more a{height:39px;display:flex;align-items:center;padding:0 10px;border-radius:9px;font-size:10px;color:#bcbcc4}.mobile-more a:hover{background:#1b1b1e}.app-footer{padding-bottom:5px}.portal-hero{padding:34px 0 22px}.portal-hero h1{font-size:29px}.client-portal{padding:0 12px 35px}.portal-projects,.portal-files{grid-template-columns:1fr}.portal-list article,.portal-list>a{grid-template-columns:minmax(0,1fr) auto}.portal-list time,.portal-list strong{display:none}.portal-tabs{overflow:auto}.portal-tabs a{white-space:nowrap}.public-body{padding:0}.proposal-public{border-radius:0}}
@media(min-width:681px){.sidebar-backdrop{display:none!important}}
.advanced{border:1px solid var(--line);border-radius:11px;background:#0b0b0d;overflow:hidden}.advanced>summary{height:38px;display:flex;align-items:center;padding:0 11px;cursor:pointer;color:#8a8a93;font-size:9px;list-style:none}.advanced>summary::-webkit-details-marker{display:none}.advanced>summary::after{content:"+";margin-left:auto;color:#666}.advanced[open]>summary::after{content:"−"}.advanced-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:11px;border-top:1px solid var(--line)}.advanced-grid .wide{grid-column:1/-1}@media(max-width:680px){.advanced-grid{grid-template-columns:1fr}.advanced-grid .wide{grid-column:auto}}
.proposal-header-actions{display:flex;align-items:center;gap:10px}.proposal-header-actions button{height:31px;padding:0 10px;border:1px solid #303036;border-radius:9px;background:#101012;color:#a9a9b1;font-size:9px}.proposal-header-actions button:hover{color:#fff;border-color:#4a4a52}
@media print{html,body.public-body{background:#fff!important;color:#111!important}.proposal-public{max-width:210mm!important;width:210mm!important;min-height:297mm!important;margin:0 auto!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;color:#111!important}.proposal-public *{box-shadow:none!important}.proposal-public header,.proposal-public section{border-color:#ddd!important}.proposal-public p,.proposal-public small,.proposal-public span{color:#555!important}.proposal-public .badge{color:#222!important;border-color:#bbb!important;background:#f4f4f4!important}.proposal-public .proposal-decision,.proposal-header-actions button{display:none!important}.proposal-public footer{color:#777!important}.proposal-public img{filter:none!important}@page{size:A4;margin:12mm}}
.radar-chart{height:185px;margin-top:17px;border-bottom:1px solid #28282e;background:repeating-linear-gradient(to top,transparent 0,transparent 45px,#151518 46px);overflow:hidden}.radar-chart svg{display:block;width:100%;height:100%}.radar-line{fill:none;stroke:var(--yellow);stroke-width:2;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.radar-area{fill:url(#rvwArea);stroke:none}.radar-bars{display:none!important}@media(max-width:980px){.radar-chart{height:105px}}@media(max-width:680px){.radar-chart{height:120px}}

/* Ravooc Works 2.1 · workflow refinement */
:root{--violet:#a98cff;--cyan:#4fd7e8;--orange:#ff9853}
main.content{animation:rvwPageIn .18s ease both}@keyframes rvwPageIn{from{opacity:.45;transform:translateY(3px)}to{opacity:1;transform:none}}
dialog[open]{animation:rvwDialogIn .16s ease both}@keyframes rvwDialogIn{from{opacity:.3;transform:translateY(8px) scale(.992)}to{opacity:1;transform:none}}
.kanban.jobs-board{padding-bottom:8px;scrollbar-width:thin;scrollbar-color:#3a3a40 transparent}
.kanban-col{position:relative;flex-basis:296px;background:linear-gradient(180deg,#0d0d0f,#0a0a0c);box-shadow:0 16px 45px rgba(0,0,0,.13)}
.kanban-col::before{content:"";position:absolute;left:12px;right:12px;top:0;height:2px;border-radius:999px;background:#52525a;opacity:.8}
.kanban-col.stage-todo::before{background:var(--yellow)}.kanban-col.stage-doing::before{background:var(--blue)}.kanban-col.stage-review::before{background:var(--violet)}.kanban-col.stage-approval::before{background:var(--orange)}.kanban-col.stage-waiting_client::before{background:var(--cyan)}.kanban-col.stage-done::before{background:var(--green)}
.job-card{height:128px!important;min-height:128px!important;max-height:128px!important;border-color:#2b2b31!important;background:linear-gradient(145deg,#161618,#111113)!important;box-shadow:0 10px 26px rgba(0,0,0,.18)!important;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease!important}
.job-card:hover{transform:translateY(-2px);border-color:#3c3c44!important;box-shadow:0 16px 34px rgba(0,0,0,.28)!important}
.job-card.is-saving{opacity:.58;cursor:progress!important;transform:none!important}
.job-card h3{font-size:11px!important;line-height:1.28!important;margin:7px 0 3px!important}.job-card p{margin:0 0 6px!important}.job-card footer{margin-top:auto!important}
.job-tags{height:20px;display:flex;align-items:center;gap:4px;overflow:hidden;margin:2px 0 3px}.job-tags span{flex:0 0 auto;height:18px;display:inline-flex;align-items:center;padding:0 6px;border:1px solid #313138;border-radius:999px;background:#1b1b1f;color:#9f9fa9;font-size:7px;font-weight:750;letter-spacing:.025em}.job-tags span:first-child{color:#f5bd46;border-color:rgba(246,167,0,.24);background:rgba(246,167,0,.07)}
.workflow-filters{display:grid;grid-template-columns:minmax(190px,1.3fr) 150px 155px minmax(220px,1fr) auto auto;gap:7px;margin:0 0 12px;padding:8px;border:1px solid #242429;background:#111113;border-radius:13px}.workflow-filters input,.workflow-filters select{height:36px;border:1px solid #2d2d33;border-radius:9px;background:#171719;color:#ddd;padding:0 10px;min-width:0;outline:0}.workflow-filters input:focus,.workflow-filters select:focus{border-color:#57575f;box-shadow:0 0 0 3px rgba(246,167,0,.05)}.workflow-filters .btn{height:36px}.filter-clear{height:36px;display:flex;align-items:center;padding:0 9px;color:#777;font-size:9px}.filter-clear:hover{color:#fff}
.toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding-top:10px}.toggle-grid .checkline{min-height:38px;padding:8px 10px;border:1px solid #29292e;border-radius:9px;background:#151517}
.kanban-empty{height:70px;border:1px dashed #24242a;border-radius:10px;color:#51515a;display:grid;place-items:center;font-size:8px;text-transform:uppercase;letter-spacing:.12em}
.route-loader{position:fixed;z-index:9999;top:0;left:0;height:2px;width:38%;background:linear-gradient(90deg,transparent,var(--yellow),var(--yellow2));box-shadow:0 0 16px rgba(246,167,0,.55);animation:rvwLoad .65s ease-in-out infinite alternate;pointer-events:none}@keyframes rvwLoad{from{transform:translateX(-70%)}to{transform:translateX(220%)}}
body.rvw-busy .content{opacity:.76;transition:opacity .12s ease}
.kanban-list,.compact-list,.activity-list{scrollbar-width:thin;scrollbar-color:#33343a transparent}.kanban-list::-webkit-scrollbar,.compact-list::-webkit-scrollbar,.activity-list::-webkit-scrollbar{width:5px;height:5px}.kanban-list::-webkit-scrollbar-thumb,.compact-list::-webkit-scrollbar-thumb,.activity-list::-webkit-scrollbar-thumb{background:#33343a;border-radius:999px}
@media(max-width:1100px){.workflow-filters{grid-template-columns:1fr 1fr 1fr}.workflow-filters input{grid-column:1/-1}.workflow-filters select:nth-of-type(3){grid-column:1/3}.workflow-filters .btn,.filter-clear{justify-content:center}}
@media(max-width:680px){.workflow-filters{display:flex;overflow-x:auto;padding:7px}.workflow-filters input,.workflow-filters select{min-width:150px}.workflow-filters input{min-width:210px}.job-card{height:122px!important;min-height:122px!important;max-height:122px!important}.kanban-col{flex-basis:282px}.toggle-grid{grid-template-columns:1fr}}

/* Ravooc Works 2.2 · legibilidade, profundidade e fluxo documental */
:root{--surface:#141416;--surface2:#1b1b1f;--line:#303037;--shadow:0 24px 70px rgba(0,0,0,.28)}
body{font-size:15px;background:radial-gradient(circle at 80% -10%,rgba(246,167,0,.055),transparent 30%),var(--bg);overflow-x:hidden}
.app-main{background:linear-gradient(180deg,rgba(255,255,255,.012),transparent 280px)}
.content{max-width:1680px;padding-top:34px}
.page-head small,.panel-head small,.form-title small,.dialog header small,.settings-card small,.proposal-hero small,.focus-card>small,.report-hero small{font-size:11px}
.page-head h1{font-size:clamp(30px,3vw,46px)}.page-head p{font-size:14px;color:#adadb0}
.panel,.table-card,.settings-card,.client-card,.project-card,.approval-card,.file-card,.person-card,.kpi{box-shadow:var(--shadow);border-color:#303037}
.kpi{height:145px;padding:20px}.kpi>span{font-size:13px}.kpi strong{font-size:29px}.kpi small{font-size:12px;color:#85858d}
.panel-head h2{font-size:18px}.panel-head>span{font-size:12px}.table-row{font-size:13px}.table-row b{font-size:13px}.table-row small{font-size:11px}.row-actions a,.row-actions button{font-size:11px}
.client-card h3,.project-card h3,.person-card h3{font-size:16px}.client-card p,.project-card p,.person-card>span{font-size:12px}.client-card-body span,.client-card-foot,.project-metrics,.project-card footer,.person-card footer{font-size:11px}
.form-grid label>span{font-size:11px;color:#a4a4ac}.form-grid input,.form-grid select{height:43px;font-size:14px}.form-grid textarea{font-size:14px;line-height:1.5}.dialog-intro{margin:0;padding:0 17px;color:#9999a2;font-size:13px;line-height:1.6}.workflow-note{display:grid;gap:4px;padding:12px;border:1px solid rgba(246,167,0,.22);border-radius:10px;background:rgba(246,167,0,.055);font-size:13px}.workflow-note b{color:#f5c15a}.workflow-note span{color:#a8a8af;line-height:1.5}
.document-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}.document-overview>div{min-height:100px;border:1px solid #35353d;border-radius:15px;padding:17px;background:linear-gradient(145deg,#18181b,#101012);box-shadow:0 14px 40px rgba(0,0,0,.2)}.document-overview b{display:block;font-size:15px;margin-bottom:8px}.document-overview span{display:block;color:#a0a0a8;font-size:13px;line-height:1.5}.documents-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.document-panel{min-width:0}.document-list{display:grid}.document-row{min-height:68px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid #27272e}.document-row:last-child{border-bottom:0}.document-row:hover{background:#19191d}.document-row b{display:block;font-size:13px}.document-row small{display:block;color:#888891;font-size:11px;margin-top:4px}.document-row strong{font-size:13px;color:#f3f3ef}.document-link{display:block;color:var(--yellow);font-size:11px;margin-top:5px}.company-profile{margin:0 0 18px}.company-profile>summary{font-size:13px;color:#d2d2d7;height:46px;padding:0 14px}.company-profile form{padding:5px 0 0}.company-profile footer{display:flex;justify-content:flex-end;padding:0 16px 16px}.team-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.team-summary>div{min-height:75px;border:1px solid #303037;border-radius:13px;padding:13px 15px;background:#151518}.team-summary b{display:block;font-size:19px;color:#f5bd46}.team-summary span{color:#9a9aa2;font-size:12px}.person-photo{object-fit:cover;border-radius:50%;border:3px solid #222}.employee-report{margin-top:14px}.employee-report .panel-head p{margin:5px 0 0;color:#909098;font-size:12px}.employee-table{overflow:auto}.employee-row{min-height:60px;display:grid;grid-template-columns:minmax(210px,1.7fr) 130px 100px 120px 100px;align-items:center;gap:12px;padding:8px 16px;border-bottom:1px solid #27272e;font-size:13px}.employee-row:last-child{border-bottom:0}.employee-row b{display:block}.employee-row small{display:block;color:#85858d;font-size:11px;margin-top:3px}.employee-head{min-height:38px;color:#74747c;text-transform:uppercase;letter-spacing:.08em;font-size:10px;background:#101012}.proposal-live-total{display:flex;align-items:center;gap:13px;margin:0 16px 10px;padding:12px 14px;border:1px solid rgba(246,167,0,.25);border-radius:11px;background:linear-gradient(90deg,rgba(246,167,0,.1),rgba(246,167,0,.025))}.proposal-live-total span{font-size:12px;color:#b5b5bc}.proposal-live-total strong{font-size:20px;color:#ffd06a}.proposal-live-total small{margin-left:auto;color:#7e7e87;font-size:11px}
.module-error{display:flex;align-items:flex-start;gap:16px;padding:24px;border:1px solid rgba(246,167,0,.3);border-radius:16px;background:linear-gradient(145deg,rgba(246,167,0,.09),rgba(16,16,18,.95));box-shadow:var(--shadow)}.module-error-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:var(--yellow);color:#111;font-weight:900}.module-error h2{margin:0 0 8px;font-size:20px}.module-error p{color:#aaaab2;max-width:650px;line-height:1.6}
.public-brand{display:flex;align-items:center;gap:9px}.public-brand img:first-child{width:30px}.public-brand img:last-child{width:91px}.proposal-public,.contract-public,.payslip-document{width:min(940px,calc(100% - 32px));margin:24px auto 50px;padding:0 38px 44px;background:linear-gradient(180deg,#131315,#0e0e10);border:1px solid #2d2d34;border-radius:22px;box-shadow:0 35px 110px rgba(0,0,0,.42)}.proposal-public>header,.contract-public>header,.payslip-document>header{min-height:82px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #2b2b31}.proposal-public>header>img{width:105px}.proposal-public>header>span,.contract-public>header>span{color:#92929b}.proposal-hero,.contract-hero{padding:48px 0 31px}.proposal-hero h1,.contract-hero h1{font-size:clamp(31px,4vw,47px);line-height:1.05;letter-spacing:-.045em;margin:10px 0}.proposal-hero p,.contract-hero p{font-size:14px;color:#a4a4ad}.proposal-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.proposal-meta>span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #33333a;border-radius:999px;font-size:12px;color:#aaaab2}.proposal-items h2,.proposal-note h2,.contract-clause h2{font-size:18px;margin:0 0 14px}.proposal-items article{min-height:80px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;border-top:1px solid #2b2b31;padding:15px 0}.proposal-items article strong{font-size:14px}.proposal-items article p,.proposal-note p{font-size:13px;color:#a1a1a9;line-height:1.65;margin:5px 0 0}.proposal-total{margin-top:18px;border-top:1px solid #2b2b31;border-bottom:1px solid #2b2b31;padding:13px 0}.proposal-total>div{display:flex;justify-content:space-between;padding:6px 0;color:#9c9ca5;font-size:13px}.proposal-total .grand{color:#eee;font-size:17px}.proposal-total .grand strong{font-size:28px;color:#ffd06a}.proposal-note{padding:22px 0;border-bottom:1px solid #2b2b31}.acceptance-form{margin-top:24px;padding:20px;border:1px solid rgba(246,167,0,.24);border-radius:15px;background:rgba(246,167,0,.045)}.acceptance-form h2{margin:0 0 6px;font-size:20px}.acceptance-intro{color:#9999a2;font-size:13px;line-height:1.6}.acceptance-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.acceptance-grid label{display:grid;gap:6px}.acceptance-grid label>span{font-size:11px;color:#9999a2}.acceptance-grid input{height:42px;padding:0 11px;border:1px solid #36363e;background:#111114;color:#eee;border-radius:9px}.acceptance-grid .wide{grid-column:1/-1}.consent-line{display:flex;gap:9px;align-items:flex-start;color:#a8a8b0;font-size:12px;line-height:1.5;margin:14px 0}.acceptance-form textarea{width:100%;min-height:76px;border:1px solid #36363e;background:#111114;color:#eee;border-radius:9px;padding:10px;font-size:13px;margin-bottom:12px}.proposal-decision>div{display:flex;flex-wrap:wrap;gap:8px}.proposal-decision.done{display:grid;gap:9px;margin-top:24px;padding:17px;border:1px solid rgba(70,217,139,.28);border-radius:14px;background:rgba(70,217,139,.07)}.proposal-decision.done b{font-size:16px}.proposal-decision.done span{color:#a5a5ac;font-size:13px}.proposal-public>footer,.contract-public>footer,.payslip-document>footer{padding-top:28px;color:#6d6d76;font-size:11px;text-align:center;line-height:1.5}.contract-parties,.payslip-parties{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:6px 0 28px}.contract-parties>div,.payslip-parties>div{display:grid;gap:5px;padding:15px;border:1px solid #2d2d34;border-radius:13px;background:#111114}.contract-parties small,.payslip-parties small{color:var(--yellow);font-size:10px;font-weight:800;letter-spacing:.12em}.contract-parties b,.payslip-parties b{font-size:14px}.contract-parties span,.payslip-parties span{color:#9898a0;font-size:12px}.contract-clause{padding:19px 0;border-bottom:1px solid #2b2b31}.contract-clause h2{font-size:16px}.contract-clause p{font-size:13px;line-height:1.75;color:#b5b5bc;margin:0}.contract-summary{padding:28px 0 8px}.contract-summary>small,.payslip-title small{color:var(--yellow);font-size:10px;font-weight:800;letter-spacing:.15em}.contract-summary h2{font-size:24px;margin:8px 0 16px}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.summary-grid>div{display:grid;gap:4px;padding:12px;border:1px solid #303037;border-radius:10px;background:#121215}.summary-grid span{color:#8d8d96;font-size:11px}.summary-grid b{font-size:14px}.contract-summary>p{white-space:pre-line;color:#b2b2ba;font-size:13px;line-height:1.7}.signature-status{display:grid;gap:4px;margin-top:20px;padding:15px;border:1px dashed #4d4d56;border-radius:12px}.signature-status b{font-size:13px}.signature-status span{font-size:11px;color:#9999a2}.payslip-document{color:#151515;background:#fff;border:0;border-radius:0;box-shadow:none;padding:36px;min-height:297mm}.payslip-document>header{border-bottom:1px solid #ddd}.payslip-document .public-brand img:last-child{filter:invert(1)}.print-action{border:1px solid #303036;background:#111114;color:#aaaab2;border-radius:9px;padding:9px 12px;cursor:pointer}.payslip-title{padding:35px 0 22px}.payslip-title h1{font-size:34px;letter-spacing:-.04em;margin:9px 0}.payslip-title p{color:#555;font-size:13px}.payslip-parties{margin-bottom:23px}.payslip-parties>div{border-color:#ddd;background:#fafafa}.payslip-parties small{color:#956900}.payslip-table,.payroll-table{width:100%;border-collapse:collapse;margin-top:12px;color:#222}.payroll-table th,.payroll-table td{padding:12px;border:1px solid #ddd;text-align:left;font-size:13px}.payroll-table th:not(:first-child),.payroll-table td:not(:first-child){text-align:right}.payroll-table thead{background:#f2f2f2}.payroll-table tfoot{background:#faf5e9}.payslip-net{display:flex;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid #ddd}.payslip-net span{font-size:13px;color:#555}.payslip-net strong{font-size:25px;color:#765000}.payslip-net small{margin-left:auto;color:#666}.payslip-note{padding:16px 0;border-bottom:1px solid #ddd}.payslip-note p{font-size:12px;color:#555;line-height:1.6}.payslip-signatures{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:75px}.payslip-signatures div{padding-top:10px;border-top:1px solid #333;text-align:center;font-size:11px;color:#555}
@media print{body{background:#fff!important}.sidebar,.topbar,.page-actions,.app-footer,.tabs,.btn,.print-action,.proposal-header-actions button,.acceptance-form,.proposal-decision.done .btn{display:none!important}.app-main{margin:0}.content{padding:0}.module-error{box-shadow:none}.proposal-public,.contract-public,.payslip-document{width:210mm!important;max-width:none!important;min-height:297mm!important;margin:0 auto!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;color:#111!important}.proposal-public *,.contract-public *,.payslip-document *{box-shadow:none!important}.proposal-public>header,.contract-public>header,.payslip-document>header{border-color:#ddd}.proposal-public p,.proposal-public small,.proposal-public span,.contract-public p,.contract-public small,.contract-public span{color:#555!important}.proposal-public section,.contract-public section{break-inside:avoid;border-color:#ddd}.contract-summary,.a4-last-page{break-before:page;page-break-before:always}.proposal-public>footer,.contract-public>footer,.payslip-document>footer{color:#777!important}@page{size:A4;margin:12mm}}
@media(max-width:980px){.document-overview,.documents-grid{grid-template-columns:1fr 1fr}.content{padding-top:27px}}
@media(max-width:680px){body{font-size:14px}.content{padding:20px 12px calc(98px + env(safe-area-inset-bottom))}.document-overview,.documents-grid,.team-summary{grid-template-columns:1fr}.document-overview>div{min-height:84px}.document-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 12px}.document-row strong{display:none}.document-row b{font-size:12px}.document-row small{font-size:10px}.employee-row{grid-template-columns:minmax(150px,1fr) 75px 55px 80px 65px;min-width:530px;padding:8px 12px}.employee-table{margin:0 -1px;overflow-x:auto}.proposal-public,.contract-public{width:100%;margin:0;padding:0 17px 30px;border-radius:0;border-left:0;border-right:0}.proposal-public>header,.contract-public>header{min-height:64px}.proposal-hero,.contract-hero{padding:32px 0 23px}.proposal-hero h1,.contract-hero h1{font-size:29px}.proposal-items article{grid-template-columns:minmax(0,1fr) auto;gap:8px}.proposal-items article b{grid-column:2;grid-row:1}.proposal-items article>span{grid-column:1;grid-row:2}.acceptance-grid,.contract-parties,.payslip-parties,.summary-grid{grid-template-columns:1fr}.acceptance-grid .wide{grid-column:auto}.proposal-live-total{margin:0 13px 9px;flex-wrap:wrap}.proposal-live-total small{width:100%;margin-left:0}.payslip-document{width:100%;min-height:auto;padding:20px}.payslip-signatures{gap:18px}.payslip-net{flex-wrap:wrap}.payslip-net small{width:100%;margin-left:0}.bottom-nav{bottom:max(8px,env(safe-area-inset-bottom));height:calc(61px + env(safe-area-inset-bottom));padding-bottom:calc(5px + env(safe-area-inset-bottom))}.mobile-more{bottom:calc(76px + env(safe-area-inset-bottom))}}
/* 2.4.3 · operação sem apertos: ponto, cards e comunicação interna */
.job-card{cursor:pointer;position:relative}.job-card:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}.job-briefing{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden!important;color:#a8a8ad!important;font-size:11px!important;line-height:1.35!important;margin-top:4px!important}
.time-clock-card{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:20px;padding:22px;border:1px solid rgba(246,167,0,.28);border-radius:16px;background:linear-gradient(135deg,rgba(246,167,0,.09),#111114);margin-bottom:14px}.time-clock-body{display:grid;gap:8px}.time-clock-body>small,.time-clock-mark small{color:var(--yellow);font-size:10px;font-weight:800;letter-spacing:.12em}.time-clock-body h2{margin:0;font-size:22px}.time-clock-body p{margin:0;color:#9999a2;font-size:13px}.time-clock-body label{display:grid;gap:5px;margin-top:7px}.time-clock-body label span{font-size:11px;color:#9999a2}.time-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.location-status{color:#898991;font-size:11px}.time-clock-mark{display:grid;align-content:center;justify-items:end;gap:8px;text-align:right}.time-clock-mark>b{font-size:44px;letter-spacing:-.06em}.live-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:rgba(246,167,0,.12);color:#ffd16b;font-size:10px;font-weight:800}.time-table{overflow:auto}.time-row{display:grid;grid-template-columns:1.3fr 1.3fr .7fr .9fr 1.4fr;align-items:center;gap:10px;min-width:640px;padding:11px 12px;border-bottom:1px solid #25252a;font-size:12px}.time-head{color:#85858f;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.chat-shell{display:grid;grid-template-columns:250px minmax(0,1fr);gap:14px;min-width:0}.chat-list,.chat-room{min-width:0;border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden}.chat-list{max-height:calc(100vh - 190px);overflow:auto}.chat-list-title{padding:15px 16px;border-bottom:1px solid var(--line);color:var(--yellow);font-size:10px;font-weight:800;letter-spacing:.12em}.chat-room-link{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;padding:11px 13px;border-bottom:1px solid #24242a}.chat-room-link:hover,.chat-room-link.active{background:#1d1b16}.chat-room-link.active{box-shadow:inset 3px 0 0 var(--yellow)}.chat-room-link>span:last-child{min-width:0}.chat-room-link b,.chat-room-link small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-room-link small{margin-top:3px;color:#8b8b94;font-size:10px}.avatar.tiny{width:30px;height:30px;font-size:10px}.chat-room{display:grid;grid-template-rows:auto minmax(280px,1fr) auto}.chat-room>header{padding:15px 18px;border-bottom:1px solid var(--line)}.chat-room>header h2{margin:3px 0 0;font-size:18px}.chat-scroll{min-height:300px;max-height:calc(100vh - 360px);overflow:auto;padding:18px;display:grid;align-content:start;gap:10px}.chat-message{display:flex;gap:8px;max-width:78%;align-items:flex-end}.chat-message.mine{margin-left:auto;flex-direction:row-reverse}.bubble{padding:10px 12px;border:1px solid #303037;border-radius:13px 13px 13px 4px;background:#1a1a1e;color:#e6e6e9;line-height:1.5;font-size:13px}.chat-message.mine .bubble{border-color:rgba(246,167,0,.25);background:rgba(246,167,0,.09);border-radius:13px 13px 4px 13px}.msg-meta{display:block;margin-top:4px;color:#85858e;font-size:10px}.chat-compose{padding:13px 15px;border-top:1px solid var(--line);display:grid;gap:8px}.chat-compose textarea{min-height:64px;resize:vertical}.emoji-row{display:flex;gap:5px;flex-wrap:wrap}.emoji-row button{width:30px;height:28px;padding:0;border:1px solid #303037;border-radius:8px;background:#19191c}.emoji-row button:hover{border-color:var(--yellow);transform:translateY(-1px)}.advanced{border:1px solid #29292f;border-radius:11px;padding:9px 12px}.advanced summary{cursor:pointer;color:#c7c7cb;font-size:11px}.advanced-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.pulse-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:14px;align-items:start}.pulse-compose,.pulse-post,.pulse-side .settings-card{border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.pulse-compose{display:grid;gap:10px;padding:16px;margin-bottom:12px}.pulse-compose textarea{min-height:92px;resize:vertical}.pulse-feed{display:grid;gap:12px}.pulse-post{padding:16px}.pulse-post>header{display:flex;align-items:center;gap:9px}.pulse-post>header>div{min-width:0}.pulse-post>header b,.pulse-post>header small{display:block}.pulse-post>header small{color:#8b8b94;font-size:10px;margin-top:2px}.pulse-body{padding:12px 0 8px;font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.pulse-actions{display:flex;gap:6px;flex-wrap:wrap}.pulse-actions form{display:inline-flex}.pulse-actions button{border:1px solid #303037;background:#18181b;color:#bdbdc3;border-radius:9px;padding:7px 10px;font-size:11px}.pulse-actions button:hover{border-color:var(--yellow);color:#fff}.pulse-comments{display:grid;gap:7px;margin-top:10px;padding-top:10px;border-top:1px solid #26262c}.pulse-comments form{display:flex;gap:6px}.pulse-comments input{min-width:0;flex:1;height:34px}.pulse-comments button{height:34px}.pulse-side{display:grid;gap:12px}.profile-spot{padding:16px}.inline-toggle{display:flex;justify-content:flex-end;margin-bottom:10px}
.sidebar-collapse{position:absolute;right:-12px;top:30px;width:25px;height:25px;border:1px solid #393939;border-radius:50%;background:#1b1b1b;color:#ddd;z-index:3}.sidebar-collapse:hover{color:var(--yellow);border-color:var(--yellow)}body.sidebar-collapsed{--sidebar:78px}.sidebar-collapsed .sidebar{padding-left:10px;padding-right:10px}.sidebar-collapsed .brand-type,.sidebar-collapsed .workspace-label,.sidebar-collapsed .sidebar nav span,.sidebar-collapsed .side-bottom span{display:none}.sidebar-collapsed .logo{justify-content:center;padding:0}.sidebar-collapsed .logo .brand-mark{width:32px}.sidebar-collapsed .sidebar nav a,.sidebar-collapsed .side-bottom a{justify-content:center;padding:0}.sidebar-collapsed .sidebar-collapse{right:-13px;transform:rotate(180deg)}
@media(max-width:980px){.chat-shell,.pulse-layout{grid-template-columns:1fr}.chat-list{max-height:220px}.pulse-side{grid-template-columns:1fr 1fr}.time-clock-card{grid-template-columns:1fr 150px}.chat-scroll{max-height:520px}}
@media(max-width:680px){.time-clock-card{grid-template-columns:1fr;padding:15px}.time-clock-mark{justify-items:start;text-align:left}.time-clock-mark>b{font-size:34px}.time-row{min-width:640px}.pulse-side{grid-template-columns:1fr}.advanced-grid{grid-template-columns:1fr}.chat-message{max-width:92%}.chat-scroll{padding:12px}.sidebar-collapse{display:none}.sidebar-collapsed{--sidebar:0px}.sidebar-collapsed .sidebar{transform:translateX(-100%)}}
/* RAVOOC 2.6.0 · sistema visual inspirado em Figma
 * Tokens consistentes, grid fluido, hierarquia curta e estados visíveis. */
:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius:12px;--sidebar:236px;--shadow:0 16px 46px rgba(0,0,0,.2)}
html,body{max-width:100%;overflow-x:hidden}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.5}.app-main,.content,.page-head,.page-head>div,.page-actions,.panel,.settings-card,.dashboard-grid,.report-grid,.client-grid,.project-grid,.team-grid,.form-grid,.table-card{min-width:0}.sidebar{background:#0d0e10;border-right-color:#25272c;padding:18px 12px 12px;box-shadow:10px 0 30px rgba(0,0,0,.12)}.logo{height:42px;margin-bottom:12px;padding-inline:10px}.logo .brand-mark{width:30px!important}.logo .brand-type{width:91px!important}.sidebar nav,.side-bottom{gap:3px}.sidebar nav a,.side-bottom a{height:38px;border-radius:8px;gap:10px;padding-inline:10px;color:#aeb1b8;font-size:12px;font-weight:650}.sidebar nav a:hover,.side-bottom a:hover{background:#191b1f;color:#fff}.sidebar nav a.active,.side-bottom a.active{background:#211d13;box-shadow:inset 2px 0 0 var(--yellow);color:#fff}.workspace-label{margin:14px 10px 6px;color:#666a73;font-size:9px;letter-spacing:.15em}.workspace-label.second{margin-top:20px}.sidebar-collapse{top:26px;width:24px;height:24px;border-radius:8px;background:#17191d;border-color:#34363d}.sidebar-fold{margin-top:16px;border-top:1px solid #24262b;padding-top:9px}.sidebar-fold summary{display:flex;align-items:center;gap:10px;height:38px;padding:0 10px;border-radius:8px;color:#8f939b;cursor:pointer;font-size:11px;font-weight:700;list-style:none}.sidebar-fold summary::-webkit-details-marker{display:none}.sidebar-fold summary:hover{background:#191b1f;color:#fff}.sidebar-fold summary i{width:18px;height:18px;display:grid;place-items:center}.sidebar-fold[open] summary{color:#fff;background:#17191d}.sidebar-fold nav{margin-top:3px}.topbar{height:64px;padding:0 clamp(16px,2.2vw,32px);background:rgba(15,15,16,.9);border-bottom-color:#24262b}.content{width:min(100%,1440px);padding:28px clamp(16px,2.4vw,36px) 56px}.page-head{align-items:center;gap:16px;margin-bottom:20px}.page-head h1{font-size:clamp(25px,3vw,36px);letter-spacing:-.055em}.page-head p{max-width:700px;font-size:12px}.page-actions{flex-wrap:wrap;justify-content:flex-end}.btn{min-height:36px;height:auto;min-width:0;border-radius:9px;padding:9px 13px;line-height:1.1;font-size:12px}.kpi-grid{grid-auto-rows:128px;gap:10px;margin-bottom:14px}.kpi{height:128px;border-radius:11px;padding:15px}.kpi strong{font-size:23px}.panel,.settings-card,.client-card,.project-card,.person-card,.lead-card,.job-card,.time-clock-card,.chat-list,.chat-room,.pulse-compose,.pulse-post{border-radius:12px}.panel-head{min-height:62px;height:auto;padding:13px 16px;gap:12px}.panel-head>div{min-width:0}.panel-head h2{font-size:15px}.panel-head span{font-size:11px;text-align:right}.dashboard-grid,.report-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr);gap:12px}.client-grid,.project-grid{grid-auto-rows:210px;gap:10px}.client-card,.project-card{height:210px;padding:14px}.kanban{gap:10px}.kanban-col{flex-basis:278px;min-height:480px;border-radius:10px}.kanban-list{padding:8px;gap:7px}.lead-card,.job-card{border-radius:9px}.job-card{padding:11px}.job-card h3,.client-card-top h3,.project-card h3{overflow-wrap:anywhere}.form-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}.form-grid>label,.form-grid>.checkline{grid-column:span 6;min-width:0}.form-grid>.wide{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{max-width:100%;min-width:0}.dialog{width:min(720px,calc(100vw - 24px));max-width:calc(100vw - 24px);border-radius:12px;border-color:#383b43}.dialog.dialog-wide{width:min(900px,calc(100vw - 24px));max-width:calc(100vw - 24px)}.dialog>form{min-width:0}.table-card{overflow:hidden}.table-row{min-width:680px;overflow-wrap:anywhere}.time-history-panel{overflow:hidden}.time-filter{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--line);background:#121316}.time-filter label{display:grid;gap:5px;min-width:170px;flex:1}.time-filter label span{color:#92959d;font-size:10px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.time-filter input{width:100%;height:36px;border:1px solid #30333a;border-radius:8px;background:#17191d;color:#f2f3f4;padding:0 10px}.time-filter .btn{flex:0 0 auto}.time-row{grid-template-columns:1.25fr 1.25fr .7fr 1fr .8fr 1.6fr;min-width:770px;padding:10px 12px;gap:9px}.time-status{font-size:11px;font-weight:750;overflow-wrap:anywhere}.time-status.late{color:#ff7777}.time-status.on-time{color:#72dea2}.time-status.neutral{color:#9b9da5}.location-cell.captured{color:#72dea2}.location-cell.not-captured{color:#9699a2}.time-note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.time-clock-card{padding:20px;gap:18px}.time-clock-mark>b{font-size:38px}.quick-menu{border-radius:10px;border-color:#353840}.mobile-more{border-radius:12px;border-color:#34373f;background:#17191d}.module-error{border-radius:12px}.settings-card{padding:18px}.app-footer{padding-top:22px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}
@media(max-width:1100px){.dashboard-grid,.report-grid{grid-template-columns:1fr}.client-grid,.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding-inline:24px}}
@media(max-width:680px){.content{padding:20px 12px calc(96px + env(safe-area-inset-bottom))}.topbar{height:58px;padding-inline:12px}.crumb{font-size:11px}.page-head{align-items:flex-start;flex-direction:column;margin-bottom:16px}.page-head h1{font-size:30px}.page-actions{width:100%;justify-content:flex-start}.page-actions .btn{flex:0 1 auto}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:112px;gap:8px}.kpi{height:112px;padding:12px}.kpi strong{font-size:18px}.kpi>span,.kpi small{font-size:10px}.client-grid,.project-grid{grid-template-columns:1fr;grid-auto-rows:auto}.client-card,.project-card{height:auto;min-height:190px}.form-grid{grid-template-columns:1fr;gap:10px}.form-grid>label,.form-grid>.checkline,.form-grid>.wide{grid-column:1/-1}.dialog{padding:0}.dialog header,.dialog footer{padding:13px 14px}.dialog .form-grid{padding:14px}.time-clock-card{grid-template-columns:1fr;padding:15px}.time-clock-mark{justify-items:start;text-align:left}.time-clock-mark>b{font-size:31px}.time-filter{align-items:stretch;flex-direction:column;padding:12px}.time-filter label{min-width:0}.time-filter .btn,.time-filter a{width:100%}.time-table{max-width:100%;overflow-x:auto}.time-row{min-width:770px}.sidebar-fold{margin-top:10px}.sidebar-fold nav{display:grid}.sidebar-fold summary{height:36px}.sidebar-collapsed .sidebar-fold nav,.sidebar-collapsed .sidebar-fold summary span{display:none}.sidebar-collapsed .sidebar-fold summary{justify-content:center;padding:0}.chat-scroll{max-height:480px}.chat-compose{padding:11px}.pulse-post,.pulse-compose{padding:13px}.site-footer{padding-bottom:90px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
/* Keep long navigation usable on short desktop and tablet viewports. */
.sidebar{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}

/* RAVOOC 2.7.0 · alinhamento final com a referência exportada do Figma.
 * Espaço, hierarquia, superfície e comportamento responsivo são intencionais. */
:root{--sidebar:240px;--surface:#141414;--surface2:#1a1a1a;--surface3:#202020;--line:#252525;--line2:#2e2e2e;--text:#f2f2ef;--muted:#787874;--faint:#3e3e3a;--brand-bg:#1c1900;--shadow:none;--radius:16px}
html,body{background:#0f0f0f;color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.app-main{margin-left:var(--sidebar);min-width:0}
.sidebar{width:var(--sidebar);background:#0d0d0d;border-right:1px solid var(--line);padding:16px 16px 12px;box-shadow:none}
.logo{height:42px;margin-bottom:18px;padding:0 8px;gap:8px}
.logo .brand-mark{width:30px!important}.logo .brand-type{width:92px!important}
.workspace-label{margin:16px 8px 6px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.workspace-label.second{margin-top:22px}
.sidebar nav,.side-bottom{gap:4px}
.sidebar nav a,.side-bottom a{height:36px;border-radius:12px;gap:10px;padding:0 10px;color:#aaa9a5;font-size:12px;font-weight:650}
.sidebar nav a:hover,.side-bottom a:hover{background:#1a1a1a;color:var(--text)}
.sidebar nav a.active,.side-bottom a.active{background:var(--brand-bg);box-shadow:inset 2px 0 0 var(--brand);color:var(--text)}
.topbar{height:60px;padding:0 24px;background:rgba(15,15,15,.92);border-bottom:1px solid var(--line)}
.content{width:min(100%,1560px);margin-inline:auto;padding:32px 24px 40px}
.page-head{gap:22px;margin-bottom:24px;align-items:flex-end}
.page-head h1{font-size:clamp(28px,3vw,36px);font-weight:900;line-height:1.02;letter-spacing:-.055em}
.page-head p{max-width:720px;font-size:14px;line-height:1.5;color:var(--muted)}
.page-head small,.panel-head small,.form-title small,.dialog header small{font-size:9px;font-weight:800;letter-spacing:.15em;color:var(--brand);text-transform:uppercase}
.page-actions{gap:8px}
.btn{min-height:40px;border-radius:10px;padding:0 14px;font-size:13px;line-height:1.15}
.kpi-grid{grid-auto-rows:112px;gap:12px;margin-bottom:16px}
.kpi{height:112px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:none}
.kpi strong{font-size:26px;line-height:1.05;letter-spacing:-.04em}
.kpi>span{font-size:11px;color:var(--muted)}.kpi small{font-size:11px;color:var(--muted)}
.panel,.settings-card,.client-card,.project-card,.person-card,.lead-card,.job-card,.time-clock-card,.chat-list,.chat-room,.pulse-compose,.pulse-post,.approval-card,.file-card{border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:none}
.panel-head{min-height:64px;height:auto;padding:16px 20px;gap:12px}
.panel-head h2{font-size:16px;line-height:1.2;letter-spacing:-.02em}.panel-head span{font-size:12px;color:var(--muted)}
.dashboard-grid,.report-grid{gap:12px;grid-template-columns:minmax(0,1.5fr) minmax(280px,.9fr)}
.client-grid,.project-grid{gap:12px;grid-auto-rows:220px}.client-card,.project-card{height:220px;padding:16px}
.kanban{gap:12px;overflow-x:auto;padding-bottom:4px}
.kanban-col{flex:0 0 280px;min-height:540px;max-height:calc(100vh - 220px);overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#0d0d0d;box-shadow:none}
.kanban-list{max-height:480px;overflow-y:auto;padding:12px;gap:8px}
.lead-card,.job-card{border-radius:12px}.job-card{padding:12px}
.job-card h3,.client-card-top h3,.project-card h3{overflow-wrap:anywhere}
.table-card{border-radius:16px;border-color:var(--line);overflow-x:auto;box-shadow:none}
.table-row{min-width:640px;overflow-wrap:anywhere}
.dialog{width:min(720px,calc(100vw - 32px));max-width:calc(100vw - 32px);border:1px solid var(--line2);border-radius:16px;background:var(--surface);box-shadow:0 24px 80px rgba(0,0,0,.6)}
.dialog.dialog-wide{width:min(900px,calc(100vw - 32px));max-width:calc(100vw - 32px)}
.dialog header,.dialog footer{min-height:64px;padding:0 20px;border-color:var(--line)}
.form-grid{gap:12px;padding:20px}.form-grid input,.form-grid select,.form-grid textarea{min-height:40px;border-radius:10px;border-color:var(--line2);background:#111;color:var(--text)}
.time-clock-card{padding:24px;gap:20px}.time-clock-mark>b{font-size:42px;letter-spacing:-.06em}
.time-filter{gap:12px;padding:16px 20px;background:#121212;border-bottom:1px solid var(--line)}
.time-filter input{height:40px;border-radius:10px;border-color:var(--line2);background:#111;color:var(--text)}
.time-row{min-width:780px;padding:12px 20px;gap:12px}.time-status{font-size:12px;font-weight:750}.time-status.late{color:#ff6565}.time-status.on-time{color:#46d98b}
.settings-card{padding:20px}.module-error{border-radius:16px}
.mobile-more{border:1px solid var(--line2);border-radius:16px;background:#141414}
.app-footer{padding-top:24px;color:var(--faint)}
.sidebar-collapsed{--sidebar:64px}.sidebar-collapsed .sidebar{width:64px;padding-inline:8px}.sidebar-collapsed .brand-type,.sidebar-collapsed .workspace-label,.sidebar-collapsed .sidebar nav span,.sidebar-collapsed .side-bottom span{display:none}.sidebar-collapsed .logo{justify-content:center;padding:0}.sidebar-collapsed .sidebar nav a,.sidebar-collapsed .side-bottom a{justify-content:center;padding:0}.sidebar-collapsed .sidebar-collapse{right:-12px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
@media(max-width:1100px){.dashboard-grid,.report-grid{grid-template-columns:1fr}.client-grid,.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding-inline:24px}}
@media(max-width:980px) and (min-width:681px){body{--sidebar:64px}.sidebar{width:64px;padding-inline:8px}.app-main{margin-left:64px}.brand-type,.workspace-label,.sidebar nav span,.side-bottom span{display:none}.logo{justify-content:center;padding:0}.sidebar nav a,.side-bottom a{justify-content:center;padding:0}.sidebar-fold nav,.sidebar-fold summary span{display:none}.sidebar-fold summary{justify-content:center;padding:0}.content{padding-inline:20px}.command{max-width:340px}}
@media(max-width:680px){.app-main{margin-left:0}.content{width:100%;padding:24px 12px calc(96px + env(safe-area-inset-bottom))}.topbar{height:60px;padding-inline:12px}.page-head{align-items:flex-start;flex-direction:column;margin-bottom:20px}.page-head h1{font-size:30px}.page-actions{width:100%;justify-content:flex-start}.page-actions .btn{min-height:44px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:112px;gap:8px}.kpi{height:112px;padding:12px}.kpi strong{font-size:19px}.kpi>span,.kpi small{font-size:10px}.client-grid,.project-grid{grid-template-columns:1fr;grid-auto-rows:auto}.client-card,.project-card{height:auto;min-height:200px}.kanban-col{flex-basis:280px;min-height:480px;max-height:calc(100vh - 190px)}.kanban-list{max-height:420px}.dialog,.dialog.dialog-wide{width:calc(100vw - 24px);max-width:calc(100vw - 24px);border-radius:16px}.dialog header,.dialog footer{min-height:60px;padding:12px 16px}.form-grid{grid-template-columns:1fr;gap:10px;padding:16px}.form-grid>label,.form-grid>.checkline,.form-grid>.wide{grid-column:1/-1}.time-clock-card{grid-template-columns:1fr;padding:16px}.time-clock-mark{justify-items:start;text-align:left}.time-clock-mark>b{font-size:34px}.time-filter{align-items:stretch;flex-direction:column;padding:12px}.time-filter label{min-width:0}.time-filter .btn,.time-filter a{width:100%;min-height:44px}.time-table{max-width:100%;overflow-x:auto}.time-row{min-width:780px}.bottom-nav{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));height:64px;border:1px solid var(--line2);border-radius:16px;background:rgba(26,26,26,.94);padding:6px;box-shadow:0 18px 60px rgba(0,0,0,.55)}.bottom-nav a,.bottom-nav button{min-height:44px;border-radius:12px}.site-footer{padding-bottom:90px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.jobs-board .job-card{position:relative;transition:transform .16s ease,opacity .16s ease,border-color .16s ease,box-shadow .16s ease}
.jobs-board .job-card.dragging{cursor:grabbing;opacity:.42;transform:scale(.985)}
.jobs-board .job-card.is-saving{opacity:.68;cursor:wait;border-color:var(--yellow);box-shadow:0 0 0 1px rgba(246,167,0,.2),0 12px 28px rgba(0,0,0,.25)}
.jobs-board .job-card[aria-busy="true"]{pointer-events:none}
.jobs-board .kanban-col.drag-over{border-color:var(--yellow)!important;background:linear-gradient(180deg,#17130a,#0b0b0c)!important;box-shadow:0 0 0 1px rgba(246,167,0,.18),0 16px 42px rgba(0,0,0,.2)}
.jobs-board .kanban-list{min-height:120px}
.job-stage-select{width:96px;min-width:0;height:26px;border:1px solid #34363c;border-radius:7px;background:#1a1b1f;color:#cfd1d6;padding:0 5px;font:700 9px/1 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.01em}
.job-stage-select:focus{border-color:var(--yellow)}
.job-card footer{gap:6px;flex-wrap:wrap}
.job-card footer .job-stage-select{flex:0 1 96px}
@media(max-width:680px){.job-stage-select{width:100%;height:29px;flex-basis:100%;order:4}.jobs-board .job-card{height:132px!important;min-height:132px!important;max-height:132px!important}.jobs-board .kanban-list{min-height:150px}}
.sidebar-sections{display:grid;gap:7px;min-height:0;overflow:auto;flex:1;margin-top:7px;padding-right:1px;scrollbar-width:thin;scrollbar-color:#2f3036 transparent}
.sidebar-section{border-top:1px solid #202126;padding-top:5px}
.sidebar-section summary{display:flex;align-items:center;gap:9px;height:29px;padding:0 10px;border-radius:8px;color:#676b74;cursor:pointer;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;list-style:none}
.sidebar-section summary::-webkit-details-marker{display:none}
.sidebar-section summary:after{content:'+';margin-left:auto;color:#595c64;font-size:13px;font-weight:500;letter-spacing:0;line-height:1}
.sidebar-section[open] summary:after{content:'−'}
.sidebar-section summary:hover,.sidebar-section[open] summary{background:#111318;color:#aeb1b8}
.sidebar-section summary i{width:16px;height:16px;display:grid;place-items:center;flex:none}
.sidebar-section nav{display:grid;gap:3px;margin-top:4px}
.sidebar-section nav a{background:#111318}
.sidebar-section nav a.active{background:var(--yellow)!important;border-color:var(--yellow)!important;box-shadow:none!important;color:#08090b!important}
.sidebar-section nav a.active i{color:#08090b}
.sidebar-product{margin:0 10px 2px;color:#a4a8b1;font-size:9px;font-weight:800;letter-spacing:.14em}
@media(max-width:980px) and (min-width:681px){.sidebar-sections{overflow:visible}.sidebar-section summary{justify-content:center;padding:0}.sidebar-section summary span,.sidebar-section summary:after{display:none}.sidebar-section nav a span{display:none}.sidebar-section nav a{justify-content:center;padding:0}.sidebar-section summary i{width:18px}}
@media(max-width:680px){.sidebar-sections{overflow:auto;padding-bottom:4px}.sidebar.open .sidebar-section summary span{display:block}.sidebar.open .sidebar-section summary:after{display:block}.sidebar-section nav a span{display:block}.sidebar-section nav a{justify-content:flex-start;padding-inline:10px}}
