/* Direção visual original: grafite, superfícies claras e acentos pontuais. */
:root{--canvas:#0d0c10;--surface:#1d1d20;--surface-solid:#1d1d20;--raised:#29282e;--text:#f7f6fa;--secondary:#b6b2c0;--border:#343239;--blue:#a9baff;--cyan:#92d2e8;--green:#92e7b2;--orange:#f3c78a;--red:#ffa29a;--purple:#d3bbff;--shadow:0 6px 24px #00000012}
body{color:var(--text);background:var(--canvas)}body.light{--canvas:#f2f1f5;--surface:#fff;--surface-solid:#fff;--raised:#e9e7ee;--text:#24222c;--secondary:#615b6c;--border:#d7d3de;--blue:#3455b6;--cyan:#1d6b80;--green:#276e43;--orange:#925014;--red:#b03c3c;--purple:#70509f}
.grid-bg{display:none}.ambient{opacity:.055;filter:blur(90px);animation:ambientFloat 20s ease-in-out infinite alternate}.ambient-a{background:#9d8aff}.ambient-b{background:#6d8dff;animation-delay:-10s}@keyframes ambientFloat{to{transform:translate(35px,50px)}}
.app-shell{grid-template-columns:88px 1fr}.sidebar{padding:24px 12px;background:#19181d;border-right:1px solid var(--border);align-items:center;z-index:20}.brand{padding:0 0 32px}.brand>div:last-child,.sidebar .storage-card,.sidebar .profile>div:nth-child(2),.sidebar .profile>.status-dot{display:none}.brand-mark{width:44px;height:44px;border-radius:12px;background:#f1edf8;box-shadow:none}.brand-mark svg{stroke:#28232e}.main-nav{width:100%;gap:12px}.nav-item{width:52px;min-height:48px;padding:0;justify-content:center;margin:auto;border-radius:12px;overflow:visible}.nav-item>span:not(.nav-icon){display:none}.nav-icon{display:grid;place-items:center;width:24px;height:24px}.nav-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.nav-item.active{background:#f2eef9;color:#211e29;box-shadow:0 4px 18px #bdb0ed1c}.nav-item:hover{background:#35323d;transform:translateY(-2px);color:#fff}.nav-item.active:hover{background:#fff;color:#211e29}.nav-item::after{content:attr(aria-label);position:absolute;left:64px;top:5px;white-space:nowrap;background:#f3eff9;color:#231e2e;padding:8px 12px;border-radius:8px;font-size:14px;box-shadow:0 6px 24px #0003;opacity:0;transform:translateX(-5px);transition:.18s;pointer-events:none;z-index:90}.nav-item:hover::after,.nav-item:focus-visible::after{opacity:1;transform:none}.sidebar-bottom{width:100%;gap:20px}.profile{padding:20px 0 0;display:flex;justify-content:center}.avatar{border-radius:50%;background:#c2b4eb;color:#29213d;border:0;width:40px;height:40px;font-size:14px}
.topbar{background:rgba(13,12,16,.88);height:80px;padding:0 40px;border-bottom-color:#242229}body.light .topbar{background:#f2f1f5ee}body.light .sidebar{background:#e9e7ef}.breadcrumb{font-size:14px}.breadcrumb strong{font-weight:500}.icon-btn{border-radius:50%;background:#232127;border-color:#37333e}.primary-btn{background:#f1edf8;color:#24202e;box-shadow:none;border-color:#f1edf8;position:relative;overflow:hidden}.primary-btn:hover{background:#fff;box-shadow:0 8px 25px #d0beff22;transform:translateY(-2px)}.secondary-btn{border-color:var(--border);font-weight:550}.primary-btn.compact{font-size:14px;min-height:44px}.content{max-width:1232px;padding:32px 40px 64px}
.hero{position:relative;display:flex;align-items:center;min-height:142px;padding:8px 0 24px;margin-bottom:12px;isolation:isolate}.hero h1{font-size:clamp(30px,3.3vw,42px);font-weight:550;letter-spacing:-.045em;margin-top:10px}.hero p{font-size:16px;color:var(--secondary)}.hero .eyebrow{font-size:12px;letter-spacing:.12em;color:var(--secondary)}.hero .eyebrow i{width:6px;height:6px;border-radius:50%;background:#98e3b2;box-shadow:0 0 12px #98e3b240}.hero-date{border:1px solid var(--border);padding:10px 16px;border-radius:12px;text-align:center;min-width:110px;background:var(--surface)}.hero-date strong{font-size:28px;margin:5px 0}.hero-date span,.hero-date small{font-size:11px}.hero-orbits,.fx-chip{display:none}
.stats-grid{gap:16px;margin-bottom:24px}.stat-card{background:var(--surface);border:1px solid var(--border);padding:20px;border-radius:12px;position:relative;isolation:isolate;overflow:hidden;min-height:182px;transition:transform .3s,border-color .3s,box-shadow .3s}.stat-card::before{inset:0;background:radial-gradient(280px circle at var(--fx-x,-300px) var(--fx-y,-300px),#c0b5ff20,transparent 65%);z-index:-1}.stat-card::after{content:"";position:absolute;bottom:0;left:18px;right:18px;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.4;pointer-events:none}.stat-card header{font-size:14px;align-items:center;color:var(--text)}.stat-card .stat-icon{background:var(--raised);border-radius:50%;width:34px;height:34px;font-size:17px}.stat-card strong{font-size:40px;line-height:1.2;margin:19px 0 7px;font-weight:550;letter-spacing:-.045em}.stat-card small{font-size:14px}.stat-card small b{font-weight:400;color:var(--secondary)}.stat-card:first-child{background:#f1edf9;border-color:#f1edf9;color:#282330;--secondary:#60566e}.stat-card:first-child header{color:#282330}.stat-card:first-child .stat-icon{background:#5276ed;color:white}.stat-card:first-child::after{display:none}.stat-card:first-child::before{background:radial-gradient(240px circle at var(--fx-x,-300px) var(--fx-y,-300px),#9e83e144,transparent 65%)}.stat-card:nth-child(2){--accent:#f7c58c!important}.stat-card:nth-child(3){--accent:#f5a8a0!important}.stat-card:nth-child(4){--accent:#94e8b4!important}
.dashboard-grid{grid-template-columns:1.15fr 1fr;gap:24px;margin-bottom:24px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;backdrop-filter:none;box-shadow:none;transition:border-color .3s}.panel-kicker{font-size:12px;letter-spacing:.13em;color:var(--secondary)}.panel-head h2{font-size:20px;font-weight:550}.text-btn{font-size:14px;color:var(--text);min-height:44px}.deadlines-panel,.progress-panel,.recent-panel{padding:24px}.deadline-row{gap:12px;padding:15px 0;transition:background .25s,transform .25s}.deadline-row strong{font-size:14px;font-weight:500}.deadline-row p{font-size:14px;margin-top:4px}.deadline-date{width:44px;height:48px;background:var(--raised);border-radius:8px}.deadline-date span{font-size:11px}.urgency{font-size:12px;padding:5px 7px;font-weight:550}.donut-wrap{min-height:260px;gap:28px}.donut{width:160px;height:160px;box-shadow:0 0 0 10px #ffffff03;transition:transform .45s}.donut strong{font-size:32px;font-weight:500}.donut span{font-size:14px}.legend-row{font-size:14px;gap:8px}.legend{gap:13px}.legend-row i{width:9px;height:9px}.legend-row b{font-weight:500}
th{font-size:12px;font-weight:500;padding:16px 12px}td{font-size:14px;padding:19px 12px}.status-pill,.priority-pill{font-size:12px;border-color:transparent;background:color-mix(in srgb,var(--pill,var(--blue)) 9%,transparent);border-radius:5px}.status-pill{color:var(--pill)}.process-no{color:var(--blue);font-size:14px}tbody tr:hover{background:#ffffff05}.table-wrap{border-radius:8px}.toolbar{padding:12px;margin-bottom:24px;gap:16px;background:transparent;border:0}.search-box{background:var(--surface)}.search-box input{font-size:14px}.toolbar select{font-size:14px}.process-grid{gap:20px}.process-card{background:var(--surface);border-color:var(--border);padding:20px;min-width:0}.process-card::after{left:0;right:0;top:0;bottom:auto;width:auto;height:4px;background:var(--card-accent);opacity:.85}.process-card header{margin-top:4px;gap:10px;flex-wrap:wrap}.process-card h3{font-size:18px;font-weight:550;line-height:1.4}.process-card p{font-size:14px;min-height:42px}.card-meta{font-size:14px;gap:10px;align-items:flex-start}.process-card:hover,.kanban-card:hover{border-color:#9890aa;box-shadow:0 12px 30px #0002}.page-head h1{font-weight:550;font-size:36px}.page-head .eyebrow{font-size:12px;color:var(--secondary)}.page-head p{font-size:16px}.kanban-column{background:var(--surface);border-color:var(--border);padding:12px;min-height:460px}.kanban-head{font-size:14px;min-height:44px}.kanban-head b{font-size:14px}.kanban-card{background:var(--canvas);padding:16px}.kanban-card .process-no{font-size:14px}.kanban-card h3{font-size:16px;font-weight:500}.kanban-card footer{font-size:14px;gap:8px;flex-wrap:wrap}.task-title{font-size:16px;font-weight:500}.task-sub{font-size:14px}.task-check{min-width:44px;min-height:44px;border-radius:50%;position:relative}.task-check.done{background:#9de5b6;color:#203026}.task-row{transition:background .25s}.document-group header span,.file-mini strong,.file-mini small,.file-card strong,.file-card small,.setting-card p,.privacy-note p,.detail-notes,.detail-metric span,.detail-metric strong,.form-grid label>span,.file-drop,.empty-inline{font-size:14px}.file-mini>div,.file-card>div{min-width:0}.file-mini strong,.file-card strong{white-space:normal;overflow-wrap:anywhere}.pdf-icon{font-size:11px}.setting-card h2,.privacy-note h2{font-size:18px;font-weight:550}.detail-metric{padding:14px}.detail-summary{grid-template-columns:repeat(2,1fr)}.file-actions button{min-width:44px;min-height:44px}.modal{border-radius:12px;border-color:#716779}.modal-head h2{font-weight:500}.toast{font-size:14px;background:var(--surface-solid);border-color:#716779}.effects-preferences{padding:24px;margin-bottom:24px;display:flex;gap:24px;align-items:center;justify-content:space-between}.effects-preferences h2{font-size:20px;font-weight:500;margin:0 0 8px}.effects-preferences p{font-size:14px;color:var(--secondary);margin:0}.effects-preferences label{display:grid;gap:8px;font-size:14px}.effects-preferences select{min-width:175px}
/* Effets: halo, reflets, anneaux, réponses au toucher, transitions. */
.primary-btn::after{content:"";position:absolute;inset:-100%;background:linear-gradient(110deg,transparent 46%,#fff9 50%,transparent 54%);transform:translateX(-70%);animation:shineSweep 8s ease-in-out infinite;pointer-events:none}@keyframes shineSweep{0%,65%{transform:translateX(-70%)}95%,100%{transform:translateX(70%)}}
button{position:relative}.fx-ripple{position:absolute;width:24px;height:24px;margin:-12px;border-radius:50%;background:currentColor;opacity:.2;pointer-events:none;animation:rippleOut .65s ease-out forwards}.primary-btn,.secondary-btn,.icon-btn,.task-check{overflow:hidden}@keyframes rippleOut{to{transform:scale(16);opacity:0}}
.fx-waves{position:absolute;inset:0;overflow:hidden;z-index:-1;pointer-events:none;opacity:.15}.fx-waves::before{content:"";position:absolute;width:300px;height:300px;right:-180px;bottom:-170px;border-radius:50%;background:repeating-radial-gradient(ellipse at center,transparent 0 8px,#b9acc6 9px 9.6px,transparent 10.6px 17px);transform:rotate(-20deg) scaleY(.65);animation:waveBreathe 9s ease-in-out infinite alternate}@keyframes waveBreathe{to{transform:rotate(15deg) scaleY(.85) translate(-12px,-12px)}}
.fx-pointer{position:fixed;width:360px;height:360px;left:0;top:0;background:radial-gradient(circle,#c2b1ff09,transparent 68%);pointer-events:none;z-index:2;opacity:0;transition:opacity .3s;will-change:transform}.fx-pointer.visible{opacity:1}
.fx-view-line{position:fixed;top:0;left:88px;right:0;height:2px;z-index:60;pointer-events:none;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#c0adff,#8fa9ff,#aff5c7)}.fx-view-line.run{animation:navSweep .65s ease-in-out}@keyframes navSweep{0%{transform:scaleX(0);opacity:1}70%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
.view.active{animation:viewEnter .55s cubic-bezier(.2,.7,.2,1) both}@keyframes viewEnter{from{opacity:0;transform:translateY(12px);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}
.fx-reveal{animation:cardReveal .65s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--fx-delay,0ms)}@keyframes cardReveal{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.modal{animation:modalEnter .4s cubic-bezier(.16,1,.3,1)}@keyframes modalEnter{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
.modal-backdrop.open{animation:backdropEnter .25s both}@keyframes backdropEnter{from{background-color:transparent;backdrop-filter:blur(0)}to{background-color:#08070dbb;backdrop-filter:blur(8px)}}
.fx-success{position:fixed;pointer-events:none;z-index:85;width:5px;height:5px;background:var(--spark);border-radius:2px;animation:sparkle .75s ease-out forwards}@keyframes sparkle{from{transform:translate(0,0) scale(1);opacity:1}to{transform:translate(var(--dx),var(--dy)) rotate(100deg) scale(.4);opacity:0}}
.fx-toast-pop{animation:toastPop .4s cubic-bezier(.2,1.4,.5,1)}@keyframes toastPop{from{opacity:0;transform:translateY(16px) scale(.92)}to{opacity:1;transform:none}}
.fx-urgent{animation:urgentGlow 4s ease-in-out infinite}@keyframes urgentGlow{50%{box-shadow:0 0 14px #ffa29a20}}
@media(hover:hover) and (pointer:fine){.stat-card:hover{transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-4px);border-color:#a59aac;box-shadow:0 16px 32px #0003}.donut:hover{transform:scale(1.035) rotate(3deg)}.deadline-row:hover{transform:translateX(4px)}.primary-btn{transform:translate(var(--mag-x,0px),var(--mag-y,0px));transition:transform .2s,box-shadow .2s}.primary-btn:hover{transform:translate(var(--mag-x,0px),calc(var(--mag-y,0px) - 2px))}}
body[data-fx="subtle"] .fx-waves::before,body[data-fx="subtle"] .ambient{animation:none}body[data-fx="subtle"] .fx-pointer,body[data-fx="subtle"] .primary-btn::after,body[data-fx="subtle"] .fx-success{display:none}body[data-fx="subtle"] .fx-reveal{animation-duration:.25s}
body[data-fx="off"] *,body[data-fx="off"] *::before,body[data-fx="off"] *::after{animation:none!important;transition:none!important}body[data-fx="off"] .fx-pointer,body[data-fx="off"] .fx-ripple,body[data-fx="off"] .fx-view-line{display:none}body[data-fx="off"] .stat-card:hover,body[data-fx="off"] .primary-btn:hover,body[data-fx="off"] .donut:hover,body[data-fx="off"] .deadline-row:hover{transform:none}
body.light .icon-btn{background:#fff;color:#282330;border-color:var(--border)}body.light .primary-btn{background:#25212e;color:#fff;border-color:#25212e}body.light .stat-card:first-child{background:#27222f;border-color:#27222f;color:#fff;--secondary:#d0c8da}body.light .stat-card:first-child header{color:#fff}body.light .nav-item.active{background:#292331;color:#fff}body.light .nav-item:hover{background:#d5cee0;color:#241e30}body.light .status-pill{color:var(--text)}body.light .nav-item.active:hover{background:#38303f;color:#fff}
@media(max-width:1150px){.dashboard-grid{grid-template-columns:1fr}.donut-wrap{justify-content:center;min-height:230px}.legend{max-width:240px}.stats-grid{grid-template-columns:repeat(4,1fr)}.stat-card{padding:16px}.stat-card header{flex-wrap:wrap;gap:8px}.process-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:950px){.stats-grid{grid-template-columns:repeat(2,1fr)}.content{padding-left:24px;padding-right:24px}.stat-card{min-height:175px}.topbar{padding:0 24px}}
@media(max-width:760px){.app-shell{display:block}.sidebar{width:276px;align-items:stretch;padding:24px 16px}.brand>div:last-child{display:flex}.brand{padding-bottom:28px}.nav-item{width:100%;justify-content:flex-start;padding:0 14px;gap:14px}.nav-item>span:not(.nav-icon){display:initial}.nav-item>.nav-count{display:none!important}.nav-item::after{display:none}.profile{justify-content:flex-start;gap:12px}.sidebar .profile>div:nth-child(2){display:flex}.profile strong,.profile span{font-size:14px}.topbar{height:72px;padding:0 16px}.top-actions{gap:8px}.primary-btn.compact{width:44px;font-size:0}.primary-btn.compact span{font-size:22px}.content{padding:24px 16px 48px}.hero{min-height:150px;padding:0 0 24px}.hero h1{font-size:30px;line-height:1.2}.hero p{font-size:16px;max-width:330px}.hero-date{display:none}.stats-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.stat-card{display:block;padding:16px;min-height:175px}.stat-card header{display:flex;flex-wrap:nowrap;font-size:14px;gap:5px}.stat-card .stat-icon{width:26px;height:26px;flex:none;font-size:14px}.stat-card strong{font-size:36px;margin:20px 0 8px}.stat-card small{font-size:14px;display:block;line-height:1.4}.dashboard-grid{gap:20px}.deadlines-panel,.progress-panel,.recent-panel{padding:20px}.panel-head{gap:8px;align-items:center}.panel-head h2{font-size:20px}.panel-kicker{font-size:12px}.text-btn{font-size:14px;white-space:nowrap}.deadline-row{grid-template-columns:44px 1fr;gap:12px}.deadline-row .urgency{grid-column:2;justify-self:start}.deadline-row strong{font-size:16px}.deadline-row p{font-size:14px}.donut-wrap{flex-direction:column;gap:28px;padding:12px 0}.legend{max-width:100%;gap:16px}.legend-row{font-size:14px}.process-grid,.documents-grid,.settings-grid{grid-template-columns:1fr}.page-head h1{font-size:32px}.process-card header{gap:8px}.effects-preferences{flex-direction:column;align-items:stretch;gap:20px}.effects-preferences label{width:100%}.task-row{gap:10px;grid-template-columns:44px 1fr 44px}.detail-summary{grid-template-columns:1fr 1fr}.modal{padding:20px}.modal-head h2{font-size:22px}.fx-pointer{display:none}.fx-view-line{left:0}.ambient{display:none}.toast-stack{left:16px;right:16px;bottom:16px}.toast{min-width:0;max-width:100%;width:100%}.file-card{grid-template-columns:34px 1fr}.file-actions{grid-column:2}.setting-card p{min-height:0}.breadcrumb{font-size:14px}}
@media(max-width:360px){.stats-grid{grid-template-columns:1fr}.hero h1{font-size:27px}.panel-head{flex-wrap:wrap}.detail-summary{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.fx-ripple,.fx-pointer,.fx-view-line,.fx-success{display:none!important}.stat-card:hover,.primary-btn:hover,.donut:hover,.deadline-row:hover{transform:none!important}}
.kanban-card{position:relative;isolation:isolate;overflow:hidden}.kanban-card .fx-waves{opacity:.08}
.task-check,input,select,textarea,.search-box{border-color:#82788e}.task-check:hover{border-color:#cab8e4}.file-drop{display:block;border-color:#82788e;transition:background .25s,transform .25s}.file-drop.dragging{background:#b3a3f622;transform:scale(1.01);border-color:#d3c0ef}.search-box svg{flex:none;color:var(--secondary)}
[data-open]:focus-visible,.file-drop:focus-visible{outline:2px solid var(--blue);outline-offset:4px}body.light input,body.light select,body.light textarea,body.light .search-box,body.light .task-check{border-color:#817789}
