:root {
  color-scheme: dark;
  --ink:#0a2b50;
  --navy:#0d3a67;
  --panel:#124d82;
  --cyan:#168cff;
  --cyan-soft:#7fc4ff;
  --white:#f7fbff;
  --text:#d6e7f7;
  --muted:#95b7d2;
  --line:rgba(127,196,255,.24);
  --shadow:0 28px 80px rgba(0,5,18,.46);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

*{box-sizing:border-box}
html{min-height:100%;background:#030a14}
body{min-height:100vh;margin:0;color:var(--white);background:linear-gradient(135deg,#030a14 0%,var(--ink) 55%,rgba(13,58,103,.85) 100%);overflow-x:hidden}
button,input,textarea{font:inherit}
button,a{touch-action:manipulation}
a{color:inherit}
.skip-link{position:fixed;z-index:100;left:1rem;top:1rem;transform:translateY(-180%);padding:.8rem 1rem;color:#03101d;background:var(--cyan-soft);border-radius:.6rem;font-weight:800}.skip-link:focus{transform:none}
.client-atmosphere{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 88% 7%,rgba(22,140,255,.19),transparent 30rem),radial-gradient(circle at 8% 91%,rgba(36,86,255,.14),transparent 27rem),linear-gradient(rgba(127,196,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(127,196,255,.022) 1px,transparent 1px);background-size:auto,auto,72px 72px,72px 72px;mask-image:linear-gradient(to bottom,black,transparent 88%)}
.is-signed-out{background:#02060c}
.is-signed-out .client-atmosphere{display:none}
.auth-cinematic{position:fixed;inset:0;z-index:0;overflow:hidden;contain:strict;pointer-events:none;background:#02060c}
.auth-cinematic__poster,.auth-cinematic__video,.auth-cinematic__shade{position:absolute;inset:0;width:100%;height:100%}
.auth-cinematic__poster{z-index:0;opacity:1;background:#02060c url("../assets/circuit-header-opening-keyframe.png") center 45%/cover no-repeat;transition:opacity .35s ease}
.auth-cinematic__video{z-index:1;display:block;object-fit:cover;opacity:0;transform:translateZ(0);transition:opacity 1.65s ease-in-out}
.auth-cinematic.is-video-ready:not(.is-fading) .auth-cinematic__poster{opacity:0}
.auth-cinematic.is-video-ready:not(.is-fading) .auth-cinematic__video{opacity:.82}
.auth-cinematic.is-fading .auth-cinematic__poster,.auth-cinematic.is-fading .auth-cinematic__video{opacity:0}
.auth-cinematic__shade{z-index:2;background:linear-gradient(180deg,rgba(1,5,11,.38),rgba(1,5,11,.27) 44%,rgba(1,5,11,.46))}
.auth-shell{position:relative;z-index:1;width:100%;min-height:100svh;display:grid;place-items:center;padding:clamp(5.5rem,10vh,8rem) 1rem 3rem}
.auth-return{position:absolute;left:clamp(1.25rem,4vw,4rem);top:clamp(1.25rem,4vh,3rem);color:#b9dfff;text-decoration:none;font-size:.86rem;font-weight:750;text-shadow:0 2px 18px #000}
.auth-return:hover{text-decoration:underline}
.auth-card{position:relative;width:min(520px,100%);padding:clamp(1.65rem,4vw,2.65rem);border:1px solid rgba(127,196,255,.3);border-radius:24px;background:linear-gradient(145deg,rgba(7,25,45,.92),rgba(3,13,26,.96));box-shadow:inset 0 1px rgba(205,237,255,.07);overflow:hidden}
.auth-card:before{display:none}
.auth-identity{position:relative;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.55rem;margin:0 0 1.4rem;color:var(--cyan-soft);font-size:.64rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.auth-identity i{width:7px;height:7px;border-radius:50%;background:#67e1ba;box-shadow:0 0 13px rgba(103,225,186,.9)}
.auth-identity b{color:rgba(127,196,255,.52);font-weight:500}
.auth-card__header{position:relative;margin-bottom:1.8rem;text-align:center}
.auth-card__header h1{margin:0;font-size:clamp(2.7rem,5vw,4.25rem);line-height:.96;letter-spacing:-.055em}
.auth-card__header p{max-width:27rem;margin:1rem auto 0;color:var(--text);line-height:1.65}
.auth-form{display:grid;gap:1.1rem}
.activation-link-loaded{display:flex;align-items:center;gap:.8rem;padding:.85rem .95rem;border:1px solid rgba(103,225,186,.3);border-radius:11px;background:rgba(10,96,72,.18);color:#caffeb}
.activation-link-loaded i{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:#67e1ba;box-shadow:0 0 0 5px rgba(103,225,186,.1)}
.activation-link-loaded span{display:grid;gap:.16rem}
.activation-link-loaded strong{font-size:.8rem}
.activation-link-loaded small{color:var(--muted);font-size:.72rem;line-height:1.4}
.auth-form label,.account-password label,.ticket-compose label,.ticket-create__form>label,.ticket-form-grid label{display:grid;gap:.52rem;color:var(--text);font-size:.78rem;font-weight:800;letter-spacing:.02em}
.auth-form input,.account-password input,.ticket-compose textarea,.ticket-create input[type="text"],.ticket-create select,.ticket-create textarea{width:100%;min-height:54px;border:1px solid rgba(127,196,255,.28);border-radius:11px;padding:0 14px;color:var(--white);background:rgba(3,20,39,.72);outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.auth-form input:focus,.account-password input:focus,.ticket-compose textarea:focus,.ticket-create input[type="text"]:focus,.ticket-create select:focus,.ticket-create textarea:focus{border-color:var(--cyan-soft);box-shadow:0 0 0 4px rgba(22,140,255,.14);background:rgba(3,20,39,.94)}
.password-control{position:relative;display:block}
.password-control input{padding-right:70px}
.password-control button{position:absolute;right:8px;top:8px;height:38px;border:0;padding:0 .65rem;color:var(--cyan-soft);background:transparent;font-size:.74rem;font-weight:800;cursor:pointer}
.primary-action{min-height:56px;margin-top:.3rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid #9bdcff;border-radius:12px;padding:0 1.1rem;color:#06182a;background:linear-gradient(105deg,#8fd8ff,#4aa5ff 62%,#67e1ba);box-shadow:0 16px 34px rgba(18,117,228,.22);font-weight:900;cursor:pointer;transition:transform .18s ease,filter .18s ease}
.primary-action:hover{transform:translateY(-2px);filter:brightness(1.07)}
.primary-action:disabled,.primary-action.is-working{cursor:wait;opacity:.66;transform:none}
.auth-switch,.auth-help{display:block;width:max-content;max-width:100%;margin:1.2rem auto 0;color:var(--cyan-soft);font-size:.85rem;font-weight:800;text-align:center;text-decoration:none}
.auth-help{margin-top:.85rem;color:var(--muted);font-weight:650}
.auth-switch:hover,.auth-help:hover{text-decoration:underline}
.auth-employee-login{width:max-content;min-height:44px;margin:1rem auto 0;padding:0 .95rem;display:flex;align-items:center;justify-content:center;border:1px solid rgba(127,196,255,.18);border-radius:999px;color:rgba(214,231,247,.76);background:rgba(3,20,39,.28);font-size:.74rem;font-weight:700;text-decoration:none;transition:color .18s ease,border-color .18s ease,background .18s ease}
.auth-employee-login:hover{color:var(--white);border-color:rgba(127,196,255,.34);background:rgba(3,20,39,.44)}
.auth-employee-login:focus-visible{outline:2px solid var(--cyan-soft);outline-offset:3px}
.secure-connection{margin-top:1.8rem;padding-top:1.2rem;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:.65rem;color:var(--muted);font-size:.73rem}
.secure-connection i,.account-profile span i{width:8px;height:8px;border-radius:50%;background:#67e1ba;box-shadow:0 0 0 5px rgba(103,225,186,.1),0 0 15px #67e1ba;animation:online-pulse 2.2s ease-in-out infinite}
.is-signed-out .secure-connection i{animation:none}
@keyframes online-pulse{50%{opacity:.55;box-shadow:0 0 0 8px rgba(103,225,186,0),0 0 22px #67e1ba}}
.notice{position:relative;margin:0 0 1.2rem;padding:.9rem 1rem;border:1px solid;border-radius:10px;font-size:.86rem;line-height:1.45}
.notice--error{color:#ffd4dc;border-color:rgba(255,113,136,.42);background:rgba(124,26,56,.3)}
.notice--success{color:#caffeb;border-color:rgba(103,225,186,.36);background:rgba(10,96,72,.3)}

.portal-header{position:sticky;z-index:30;top:0;min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem clamp(1.2rem,2.5vw,3rem);border-bottom:1px solid rgba(127,196,255,.16);background:rgba(3,10,20,.86);backdrop-filter:blur(20px)}
.portal-brand{display:flex;align-items:center;gap:.8rem;text-decoration:none}
.portal-brand img{width:50px;height:50px;object-fit:contain;filter:drop-shadow(0 0 18px rgba(22,140,255,.3))}
.portal-brand strong{display:block;font-size:.8rem;letter-spacing:.17em}
.portal-brand small{display:block;margin-top:.16rem;color:var(--muted);font-size:.74rem}
.portal-account{display:flex;align-items:center;gap:1rem;color:var(--text);font-size:.82rem;font-weight:700}
.portal-account form{margin:0}
.portal-account button{min-height:38px;border:1px solid rgba(127,196,255,.32);border-radius:9px;padding:0 .9rem;color:var(--cyan-soft);background:rgba(10,43,80,.72);font-weight:800;cursor:pointer}
.portal-layout{width:100%;min-height:calc(100vh - 82px);margin:0;display:grid;grid-template-columns:clamp(220px,15vw,300px) minmax(0,1fr)}
.portal-nav{position:sticky;top:82px;height:calc(100vh - 82px);padding:clamp(1.25rem,2vw,2rem);border-right:1px solid rgba(127,196,255,.14);display:flex;flex-direction:column;gap:.55rem;background:linear-gradient(180deg,rgba(3,14,28,.72),rgba(4,24,45,.48))}
.portal-nav a{min-height:52px;display:flex;align-items:center;gap:.85rem;border:1px solid transparent;border-radius:12px;padding:0 1rem;color:var(--muted);text-decoration:none;font-size:.86rem;font-weight:800;transition:.18s ease}
.portal-nav a:hover{color:var(--white);border-color:rgba(127,196,255,.2);background:rgba(18,77,130,.3)}
.portal-nav a.is-active{color:#06182a;border-color:#9bdcff;background:linear-gradient(105deg,#8fd8ff,#4aa5ff 62%,#67e1ba);box-shadow:0 12px 26px rgba(22,140,255,.2)}
.nav-icon{width:19px;height:19px;display:block;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.portal-main{width:100%;max-width:2200px;min-width:0;margin:0 auto;padding:clamp(2.4rem,3.2vw,4.8rem) clamp(2rem,4vw,6rem)}
.portal-title{margin-bottom:clamp(1.8rem,2.4vw,3rem)}
.portal-title h1{margin:0;font-size:clamp(3rem,3vw,5.5rem);line-height:.94;letter-spacing:-.058em}
.portal-title p{margin:.9rem 0 0;color:var(--muted);font-size:clamp(.95rem,1.6vw,1.08rem)}
.home-dashboard{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.58fr);gap:clamp(1rem,1.6vw,1.6rem);align-items:stretch}
.home-dashboard>.project-feature{min-height:clamp(360px,40vh,620px);display:flex;flex-direction:column}
.home-dashboard>.project-feature .project-feature__next{margin-top:auto}
.project-feature,.project-card,.empty-panel,.summary-grid article,.file-list article,.ticket-thread,.ticket-create,.ticket-workspace,.account-profile,.account-password{border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,rgba(18,77,130,.76),rgba(10,43,80,.92));box-shadow:0 18px 48px rgba(0,8,24,.22)}
.project-feature{position:relative;overflow:hidden;padding:clamp(1.5rem,2.5vw,3.4rem)}
.project-feature:after{content:"";position:absolute;width:210px;height:210px;right:-100px;top:-105px;border:1px solid rgba(127,196,255,.13);border-radius:50%;box-shadow:0 0 0 30px rgba(127,196,255,.025),0 0 0 60px rgba(127,196,255,.018)}
.project-feature__signal,.project-card__top{position:relative;z-index:1;display:flex;align-items:center;gap:.6rem;color:var(--cyan-soft);font-size:.7rem;font-weight:900;letter-spacing:.12em}
.project-feature__signal i{width:7px;height:7px;border-radius:50%;background:#67e1ba;box-shadow:0 0 12px #67e1ba}
.project-feature__signal strong,.project-card__top strong{margin-left:auto;color:var(--cyan-soft);letter-spacing:0;text-transform:none}
.project-feature h2{position:relative;z-index:1;margin:1.25rem 0 .35rem;font-size:clamp(2rem,2.35vw,4rem);line-height:1.05;letter-spacing:-.04em}
.project-feature>p,.project-card>p{position:relative;z-index:1;margin:0;color:var(--muted)}
.progress-track{position:relative;z-index:1;height:8px;margin:1.4rem 0;border-radius:99px;overflow:hidden;background:rgba(3,20,39,.72)}
.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--cyan-soft),var(--cyan),#67e1ba);box-shadow:0 0 18px rgba(22,140,255,.65)}
.progress-track .progress-10{width:10%}.progress-track .progress-20{width:20%}.progress-track .progress-40{width:40%}.progress-track .progress-70{width:70%}.progress-track .progress-95{width:95%}.progress-track .progress-100{width:100%}
.project-delivery{position:relative;z-index:1;display:grid;gap:1.25rem;margin-top:1.4rem;min-width:0;text-align:left}
.project-delivery>section{border-top:1px solid var(--line);padding-top:1.1rem;min-width:0}
.project-delivery h3{margin:0 0 .6rem;font-size:.95rem;line-height:1.45;color:var(--white);letter-spacing:0;text-transform:none;overflow-wrap:anywhere}
.project-delivery p{margin:.45rem 0 0;font-size:.88rem;line-height:1.65;color:var(--muted);overflow-wrap:anywhere}
.project-delivery .delivery-next p{color:var(--white)}
.project-delivery a{color:var(--cyan-soft);text-underline-offset:4px}
.project-delivery a:focus-visible,.project-delivery summary:focus-visible{outline:2px solid var(--cyan-soft);outline-offset:4px}
.project-delivery .delivery-plan{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;color:var(--white);font-size:1rem}
.delivery-plan span{color:var(--cyan-soft);font-size:.86rem;border:1px solid var(--line);border-radius:99px;padding:.15rem .65rem}
.delivery-history{scroll-margin-top:2rem}
.patch-timeline{list-style:none;margin:1rem 0 0;padding:0 0 0 1.1rem;border-left:1px solid var(--line)}
.patch-timeline li{position:relative;margin:0 0 1.5rem;padding-left:.4rem}
.patch-timeline li:last-child{margin-bottom:0}
.patch-timeline li:before{content:'';position:absolute;left:-1.38rem;top:.4rem;width:8px;height:8px;border-radius:50%;background:var(--cyan-soft)}
.patch-timeline h4{margin:0 0 .35rem;font-size:1rem;line-height:1.4;overflow-wrap:anywhere}
.patch-timeline time{font-size:.75rem;color:var(--muted)}
.project-feature__next{position:relative;z-index:1;padding-top:1.1rem;border-top:1px solid var(--line);display:grid;gap:.35rem}
.project-feature__next small{color:var(--muted);font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em}
.project-feature__next strong{color:var(--text);font-size:.95rem}
.summary-grid{display:grid;grid-template-columns:1fr;gap:clamp(.75rem,1vw,1rem);margin:0}
.summary-grid article{min-height:0;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:clamp(1.15rem,1.7vw,1.6rem)}
.summary-grid article>svg{width:22px;height:22px;margin-bottom:.8rem;fill:none;stroke:var(--cyan-soft);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.summary-grid strong{display:block;color:var(--cyan-soft);font-size:clamp(2.1rem,2.2vw,3.7rem);line-height:1}
.summary-grid span{display:block;margin-top:.5rem;color:var(--muted);font-size:.78rem;font-weight:750}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.project-card{padding:1.4rem}
.project-card h2{margin:1rem 0 .3rem;font-size:1.35rem}
.project-card__meta{display:flex;gap:1rem;margin:-.45rem 0 1rem;color:var(--muted);font-size:.72rem}
.empty-panel{grid-column:1/-1;padding:2rem;text-align:center}
.empty-panel h2{margin:0 0 .4rem}.empty-panel p{margin:0;color:var(--muted)}
.file-list{display:grid;gap:.8rem}
.file-list article{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.25rem}
.file-list article>i{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(127,196,255,.26);border-radius:12px;background:rgba(3,20,39,.55)}
.file-list article>i:before{content:"↗";color:var(--cyan-soft);font-weight:900}
.file-list h2{margin:0;font-size:1rem}.file-list p{margin:.3rem 0 0;color:var(--muted);font-size:.76rem}
.portal-title--tickets{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem}.portal-title--tickets>div{min-width:0}
.ticket-new-action{min-height:50px;display:flex;align-items:center;justify-content:center;gap:1rem;flex:0 0 auto;border:1px solid #9bdcff;border-radius:11px;padding:0 1rem;color:#06182a;background:linear-gradient(105deg,#8fd8ff,#4aa5ff 62%,#67e1ba);font-size:.86rem;font-weight:900;text-decoration:none;box-shadow:0 14px 30px rgba(18,117,228,.18)}.ticket-new-action b{display:none;font-size:1.4rem}
.ticket-workspace{height:clamp(620px,calc(100vh - 250px),960px);min-height:620px;display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr);overflow:hidden;background:rgba(7,28,52,.72)}
.ticket-queue{min-width:0;border-right:1px solid var(--line);display:flex;flex-direction:column;background:rgba(3,20,39,.48)}
.ticket-queue__summary{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1.2rem;border-bottom:1px solid var(--line);color:var(--muted);font-size:.75rem}.ticket-queue__summary strong{color:var(--text);font-size:.84rem}
.ticket-queue__list{min-height:0;overflow:auto}.ticket-queue__item{display:grid;gap:.52rem;padding:1.05rem 1.2rem;border-bottom:1px solid rgba(127,196,255,.12);color:inherit;text-decoration:none;transition:background .18s ease}.ticket-queue__item:hover{background:rgba(22,140,255,.08)}.ticket-queue__item.is-active{background:linear-gradient(90deg,rgba(22,140,255,.2),rgba(22,140,255,.035));box-shadow:inset 3px 0 var(--cyan-soft)}
.ticket-queue__top{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.ticket-queue__top strong{font-size:.88rem;line-height:1.35}.ticket-queue__top time{flex:0 0 auto;color:var(--muted);font-size:.66rem}.ticket-queue__preview{overflow:hidden;color:var(--muted);font-size:.74rem;white-space:nowrap;text-overflow:ellipsis}.ticket-queue__tags{display:flex;align-items:center;gap:.38rem;flex-wrap:wrap}.ticket-queue__tags b{margin-left:auto;color:var(--cyan-soft);font-size:.62rem}
.ticket-tag{padding:.22rem .45rem;border-radius:99px;color:var(--cyan-soft);background:rgba(22,140,255,.12);font-size:.58rem;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.ticket-tag--resolved,.ticket-tag--closed{color:#bfffe8;background:rgba(103,225,186,.1)}.ticket-tag--waiting_on_client{color:#ffe4a8;background:rgba(245,180,64,.12)}.ticket-tag--blocking{color:#ffd4dc;background:rgba(255,113,136,.12)}
.ticket-queue__empty{padding:2rem 1.2rem;text-align:center}.ticket-queue__empty h2{margin:0}.ticket-queue__empty p{color:var(--muted);line-height:1.55}.ticket-queue__empty a{color:var(--cyan-soft);font-weight:850}
.ticket-thread{min-width:0;overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;border:0;border-radius:0;background:transparent;box-shadow:none}
.ticket-thread__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.2rem;padding:1.35rem 1.5rem;border-bottom:1px solid var(--line)}.ticket-thread__header>div{min-width:0}.ticket-thread__header h2{overflow-wrap:anywhere;margin:0;font-size:clamp(1.15rem,1.6vw,1.55rem);letter-spacing:-.025em}.ticket-thread__header p{margin:.42rem 0 0;color:var(--muted);font-size:.71rem}.ticket-mobile-back{display:none;color:var(--cyan-soft);font-size:.76rem;font-weight:800;text-decoration:none}
.ticket-state{min-height:32px;display:flex;align-items:center;gap:.45rem;flex:0 0 auto;border:1px solid rgba(103,225,186,.28);border-radius:99px;padding:0 .72rem;color:#bfffe8;background:rgba(103,225,186,.07);font-size:.65rem;font-weight:900}.ticket-state i{width:7px;height:7px;border-radius:50%;background:#67e1ba;box-shadow:0 0 12px #67e1ba}.ticket-state--waiting_on_client{color:#ffe4a8;border-color:rgba(245,180,64,.28);background:rgba(245,180,64,.07)}.ticket-state--waiting_on_client i{background:#f5b440;box-shadow:0 0 12px #f5b440}.ticket-state--closed,.ticket-state--resolved{color:var(--muted);border-color:var(--line);background:rgba(3,20,39,.34)}.ticket-state--closed i,.ticket-state--resolved i{background:var(--muted);box-shadow:none}
.ticket-operating-alert{padding:.7rem 1.5rem;border-bottom:1px solid rgba(255,113,136,.2);color:#ffd4dc;background:rgba(124,26,56,.18);font-size:.72rem;font-weight:800}
.ticket-messages{height:min(52vh,560px);min-height:360px;overflow:auto;display:flex;flex-direction:column;gap:.8rem;padding:1.2rem}
.ticket-empty{margin:auto;text-align:center}.ticket-empty h2{margin:0 0 .5rem}.ticket-empty p{margin:0;color:var(--muted)}
.message{max-width:min(78%,680px);padding:.9rem 1rem;border:1px solid rgba(127,196,255,.22);border-radius:15px;background:rgba(3,20,39,.68)}
.message--mine{align-self:flex-end;border-color:rgba(22,140,255,.42);background:linear-gradient(145deg,rgba(22,140,255,.28),rgba(10,43,80,.86))}
.message--oasis{align-self:flex-start}
.message>div{display:flex;gap:.8rem;align-items:baseline}.message strong{font-size:.75rem}.message time{color:var(--muted);font-size:.64rem}.message p{margin:.55rem 0 0;color:var(--text);line-height:1.55}
.message-attachments{display:grid;gap:.38rem;margin-top:.7rem}.message-attachments a{padding:.48rem .58rem;border:1px solid var(--line);border-radius:8px;color:var(--cyan-soft);background:rgba(3,20,39,.38);font-size:.68rem;text-decoration:none}.message-attachments a:hover,.message-attachments a:focus-visible{border-color:var(--cyan);color:#fff}
.ticket-compose{display:grid;gap:.8rem;padding:1.2rem;border-top:1px solid var(--line);background:rgba(3,14,28,.36)}
.ticket-compose textarea{min-height:104px;padding:12px 14px;resize:vertical}
.ticket-compose__actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.ticket-compose .primary-action{width:min(220px,100%);margin:0}.ticket-attach-button{position:relative!important;display:inline-flex!important;align-items:center;width:max-content;color:var(--cyan-soft)!important;cursor:pointer}.ticket-attach-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.ticket-status-form{padding:.65rem 1.2rem;text-align:right;background:rgba(3,14,28,.36)}.ticket-status-form button{border:0;padding:.3rem;color:var(--muted);background:transparent;font-size:.7rem;font-weight:800;cursor:pointer}.ticket-status-form button:hover{color:var(--white);text-decoration:underline}.ticket-closed-note{padding:1rem 1.2rem;border-top:1px solid var(--line);color:var(--muted);background:rgba(3,14,28,.36);font-size:.78rem;text-align:center}.ticket-detail-empty{display:grid;place-content:center;padding:2rem;text-align:center}.ticket-detail-empty h2{margin:0}.ticket-detail-empty p{color:var(--muted)}
.ticket-create{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(420px,1.28fr);gap:clamp(1.5rem,3vw,4rem);padding:clamp(1.4rem,3vw,3rem)}.ticket-create__intro a{color:var(--cyan-soft);font-size:.76rem;font-weight:800;text-decoration:none}.ticket-create__intro h2{margin:1.2rem 0 .7rem;font-size:clamp(2rem,3vw,3.5rem);line-height:1;letter-spacing:-.05em}.ticket-create__intro p{max-width:30rem;margin:0;color:var(--muted);line-height:1.65}.ticket-create__form{display:grid;gap:1rem}.ticket-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.ticket-create textarea{min-height:150px;padding:12px 14px;resize:vertical}.ticket-create select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--cyan-soft) 50%),linear-gradient(135deg,var(--cyan-soft) 50%,transparent 50%);background-position:calc(100% - 18px) 23px,calc(100% - 13px) 23px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.ticket-create select option{color:#06182a;background:#fff}
.ticket-blocking{display:flex!important;grid-template-columns:auto 1fr;align-items:flex-start;gap:.8rem!important;padding:1rem;border:1px solid rgba(255,113,136,.2);border-radius:12px;background:rgba(124,26,56,.1)}.ticket-blocking input{width:19px;height:19px;margin:.12rem 0 0;accent-color:var(--cyan)}.ticket-blocking span{display:grid;gap:.25rem}.ticket-blocking small,.ticket-upload small{color:var(--muted);font-weight:600;line-height:1.4}.ticket-upload{padding:1rem;border:1px dashed rgba(127,196,255,.34);border-radius:12px;background:rgba(3,20,39,.3)}.ticket-upload>span{display:flex;justify-content:space-between;gap:1rem}.ticket-upload input{min-height:38px;color:var(--muted);font-size:.72rem}.ticket-create__actions{display:flex;align-items:center;justify-content:flex-end;gap:1rem}.ticket-create__actions>a{color:var(--muted);font-size:.8rem;font-weight:800;text-decoration:none}.ticket-create__actions .primary-action{width:min(260px,100%);margin:0}
.account-grid{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(340px,1.28fr);gap:1rem;align-items:start}
.account-profile{padding:2rem;text-align:center}
.account-profile img{width:92px;height:92px;object-fit:contain;filter:drop-shadow(0 0 25px rgba(22,140,255,.35))}
.account-profile h2{margin:1rem 0 .25rem}.account-profile p{margin:0;color:var(--muted)}
.account-profile span{margin:1.2rem auto 0;width:max-content;display:flex;align-items:center;gap:.55rem;color:#bfffe8;font-size:.75rem;font-weight:800}
.account-signout{margin:1.35rem 0 0}.account-signout input{display:none}.account-signout button{min-height:42px;width:100%;border:1px solid rgba(255,113,136,.38);border-radius:10px;color:#ffd4dc;background:rgba(124,26,56,.2);font-weight:800;cursor:pointer}
.account-password{display:grid;gap:1rem;padding:1.5rem}
.account-password h2{margin:0}.account-password>p{margin:-.4rem 0 .35rem;color:var(--muted);line-height:1.55;font-size:.88rem}

@media(max-width:900px){
  .auth-shell{width:100%;padding:5.5rem .65rem 2rem}
  .auth-return{left:1rem;top:1rem}
  .auth-card__header h1{font-size:clamp(2.4rem,12vw,4rem)}
  .portal-header{min-height:64px;padding:.55rem 1rem}.portal-brand img{width:42px;height:42px}.portal-account>span{display:none}
  .portal-layout{display:block;min-height:calc(100vh - 64px);padding-bottom:calc(78px + env(safe-area-inset-bottom))}
  .portal-nav{position:fixed;z-index:40;left:0;right:0;bottom:0;top:auto;width:100%;height:calc(72px + env(safe-area-inset-bottom));padding:.35rem .35rem calc(.35rem + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.1rem;border:1px solid rgba(127,196,255,.18);border-width:1px 0 0;background:rgba(3,10,20,.95);box-shadow:0 -14px 36px rgba(0,8,24,.3);backdrop-filter:blur(22px)}
  .portal-nav a{min-height:62px;justify-content:center;flex-direction:column;gap:.22rem;padding:.28rem .15rem;border:0;border-radius:10px;color:var(--muted);font-size:.61rem;line-height:1}
  .portal-nav a:hover{border:0;background:rgba(18,77,130,.16)}
  .portal-nav a.is-active{color:var(--cyan-soft);border:0;background:rgba(22,140,255,.12);box-shadow:inset 0 1px rgba(127,196,255,.16),0 0 20px rgba(22,140,255,.08)}
  .nav-icon{width:21px;height:21px;stroke-width:1.9}
  .portal-main{max-width:760px;padding:1.6rem 1.15rem 2.4rem}
  .home-dashboard{grid-template-columns:1fr;gap:.9rem}.home-dashboard>.project-feature{min-height:0}.home-dashboard>.project-feature .project-feature__next{margin-top:0}
  .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.summary-grid article:nth-child(3){display:none}
  .summary-grid article{min-height:116px;padding:1rem}
  .project-grid,.account-grid{grid-template-columns:1fr}
  .portal-title--tickets{align-items:center}.ticket-new-action span{display:none}.ticket-new-action b{display:block}.ticket-new-action{width:46px;min-height:46px;padding:0}
  .ticket-workspace{height:auto;min-height:0;display:block;border-radius:18px}.ticket-queue{border-right:0}.ticket-workspace .ticket-thread{display:none}.ticket-workspace.is-ticket-open .ticket-queue{display:none}.ticket-workspace.is-ticket-open .ticket-thread{display:grid;min-height:calc(100svh - 210px)}
  .ticket-thread__header{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:1rem}.ticket-mobile-back{display:block;grid-column:1/-1}.ticket-messages{height:auto;min-height:42svh;max-height:none}.ticket-create{grid-template-columns:1fr;gap:1.4rem}.ticket-create__intro h2{font-size:2.2rem}.ticket-create__intro p{font-size:.9rem}.ticket-create__form{gap:.85rem}
}

@media(max-width:560px){
  .auth-cinematic__video{display:none}
  .auth-cinematic__poster{background-position:58% center}
  .auth-cinematic__shade{background:linear-gradient(180deg,rgba(1,5,11,.54),rgba(1,5,11,.42) 44%,rgba(1,5,11,.62))}
  .auth-card{padding:1.25rem;border-radius:19px}.auth-identity{gap:.42rem;font-size:.55rem;letter-spacing:.1em}.auth-card__header{margin-bottom:1.35rem}.auth-card__header p{font-size:.91rem}
  .portal-header{min-height:60px;padding:.48rem .95rem;background:rgba(3,10,20,.92)}
  .portal-brand{gap:.65rem}.portal-brand img{width:39px;height:39px}.portal-brand strong{font-size:.63rem;letter-spacing:.14em}.portal-brand small{font-size:.64rem}
  .portal-account{display:none}
  .portal-layout{min-height:calc(100vh - 60px)}
  .portal-main{padding:1.35rem 1rem 2rem}
  .portal-title{margin-bottom:1.35rem}.portal-title h1{font-family:ui-rounded,"SF Pro Rounded",Inter,system-ui,sans-serif;font-size:2.2rem;line-height:1.02;letter-spacing:-.045em}.portal-title p{margin-top:.55rem;color:var(--text);font-size:.92rem;line-height:1.5}.portal-title__desktop-name{display:none}
  .project-feature,.project-card,.empty-panel,.summary-grid article,.file-list article,.ticket-thread,.ticket-create,.ticket-workspace,.account-profile,.account-password{border-radius:20px;background:linear-gradient(145deg,rgba(18,77,130,.82),rgba(10,43,80,.94));box-shadow:0 12px 32px rgba(0,8,24,.18)}
  .project-feature{padding:1.12rem}.project-feature:after{width:150px;height:150px;right:-76px;top:-80px}.project-feature__signal{font-size:.6rem}.project-feature h2{margin:1rem 0 .25rem;font-size:1.18rem;line-height:1.25;letter-spacing:-.02em}.project-feature>p{font-size:.76rem}.progress-track{height:6px;margin:1rem 0}.project-feature__next{padding-top:.9rem}.project-feature__next strong{font-size:.84rem;line-height:1.4}
  .summary-grid{gap:.7rem}.summary-grid article{min-height:116px;padding:1rem}.summary-grid article>svg{width:21px;height:21px;margin-bottom:.65rem}.summary-grid strong{font-size:1.7rem}.summary-grid span{font-size:.72rem}
  .portal-nav a{font-size:.59rem}.nav-icon{width:20px;height:20px}
  .project-card{padding:1.1rem}.project-card h2{font-size:1.16rem}.project-card__meta{flex-direction:column;gap:.3rem}
  .file-list article{padding:1rem}.file-list article>i{width:38px;height:38px}.file-list h2{font-size:.92rem}
  .ticket-queue__summary{padding:0 1rem}.ticket-queue__item{padding:1rem}.ticket-thread__header h2{font-size:1.1rem}.ticket-state{grid-row:2;grid-column:2}.ticket-operating-alert{padding:.65rem 1rem}.message{max-width:90%;padding:.8rem .9rem}.ticket-messages{height:auto;min-height:42svh;padding:.85rem}.ticket-compose{padding:.9rem}.ticket-compose__actions{align-items:stretch;flex-direction:column}.ticket-compose .primary-action{width:100%}.ticket-attach-button{min-height:40px;display:flex!important;align-items:center}.ticket-status-form{text-align:center}.ticket-form-grid{grid-template-columns:1fr}.ticket-create{padding:1.1rem}.ticket-create__intro h2{font-size:1.85rem}.ticket-upload>span{display:grid;gap:.25rem}.ticket-create__actions{align-items:stretch;flex-direction:column-reverse}.ticket-create__actions>a{text-align:center}.ticket-create__actions .primary-action{width:100%}
  .account-grid{gap:.8rem}.account-profile{padding:1.5rem}.account-password{padding:1.15rem}
}

@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .auth-cinematic__video{display:none}
}
