/* GIRA Logix brand and interface layer */
:root{--ink:#16181d;--ink2:#2c3038;--green:#e4551d;--lime:#f6a21c;--paper:#f6f5f2;--surface:#fff;--surface2:#faf9f6;--line:#e3e1dc;--muted:#6d6b66;--blue:#e4551d;--amber:#d9a400;--red:#d04444;--shadow:0 10px 30px #1a1c220b;--shadow-hover:0 14px 38px #1a1c2218}
html[data-theme=dark]{--ink:#e9eae6;--ink2:#c4c7cd;--paper:#121418;--surface:#1a1d22;--surface2:#20242a;--line:#2f333b;--muted:#8f949c;--blue:#f0762e;--green:#f0762e;--shadow:0 10px 30px #0005;--shadow-hover:0 16px 44px #0007}
body{font-feature-settings:"cv02","cv03","cv04","cv11";letter-spacing:-.005em}
button,.project-card,.metrics article{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease}
.primary{background:var(--blue);border-color:var(--blue);box-shadow:0 4px 12px #e4551d33}.primary:hover{background:#c9461a;border-color:#c9461a;transform:translateY(-1px)}
.secondary:hover{border-color:#f9c28b;background:#fdfaf7}html[data-theme=dark] .secondary:hover{background:#22262f}.overline,.breadcrumbs{color:var(--blue)}.light{color:#f6a21c}
.login-shell{grid-template-columns:minmax(0,1.12fr) minmax(420px,.88fr);background:#f9f3ee}.login-brand{position:relative;justify-content:space-between;padding:clamp(42px,7vw,104px);background:radial-gradient(circle at 85% 12%,#e4551d40,transparent 40%),linear-gradient(150deg,#0f1115,#1b1f27 60%,#23282f);overflow:hidden}.login-brand::before,.login-brand::after{content:"";position:absolute;border:1px solid #e8794933;border-radius:50%}.login-brand::before{width:620px;height:620px;right:-240px;top:-260px}.login-brand::after{width:380px;height:380px;right:-100px;top:-140px}
.login-logo{position:relative;z-index:1;display:block;width:230px;height:auto}.login-copy{position:relative;z-index:1;margin:auto 0}.login-copy>.overline{color:#f6a21c}.login-brand h1{margin:20px 0 24px;max-width:720px;font-size:clamp(48px,5.6vw,78px);line-height:1;letter-spacing:-.055em}.login-brand h1 em{color:#f6a21c}.login-brand>div>p:last-child{max-width:590px;color:#facd9f;font-size:18px;line-height:1.6}.login-proof{position:relative;z-index:1;display:flex;gap:14px;align-items:center;color:#fff}.login-proof>span{display:grid;place-items:center;width:38px;height:38px;border:1px solid #ffffff2b;border-radius:50%;color:#f6a21c;font:700 11px ui-monospace,monospace}.login-proof p{margin:0}.login-proof small{display:block;margin-top:4px;color:#b0aa9e}
.login-card{padding:46px;border:1px solid #f0e5dc;border-radius:20px;box-shadow:0 28px 80px #353b4820}.login-card h2{margin:9px 0 6px;font-size:32px;letter-spacing:-.035em}.login-badge{display:inline-block;margin-bottom:28px;padding:6px 9px;border-radius:5px;background:#fbf4ed;color:#e4551d;font-size:10px;font-weight:800;letter-spacing:.12em}.login-card input{min-height:46px;border-color:#e4e2de;background:#fdfbf9}.login-card input:focus{outline:3px solid #e4551d1a;border-color:#e4551d}.login-card .primary{display:flex;align-items:center;justify-content:space-between;min-height:48px}.login-foot{display:block;margin-top:28px;color:#9e9788;text-align:center}
.topbar{color:var(--ink);background:color-mix(in srgb,var(--surface) 94%,transparent);border-bottom:1px solid var(--line);box-shadow:0 1px 0 #ffffff99;backdrop-filter:blur(16px)}.top-main{height:68px}.product{width:164px;padding:0}.product img{display:block;width:156px;height:52px;object-fit:contain;object-position:left center}.context{padding-left:18px;border-left:1px solid var(--line)}.context label{color:var(--muted)}.context select{color:var(--ink)}.top-actions>button{color:var(--muted)}.top-actions>button:hover{background:#fbf5ef;color:var(--blue)}html[data-theme=dark] .top-actions>button:hover{background:#242831}.top-actions>button>kbd{position:absolute;left:-36px;display:none}.health{background:#e9f7ef;color:#237b4b}html[data-theme=dark] .health{background:#153425;color:#7bd7a1}.profile>b{background:#faf1ea;color:var(--blue)}.profile small{color:var(--muted)}
.navline{border-top:1px solid var(--line)}.navwrap{height:47px;align-items:center}.navwrap nav button{height:47px;border-radius:0;color:var(--muted)}.navwrap nav button:hover{color:var(--blue);background:#fdf9f5}.navwrap nav button.active{position:relative;background:transparent;color:var(--blue)}.navwrap nav button.active::after{content:"";position:absolute;inset:auto 12px -1px;height:3px;border-radius:3px 3px 0 0;background:var(--blue)}.navwrap>.primary{margin:0}
.content{padding-top:34px}.page-head{margin-bottom:25px}.page-head h1{font-size:30px;letter-spacing:-.035em}.breadcrumbs{font-size:10px;letter-spacing:.1em}.hero{position:relative;min-height:270px;padding:46px;border:1px solid #2a2e36;border-radius:18px;background:radial-gradient(circle at 88% 18%,#e4551d4d,transparent 42%),linear-gradient(120deg,#111318,#1f232b 70%,#2a2e36);box-shadow:0 18px 45px #1a1c2226}.hero::after{content:"";position:absolute;width:330px;height:330px;right:80px;top:-180px;border:1px solid #f6a21c33;border-radius:50%;box-shadow:0 0 0 70px #f6a21c0a,0 0 0 140px #f6a21c08}.hero>div,.hero aside{position:relative;z-index:1}.hero h2{font-size:46px}.hero h2 em{color:#f6a21c}.hero>div>p:last-of-type{color:#facd9f}.hero-actions{display:flex;gap:18px;align-items:center;margin-top:28px}.hero-actions button{min-height:40px;border:0;border-radius:8px;font-weight:750}.hero-primary{padding:0 17px;background:#fff;color:#2d333e}.hero-link{background:transparent;color:#f4e2d3}.hero-link:hover{color:#fff}.hero aside{border-color:#ffffff30;background:#171a1f55;backdrop-filter:blur(8px)}.hero aside b{color:#fff}.hero aside small i{display:inline-block;width:7px;height:7px;margin-right:4px;border-radius:50%;background:#4bd28a}
.metrics{gap:14px;margin:16px 0}.metrics article{position:relative;padding:22px;border-radius:14px}.metrics article:hover,.project-card:hover{transform:translateY(-2px);border-color:#edd1b9;box-shadow:var(--shadow-hover)}.metrics article>i{background:#fbf5f0;color:var(--blue)}html[data-theme=dark] .metrics article>i{background:#282d36}.metrics strong{font-size:30px}.panel,.table-panel,.upload-card,.analysis{border-radius:14px}.panel{padding:24px}.chip.good{background:#e9f7ef;color:#237b4b}html[data-theme=dark] .chip.good{background:#153425;color:#7bd7a1}.pipeline button{background:var(--surface2)}.pipeline button:hover{border-color:#facb9b;transform:translateY(-1px)}.pipeline button i{background:var(--blue)}.tasks button,.tabs button.active,.upload-icon,.empty>b,.route-demo{color:var(--blue)}.tabs button.active{border-color:var(--blue)}.steps b,.timeline article::before{background:var(--blue)}.legend i{border-color:var(--blue)}
.canvas{border-color:#cfcbc4;background-color:var(--surface2);background-image:radial-gradient(#c2beb5 1px,transparent 1px)}.filezone{border-color:#f9c48f;background:var(--surface2)}.filezone:hover{border-color:var(--blue);background:#fdf9f5}.toolbar select,.searchfield{background:var(--surface)}.toast.success{background:#e4551d}.popover{border-radius:13px}.project-card{border-radius:14px;box-shadow:var(--shadow)}html[data-theme=dark] .product img{content:url('/assets/gira-logo-on-dark.png')}
@media(min-width:1100px){.top-actions>button:first-child{width:66px;padding-right:28px}.top-actions>button:first-child kbd{display:block}}
@media(max-width:900px){.login-shell{grid-template-columns:1fr}.login-brand{min-height:360px;padding:42px}.login-copy{margin:44px 0}.login-brand h1{font-size:44px}.login-proof{display:none}.hero::after{right:-140px}.product{width:138px}.product img{width:132px}}
@media(max-width:560px){.login-brand{display:none}.login-card{padding:34px 28px}.product{width:46px}.product img{content:url('/assets/gira-mark.png');width:42px;height:42px;object-fit:contain}html[data-theme=dark] .product img{content:url('/assets/gira-mark-on-dark.png')}.hero{padding:28px 24px}.hero h2{font-size:30px}.hero-actions{align-items:flex-start;flex-direction:column;gap:8px}}

/* Top navigation: stable layout without visible native scrollbars */
.navwrap{gap:18px}.navwrap nav{min-width:0;flex:1;scrollbar-width:none;-ms-overflow-style:none}.navwrap nav::-webkit-scrollbar{display:none}.navwrap nav button{padding-inline:11px}.navwrap>.primary{flex:0 0 auto;white-space:nowrap}
@media(max-width:1180px) and (min-width:901px){.top-main{gap:16px}.context{padding-left:14px}.context select{min-width:135px}.profile span{display:none}.health span{display:none}.navwrap nav button{padding-inline:8px;font-size:11px}}

/* OrdenGO dialog pattern: centered on desktop, bottom sheet on mobile */
body.dialog-open{overflow:hidden}body.dialog-open .mobile-nav,body.dialog-open .sheet{display:none!important}
dialog:not(#searchDialog){width:min(560px,calc(100vw - 32px));max-height:min(94vh,94dvh);margin:auto;padding:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 24px 80px #181b2140;overscroll-behavior:contain}
dialog:not(#searchDialog)[open]{animation:gira-dialog-in .2s cubic-bezier(.2,.8,.2,1) both}
dialog::backdrop{background:#181b2199;backdrop-filter:blur(2px);animation:gira-backdrop-in .16s ease-out both}
dialog:not(#searchDialog) form{display:flex;flex-direction:column;width:100%;max-height:min(94vh,94dvh);padding:0;overflow:auto}
dialog:not(#searchDialog) .dialog-head{position:sticky;top:0;z-index:2;align-items:flex-start;padding:22px 24px 18px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(12px)}
.dialog-head .overline{margin-bottom:5px}.dialog-head h3{font-size:20px;letter-spacing:-.025em}.dialog-subtitle{margin:5px 0 0;color:var(--muted);font-size:12px;font-weight:400}.dialog-head button{display:grid;width:38px;height:38px;place-items:center;border-radius:9px}.dialog-head button:hover{background:var(--paper);color:var(--ink)}
dialog:not(#searchDialog) form>label,dialog:not(#searchDialog) form>.two{margin-inline:24px}dialog:not(#searchDialog) form>label:first-of-type{margin-top:22px}
dialog input,dialog select,dialog textarea{min-height:44px;border-color:var(--line);background:var(--surface2);color:var(--ink);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}dialog textarea{resize:vertical}dialog input:focus,dialog select:focus,dialog textarea:focus{outline:0;border-color:var(--blue);background:var(--surface);box-shadow:0 0 0 3px #e4551d1f}
dialog:not(#searchDialog) footer{position:sticky;bottom:0;z-index:2;margin-top:24px;padding:16px 24px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(12px)}dialog:not(#searchDialog) footer button{min-width:110px}
#assetDialog{width:min(640px,calc(100vw - 32px))}
@keyframes gira-nudge{0%,100%{transform:none}20%{transform:translateX(-7px)}40%{transform:translateX(7px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}dialog[open].gira-nudge,dialog:not(#searchDialog)[open].gira-nudge{animation:gira-nudge .4s ease-out}@media(prefers-reduced-motion:reduce){dialog[open].gira-nudge,dialog:not(#searchDialog)[open].gira-nudge{animation:none;outline:2px solid var(--accent,#E4551D)}}@keyframes gira-dialog-in{from{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:none}}@keyframes gira-sheet-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes gira-backdrop-in{from{background:#181b2100}to{background:#181b2199}}
@media(max-width:639px){dialog:not(#searchDialog){width:100%;max-width:none;max-height:calc(100dvh - 12px);margin:auto 0 0;border-width:1px 0 0;border-radius:20px 20px 0 0}dialog:not(#searchDialog)[open]{animation-name:gira-sheet-in}dialog:not(#searchDialog) form{max-height:calc(100dvh - 12px)}dialog:not(#searchDialog) .dialog-head{padding:18px 18px 15px}dialog:not(#searchDialog) form>label,dialog:not(#searchDialog) form>.two{margin-inline:18px}dialog:not(#searchDialog) form>.two{grid-template-columns:1fr}dialog:not(#searchDialog) footer{display:grid;grid-template-columns:1fr 1fr;padding:14px 18px calc(14px + env(safe-area-inset-bottom))}dialog:not(#searchDialog) footer button{width:100%}}

/* Consistent stroke icon system */
.ui-icon{display:inline-block;width:17px;height:17px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px}.navwrap nav button,#moreSheet button{display:inline-flex;align-items:center;gap:7px}.mobile-nav .ui-icon{display:block;width:20px;height:20px;margin:0 auto 3px}.top-actions .ui-icon{width:18px;height:18px}.searchfield>.ui-icon{width:16px;height:16px}.metrics article>i .ui-icon{width:21px;height:21px}.upload-icon .ui-icon{width:42px;height:42px;stroke-width:1.45}.empty>b .ui-icon{width:52px;height:52px;stroke-width:1.35}
.role-hidden{display:none!important}

/* Account and alert popovers */
.popover{top:74px;right:28px;width:310px;padding:0;border:1px solid #f0e5dc;border-radius:16px;background:var(--surface);box-shadow:0 22px 60px #2b303a26;overflow:hidden;animation:gira-popover-in .18s cubic-bezier(.2,.8,.2,1) both}.popover::before{content:"";position:fixed;inset:0;z-index:-1}.popover-eyebrow{display:block;margin-bottom:4px;color:var(--blue);font-size:10px;font-weight:850;letter-spacing:.13em}.account-card-head{display:flex;align-items:center;gap:12px;padding:20px 20px 15px}.account-card-head>div{min-width:0}.account-card-head b,.popover-title b{display:block;font-size:15px}.account-card-head small{max-width:215px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-avatar{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border-radius:12px;background:#fbf4ed;color:var(--blue);font-weight:850}.account-role{display:flex;align-items:center;justify-content:space-between;margin:0 20px 14px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface2);font-size:12px}.account-role span{font-weight:750}.account-role small{color:var(--muted)}
.popover .popover-action{display:flex;width:100%;min-height:48px;align-items:center;gap:10px;padding:0 20px;border:0;border-top:1px solid var(--line);background:transparent;text-align:left;font-size:12px;font-weight:700}.popover .popover-action:hover{background:#fff4f4}.popover .popover-action.danger{color:var(--red)}.popover-action .ui-icon{width:17px;height:17px}
.notifications{right:82px;width:360px}.popover-title{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--line)}.count-badge{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:#fbf4ed;color:var(--blue);font-size:10px;font-weight:850}.notification-list{display:grid}.notification-item{position:relative;display:flex;gap:12px;padding:15px 20px;border-bottom:1px solid var(--line)}.notification-item.unread::after{content:"";position:absolute;top:20px;right:18px;width:6px;height:6px;border-radius:50%;background:var(--blue)}.notification-icon{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border-radius:10px;background:#fbf5f0;color:var(--blue)}.notification-icon .ui-icon{width:17px;height:17px}.notification-item>div{padding-right:12px}.notification-item b{font-size:12px}.notification-item p{margin:4px 0 5px;padding:0;border:0;color:var(--muted);font-size:11px;line-height:1.4}.notification-item small{color:#a39c8f;font-size:9px}.popover-footer{padding:11px 20px;background:var(--surface2);color:#47805d;text-align:center;font-size:10px;font-weight:700}
@keyframes gira-popover-in{from{opacity:0;transform:translateY(-5px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:639px){.popover,.notifications{position:fixed;top:auto;right:10px;bottom:78px;left:10px;width:auto;border-radius:16px}.notification-list{max-height:55vh;overflow:auto}}

/* Account trigger: quiet by default, explicit on interaction */
.top-actions .profile{width:auto;min-width:0;height:44px;margin-left:7px;padding:4px 7px 4px 12px;border-left:1px solid var(--line);border-radius:0 10px 10px 0;background:transparent;gap:9px}.top-actions .profile:hover,.top-actions .profile[aria-expanded="true"]{background:var(--paper);color:var(--ink)}.profile>b{width:31px;height:31px;border-radius:9px;background:var(--blue);color:#fff;font-size:11px}.profile>span{display:block;color:var(--ink);font-size:11px;font-weight:700;line-height:1.15;white-space:nowrap}.profile>span small{display:block;margin-top:3px;color:var(--muted);font-size:10px;font-weight:500}.profile>.ui-icon{width:15px;height:15px;color:#9e9788;transition:transform .18s ease}.profile[aria-expanded="true"]>.ui-icon{transform:rotate(180deg)}
@media(max-width:1050px){.profile>span small{display:none}.top-actions .profile{gap:7px}}
@media(max-width:960px){.profile>span{display:none}.top-actions .profile{padding-left:8px}}
