:root{font-family:DM Sans,sans-serif;color:#22313f;background:#f7f9fb;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:-.035em}a{color:#177b80;text-decoration:none}a:hover{text-decoration:underline}.app-shell{display:flex;min-height:100vh}.sidebar{background:#102532;color:#b9c9d1;width:262px;flex-shrink:0;display:flex;flex-direction:column;min-height:100vh;padding:29px 14px 16px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;color:#fff;font:800 15px Manrope,sans-serif;letter-spacing:.08em;padding:0 13px 38px}.brand-mark{display:grid;place-items:center;background:#32b6a7;color:#072b2e;font-size:19px;font-weight:800;width:37px;height:37px;border-radius:11px;letter-spacing:0}.brand-light{color:#81b0b3;font-weight:600}.sidebar-section-label{color:#77939c;letter-spacing:.11em;font-size:10px;font-weight:800;margin:0 15px 14px}.sidebar nav{display:flex;flex-direction:column;gap:3px}.sidebar nav button{border:0;background:transparent;color:#acbdc5;text-align:left;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:9px;font-weight:600;font-size:13px;min-height:42px}.sidebar nav button:hover{background:#1a3741;color:#fff}.sidebar nav button.active{background:#204b50;color:#e5fffa}.nav-count{margin-left:auto;background:#35555c;color:#d7e5e8;padding:2px 7px;border-radius:6px;font-size:11px}.projects-header{display:flex;justify-content:space-between;align-items:center;margin-top:32px}.projects-header button,.user-tile button{background:none;border:none;color:#92b5be}.project-nav button{font-size:12px!important}.project-dot{background:#46aa9f;width:7px;height:7px;border-radius:50%;flex-shrink:0}.sidebar-footer{margin-top:auto}.sidebar-tip{display:flex;gap:9px;align-items:center;font-size:11px;line-height:1.6;border:1px solid #24434c;background:#18333f;padding:13px;border-radius:9px;margin:16px 3px}.sidebar-tip svg{color:#5bc4b3;flex-shrink:0}.user-tile{display:flex;align-items:center;gap:9px;border-top:1px solid #26404b;padding:18px 4px 2px}.user-avatar,.top-avatar{background:#3a6c70;color:#e7fff9;display:grid;place-items:center;border-radius:50%;width:34px;height:34px;font-weight:800;flex-shrink:0}.user-tile>div{flex:1;min-width:0}.user-tile strong,.user-tile small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-tile strong{color:#fff;font-size:12px}.user-tile small{font-size:10px;color:#91aeb9;margin-top:3px}.main-area{min-width:0;flex:1}.topbar{height:73px;border-bottom:1px solid #e5edf0;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 39px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:12px;font-size:12px;color:#8c9aa6}.topbar-left strong{color:#213543}.slash{color:#c6d1d5}.online-dot{background:#2bbc9d;width:7px;height:7px;border-radius:50%}.top-avatar{width:31px;height:31px;margin-left:12px}.content{max-width:1480px;padding:41px 42px 70px;margin:auto}.eyebrow{color:#208c86;letter-spacing:.14em;font-size:10px;font-weight:800}.page-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:32px}.page-head h1{font-size:27px;margin:8px 0}.page-head p{font-size:13px;color:#8a98a4;margin:0}.head-actions{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 16px;font-size:12px;font-weight:750;border-radius:9px;border:1px solid transparent;white-space:nowrap;transition:.15s}.btn.primary{background:#128a81;border-color:#128a81;color:#fff}.btn.primary:hover{background:#08776f}.btn.secondary{background:#fff;border-color:#e1e8ec;color:#384b57}.btn.secondary:hover{border-color:#a5c2c3}.btn.small{padding:8px 13px}.btn.wide{width:100%}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat-card{background:#fff;border:1px solid #e8eef0;border-radius:13px;padding:20px;display:flex;flex-direction:column;box-shadow:0 3px 12px #1c344405}.stat-icon{height:38px;width:38px;display:grid;place-items:center;border-radius:10px;margin-bottom:20px}.stat-icon.blue{background:#eaf1ff;color:#5477bc}.stat-icon.red{background:#fff0ef;color:#d76360}.stat-icon.amber{background:#fff6e6;color:#c38b37}.stat-icon.green{background:#e8f8f1;color:#23967d}.stat-card>span{font-size:12px;color:#73838f;font-weight:650}.stat-card>strong{font:800 30px Manrope,sans-serif;color:#1c303f;margin-top:5px}.stat-card>small{font-size:11px;color:#a1acb4;margin-top:6px}.section-heading{margin-top:32px;margin-bottom:15px}.section-heading h2,.table-head h2{font-size:16px;margin:0 0 5px}.section-heading p,.table-head p{color:#92a0aa;font-size:12px;margin:0}.portfolio{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.portfolio-card{background:#fff;border:1px solid #e8eef0;border-radius:13px;padding:18px;text-align:left;display:flex;flex-direction:column;min-height:158px;color:#273944}.portfolio-card:hover{border-color:#67bdb0;box-shadow:0 5px 18px #1c34440a}.portfolio-symbol{width:34px;height:34px;background:#e7f4f1;color:#168c80;border-radius:9px;display:grid;place-items:center;margin-bottom:15px}.portfolio-card strong{font-size:12px;min-height:35px;line-height:1.4}.portfolio-meta{display:flex;justify-content:space-between;font-size:10px;color:#93a1a9;margin-top:auto;margin-bottom:10px}.progress-track{background:#edf1f2;border-radius:10px;height:5px;overflow:hidden}.progress-track div{height:100%;background:#26ae9d}.table-panel{background:#fff;border:1px solid #e5edef;border-radius:14px;margin-top:30px;box-shadow:0 3px 10px #1c344403;overflow:hidden}.table-head{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #edf1f3;gap:15px}.table-controls{display:flex;gap:9px}.search{display:flex;align-items:center;gap:8px;border:1px solid #e3eaed;border-radius:8px;padding:9px 10px;color:#99a8b1;background:#fff}.search input{border:0;outline:0;font-size:12px;width:185px;color:#253b49}.select-wrap{position:relative;display:flex;align-items:center}.select-wrap select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:10px 30px 10px 14px;border:1px solid #e3eaed;border-radius:8px;background:#fff;font-size:12px;color:#415663}.select-wrap svg{position:absolute;right:10px;pointer-events:none;color:#8599a2}.table-scroll{overflow-x:auto}.requests-table{border-collapse:collapse;width:100%;min-width:855px}.requests-table th{text-align:left;font-size:10px;color:#9cabb5;letter-spacing:.07em;font-weight:800;padding:16px 21px;background:#fafcfd}.requests-table td{font-size:12px;color:#647581;padding:18px 21px;border-top:1px solid #f0f3f4;vertical-align:middle}.requests-table tbody tr{cursor:pointer}.requests-table tbody tr:hover{background:#f9fcfb}.requests-table td:first-child{width:39%}.requests-table td:first-child strong{display:block;color:#263b48;font-size:12px;font-weight:700;margin-bottom:7px}.requests-table td:first-child small{display:block;font-size:10px;color:#a3afb6}.badge{display:inline-block;white-space:nowrap;padding:5px 9px;border-radius:5px;background:#f1f4f6;color:#778895;font-size:10px;font-weight:750}.priority-high,.state-blocked{background:#fff0ee;color:#cc625c}.priority-medium,.state-waiting{background:#fff7e5;color:#b98d32}.priority-low,.state-open{background:#edf3fa;color:#6485a5}.state-progress,.state-validation{background:#e9f3ff;color:#4b80b0}.state-closed{background:#e4f7ef;color:#258d6a}.late{color:#d15c59;font-weight:750}.table-arrow{font-size:19px;color:#a7b7c0}.empty-state{text-align:center;padding:65px!important;color:#95a3ad!important}.empty-state svg{color:#b6ccc9}.empty-state h3{font-size:16px;color:#314654;margin:12px 0 5px}.empty-state p{font-size:12px}.admin-strip{margin-top:20px;display:flex;justify-content:space-between;align-items:center;border:1px solid #e4edef;background:#f4faf8;border-radius:12px;padding:18px 21px;gap:10px}.admin-strip>div{display:flex;align-items:center;gap:13px;color:#1b8a80}.admin-strip strong{color:#344b57;font-size:12px}.admin-strip p{color:#8799a3;font-size:11px;margin:4px 0 0}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#10253291;z-index:30;display:flex;align-items:center;justify-content:center;padding:15px}.modal,.detail-panel{background:#fff;border-radius:15px;box-shadow:0 30px 70px #0d26314d;overflow:auto;max-height:92vh}.modal{width:min(680px,100%);padding:26px}.modal-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:18px}.modal-heading h2{font-size:21px;margin:6px 0}.icon-btn{border:0;background:transparent;color:#82959e;display:grid;place-items:center;padding:5px;border-radius:8px}.icon-btn:hover{background:#eef3f4}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label,.auth-card label{display:flex;flex-direction:column;gap:7px;color:#58707a;font-size:11px;font-weight:700}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea,.auth-card input,.comment-form textarea{width:100%;border:1px solid #dce5e9;background:#fff;color:#304451;border-radius:8px;padding:11px 12px;font-size:12px;outline:0}.form-grid :is(input,textarea,select):focus,.auth-card input:focus{border-color:#28aa9d;box-shadow:0 0 0 3px #28aa9d17}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.detail-panel{width:min(640px,100%);padding:27px;align-self:stretch;margin-left:auto;max-height:100vh;border-radius:16px 0 0 16px}.detail-panel h2{font-size:22px;line-height:1.4;margin-bottom:12px}.detail-badges{display:flex;gap:8px;margin-bottom:22px}.detail-info{display:grid;grid-template-columns:1fr 1fr;gap:20px;border:1px solid #e6eef0;padding:18px;border-radius:10px}.detail-info small{display:block;font-size:10px;color:#92a0aa;margin-bottom:5px}.detail-info b{font-size:12px;font-weight:700}.detail-section{border-top:1px solid #edf0f2;margin-top:23px;padding-top:21px}.detail-section h3{font-size:14px}.detail-section h3 span{color:#93a4ac}.description{font-size:13px;line-height:1.7;color:#657782;white-space:pre-wrap}.source-link{display:inline-flex;align-items:center;gap:7px;font-size:11px}.comment-form{display:flex;align-items:flex-end;gap:10px;flex-direction:column}.activity-list{margin-top:20px}.activity-item,.history-item{display:flex;gap:10px;margin:0 0 17px}.activity-avatar{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#e5f4f0;color:#16877d;flex-shrink:0;font-size:12px;font-weight:800}.activity-item strong,.history-item strong{font-size:11px}.activity-item time,.history-item time{display:block;color:#a3b0b8;font-size:10px;margin-top:3px}.activity-item p{font-size:12px;color:#637581;white-space:pre-wrap;line-height:1.5}.history-dot{background:#72b8b0;width:8px;height:8px;border-radius:50%;margin-top:4px;flex-shrink:0}.history-item{font-size:11px;color:#6c7d88}.history-item p{margin:5px 0;font-size:10px}.muted{color:#a2aeb6}.toast{position:fixed;bottom:25px;right:25px;z-index:100;background:#123d3b;color:#fff;border-radius:9px;padding:13px 19px;box-shadow:0 9px 28px #0002;font-size:12px}.toast.error{background:#a8403c}.auth-wrap{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:#f7fafb}.auth-panel{background:linear-gradient(140deg,#0c2830,#154845);padding:62px 11%;color:#fff;display:flex;flex-direction:column;justify-content:center}.auth-panel .brand{padding:0;position:absolute;top:38px}.auth-panel h1{max-width:520px;font-size:49px;line-height:1.18}.auth-description{color:#afc9c6;line-height:1.9;max-width:420px}.auth-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.auth-tags span{font-size:11px;border:1px solid #46776e;border-radius:20px;padding:8px 12px}.auth-card{background:#fff;border:1px solid #e3ebec;max-width:440px;width:calc(100% - 55px);align-self:center;padding:36px;border-radius:15px;box-shadow:0 10px 35px #1639460d}.auth-card h2{margin:10px 0;font-size:26px}.auth-card>p{color:#8b9ba2;font-size:12px;line-height:1.7;margin-bottom:25px}.auth-card form{display:flex;flex-direction:column;gap:17px}.auth-card .btn{margin-top:8px}.linkbutton{border:0;background:none;color:#16887e;font-size:12px;margin:21px auto 0;display:block;font-weight:700}.center-screen,.setup-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:15px;color:#3f6063}.setup-wrap{flex-direction:column;max-width:600px;margin:auto;padding:35px;text-align:center}.setup-wrap .brand{color:#204648;padding:0}.setup-wrap h1{margin-top:25px}.setup-wrap p{line-height:1.7;color:#738792}.setup-code{background:#142d3a;color:#c5fff1;text-align:left;padding:20px;border-radius:10px;font-family:monospace;font-size:12px}.spin{animation:spin 1.1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.mobile-menu{display:none}@media(max-width:1250px){.portfolio{grid-template-columns:repeat(3,1fr)}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:850px){.sidebar{position:fixed;z-index:20;left:-270px;transition:left .2s}.sidebar.show{left:0}.topbar{padding:0 20px;height:62px}.content{padding:26px 18px}.page-head{align-items:flex-start;flex-direction:column}.mobile-menu{display:grid}.topbar-right{font-size:0}.topbar-right .online-dot{display:none}.auth-wrap{grid-template-columns:1fr}.auth-panel{padding:90px 8% 35px}.auth-panel .brand{top:24px}.auth-panel h1{font-size:31px;margin:25px 0 6px}.auth-card{margin:35px auto}.table-head{flex-direction:column;align-items:flex-start}.table-controls{width:100%}.search{flex:1}.search input{width:100%}}@media(max-width:520px){.portfolio{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{gap:8px}.stat-card{padding:15px}.stat-card>strong{font-size:25px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.head-actions{width:100%}.head-actions .btn{flex:1}.topbar-left{gap:5px;font-size:11px}.topbar-right{display:none}.detail-panel{border-radius:13px;max-height:96vh}.modal{max-height:96vh}}:root{font-family:Montserrat,Arial,sans-serif;color:#1e1e1e;background:#f8f8f9}h1,h2,h3,.brand,.stat-card>strong{font-family:Montserrat,Arial,sans-serif}.brand{gap:12px;padding-left:13px;padding-right:13px;letter-spacing:.03em;align-items:center}.gravo-logo{height:36px;width:151px;object-fit:contain;object-position:left center;flex-shrink:0}.brand-product{font-size:10px;color:#f1c7c9;white-space:nowrap;font-weight:700;letter-spacing:.07em}.sidebar{background:#1e1e1e;color:#d1d1d1}.sidebar nav button{color:#c6c6c6}.sidebar nav button:hover{background:#343434}.sidebar nav button.active{background:#482124;color:#fff;border-left:3px solid #e4232b}.sidebar-section-label{color:#aaa}.brand-light{color:#e4232b}.sidebar-tip{background:#292929;border-color:#444}.sidebar-tip svg{color:#f27a7f}.user-tile{border-color:#3a3a3a}.project-dot{background:#e4232b}.projects-header button,.user-tile button{color:#ddd}.user-avatar,.top-avatar{background:#3a3a3a;color:#fff}.nav-count{background:#4a3435;color:#fff}.auth-wrap{background:#f8f8f9}.auth-panel{background:linear-gradient(145deg,#151515,#262020 52%,#7b171e)}.auth-panel .brand{top:38px;left:0}.auth-panel h1{font-size:clamp(33px,3.4vw,49px);letter-spacing:-.05em;max-width:580px}.auth-description{color:#e6dadd;font-size:16px}.auth-tags span{border-color:#865359;color:#f8eded}.auth-card{border-color:#ece5e6}.eyebrow,.auth-card .eyebrow{color:#b81c22}.btn.primary{background:#e4232b;border-color:#e4232b}.btn.primary:hover{background:#b81c22}.btn.secondary:hover{border-color:#eaa1a5}.linkbutton,a{color:#b81c22}.portfolio-card:hover{border-color:#e4232b}.portfolio-symbol{background:#fff0f0;color:#b81c22}.progress-track div{background:#e4232b}.admin-strip{background:#fff7f7;border-color:#f4dddd}.admin-strip>div{color:#b81c22}.form-grid :is(input,textarea,select):focus,.auth-card input:focus{border-color:#e4232b;box-shadow:0 0 0 3px #e4232b18}.toast{background:#1e1e1e}.setup-code{background:#1e1e1e;color:#fff}.activity-avatar{background:#ffe4e5;color:#b81c22}.history-dot,.online-dot{background:#e4232b}@media(max-width:520px){.gravo-logo{height:30px;width:122px}.brand-product{font-size:9px}.auth-panel .brand{gap:8px}}.sidebar .gravo-logo{width:120px;height:35px}.sidebar .brand-product{font-size:9px;letter-spacing:0}.auth-panel .gravo-logo{width:170px;height:44px}.auth-panel .brand-product{font-size:11px}
