/* SHP Client Portal — local assets, responsive and reduced-motion aware. */
.shpc-body{margin:0;background:#f5f7f8;color:#203b38;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}#shpc-app{--green:#087968;--dark:#153e37;--muted:#70827f;--border:#e4ebe8;font-size:14px;line-height:1.55}#shpc-app *{box-sizing:border-box}#shpc-app [hidden]{display:none!important}#shpc-app a{color:inherit;text-decoration:none}#shpc-app button,#shpc-app input,#shpc-app textarea{font:inherit}#shpc-app button{cursor:pointer}#shpc-app button:disabled{cursor:wait;opacity:.55}#shpc-app button,#shpc-app a,#shpc-app input,#shpc-app textarea{outline-offset:4px}#shpc-app :focus-visible{outline:2px solid var(--green)}#shpc-app svg{width:20px;height:20px;flex-shrink:0;vertical-align:middle}#shpc-app h1,#shpc-app h2,#shpc-app h3,#shpc-app p{margin:0 0 12px}#shpc-app h1{font-size:32px;letter-spacing:-1px;line-height:1.2}#shpc-app h2{font-size:20px;letter-spacing:-.4px}#shpc-app h3{font-size:17px}#shpc-app small,.helper{font-size:12px;color:var(--muted)}.muted{color:var(--muted)}.eyebrow{display:block;font-size:10px;font-weight:750;letter-spacing:1.5px;color:var(--green);margin-bottom:12px}.brand{display:flex;align-items:center;gap:12px;font-weight:750;font-size:17px;line-height:1.25}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--green);color:white;font-size:24px}.brand-sub{display:block;font-size:10px;font-weight:500;margin-top:4px;color:var(--muted)}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:11px 18px;border-radius:9px;font-weight:650;border:1px solid transparent}.primary{background:var(--green);color:#fff}.primary:hover{background:#056455}.secondary{background:white;color:var(--dark);border-color:var(--border)}.secondary:hover{border-color:#a3c3b9}.text-btn,.icon-btn,.profile-button{border:0;background:none;color:var(--green);display:inline-flex;align-items:center;gap:8px;padding:8px 0;font-weight:600}.icon-btn{justify-content:center;width:42px;height:42px;border-radius:10px;padding:8px;position:relative}.icon-btn:hover{background:#eaf3ef}.full{width:100%}.back-link{display:inline-flex;align-items:center;gap:9px;font-size:12px}.login{min-height:100vh;display:grid;grid-template-columns:46% 54%;background:#fff}.login-story{padding:48px 10%;background:#10483e;color:white;display:flex;flex-direction:column;position:relative;overflow:hidden}.login-story:after{content:"";position:absolute;width:500px;height:500px;border:1px solid #ffffff15;border-radius:50%;right:-300px;bottom:-130px;box-shadow:0 0 0 65px #ffffff04,0 0 0 130px #ffffff03;pointer-events:none}.login-story .brand-mark{background:#d8f4b7;color:#164638}.story-copy{margin:auto 0;padding:80px 0}.login-story .light{color:#c0d4ab}.login-story h1{font-size:64px!important;letter-spacing:-3px!important;line-height:1.05!important;margin-bottom:28px!important}.story-copy>p{max-width:330px;color:#bfd2cc;line-height:1.8}.story-line{display:flex;gap:12px;align-items:center;margin-top:20px;font-size:13px}.story-line svg{color:#c9e6a8}.login-story>small{color:#bdd0c9!important}.login-side{padding:45px 12%;display:flex;flex-direction:column}.login-side>.back-link{align-self:flex-end;color:var(--muted)}.login-card{width:100%;max-width:410px;margin:auto;padding:60px 0}.login-card h2{font-size:36px!important;letter-spacing:-1px!important}.login-card form{margin-top:28px}.login-card .form-row{margin:16px 0 20px}.login-card .secure-note{display:flex;justify-content:center;gap:8px;margin:28px 0 14px;color:var(--muted);font-size:11px;border-top:1px solid var(--border);padding-top:26px}.login-card>.helper{text-align:center}.password-wrap{display:flex;position:relative}.password-wrap input{padding-right:50px!important}.password-wrap button{position:absolute;right:8px;top:5px;border:0;background:none;color:var(--muted);height:36px;width:36px}#shpc-app label{display:block;font-size:12px;font-weight:600;margin-bottom:18px}#shpc-app input:not([type=checkbox]):not([type=file]),#shpc-app textarea{display:block;width:100%;min-width:0;border:1px solid #dce5e1;background:white;color:var(--dark);border-radius:8px;padding:12px 13px;margin-top:7px;min-height:46px}#shpc-app input[readonly]{background:#f5f7f6!important;color:var(--muted)!important}#shpc-app textarea{resize:vertical}#shpc-app .inline{display:flex;align-items:center;gap:8px;font-weight:500;margin:0}#shpc-app input[type=checkbox]{accent-color:var(--green);width:16px;height:16px}.form-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.form-row .text-btn{font-size:12px}.form-error{color:#a43636;font-size:13px;margin-bottom:14px}.portal{min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:246px;background:white;border-right:1px solid var(--border);padding:28px 20px;display:flex;flex-direction:column;z-index:30;overflow:auto}.workspace-label{font-size:9px;letter-spacing:1.8px;font-weight:700;color:#94a39f;margin:42px 14px 14px}.sidebar nav{display:grid;gap:5px}.sidebar nav button{display:flex;align-items:center;gap:13px;border:0;background:none;text-align:left;color:#72827d;border-radius:9px;min-height:44px;padding:10px 13px;font-size:12px}.sidebar nav button:hover{background:#f4f7f5}.sidebar nav button.active{background:#e8f3ed;color:#08735f;font-weight:700}.sidebar nav button.active svg{stroke-width:2}.unread{font-size:10px;margin-left:auto;background:var(--green);color:white;border-radius:5px;padding:1px 5px}.sidebar-bottom{margin-top:auto;padding-top:28px}.support-card{background:#f5f8f4;border:1px solid #e7ede1;border-radius:12px;padding:17px;margin-bottom:20px}.support-card>svg{display:block;margin-bottom:9px}.support-card strong{font-size:12px}.support-card p{font-size:11px;color:var(--muted);margin-top:6px!important;margin-bottom:0!important}.sidebar-bottom>.back-link{margin:0 10px 8px}.sidebar-bottom>.logout{display:flex;margin-left:10px;font-size:12px}.main-shell{margin-left:246px}.topbar{height:82px;background:#ffffffed;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:14px}.breadcrumb{font-size:11px;color:var(--muted)}.breadcrumb span{margin:0 12px;color:#c6cfcb}.breadcrumb b{color:#425b54;font-weight:500}.header-actions{display:flex;align-items:center;gap:18px}.profile-button{color:var(--dark);font-size:12px;gap:10px}.avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#d9eacb;color:#3a6245;font-weight:700;object-fit:cover}.header-website{font-size:11px;color:var(--muted)!important;border-left:1px solid var(--border);padding-left:18px}.notification-dot{position:absolute;right:10px;top:7px;width:6px;height:6px;border-radius:50%;background:#dc9e51;border:1px solid white}.menu-toggle,.bottom-nav,.nav-shade{display:none}#content{padding:38px;max-width:1600px;margin:auto;min-height:calc(100vh - 135px);outline:none}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.page-heading .eyebrow{margin-bottom:10px}.page-heading p{font-size:12px;margin:12px 0 0!important}.page-heading>.secondary{flex-shrink:0}.notice{display:flex;align-items:center;gap:12px;padding:14px 18px;border:1px solid #d9e8d0;background:#f2f7ed;border-radius:10px;margin-bottom:24px;font-size:12px}.notice>.text-btn{margin-left:auto;white-space:nowrap;font-size:11px}.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:30px}.stat{border:1px solid var(--border);border-radius:12px;padding:20px;background:#fff;position:relative}.stat>svg{color:#82968c;position:absolute;right:15px;top:18px;width:18px}.stat strong{display:block;font-size:30px;line-height:1.2;letter-spacing:-1px;margin:9px 0 8px}.stat span{font-size:11px;color:var(--muted)}.card{border:1px solid var(--border);background:white;border-radius:13px;padding:24px;min-width:0}.overview-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:26px;align-items:start}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px}.section-heading h2{margin-bottom:0!important}.section-heading>.text-btn{font-size:11px}.overview-grid .project-card{margin-bottom:16px}.card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:22px}.card-top .eyebrow{margin:0}.project-icon{background:#f0f5ee;color:#58806b;padding:9px;border-radius:10px}.badge{display:inline-block;background:#f0f2f3;color:#6d7b7e;border-radius:6px;font-size:10px;font-weight:650;padding:5px 8px;text-transform:capitalize;white-space:nowrap}.badge.good{background:#eaf5ec;color:#387749}.badge.warm{background:#fff4df;color:#91671c}.project-card .eyebrow{font-size:9px;letter-spacing:1px;color:#8a9c94}.project-card h3{font-size:20px!important;margin-bottom:5px!important}.project-card>p{font-size:12px}.progress-label{display:flex;justify-content:space-between;font-size:11px;margin-top:22px;margin-bottom:8px;color:var(--muted)}.progress-label strong{color:var(--green)}.progress{height:6px;border-radius:6px;background:#e9efeb;overflow:hidden}.progress>span{display:block;height:100%;border-radius:6px;background:#319775}.project-meta{display:grid;gap:7px;padding:18px 0;color:var(--muted);font-size:11px}.project-meta span{display:flex;gap:8px;align-items:center}.project-meta svg{width:14px;height:14px}.project-open{border-top:1px solid var(--border);width:100%;justify-content:space-between;font-size:12px;padding-top:15px}.activity-panel{padding:26px}.activity-panel>.eyebrow{font-size:9px}.activity{margin-top:22px}.activity article{display:flex;gap:14px;padding-bottom:24px;position:relative}.activity article:before{content:"";position:absolute;left:4px;top:12px;bottom:0;width:1px;background:#e4ebe5}.activity article:last-child:before{display:none}.activity-dot{width:9px;height:9px;border-radius:50%;background:#8dac8c;flex-shrink:0;margin-top:6px}.activity strong{font-size:12px}.activity p{font-size:11px;color:var(--muted);margin:4px 0!important;overflow-wrap:anywhere}.activity small{font-size:9px!important}.activity .text-btn{display:flex;font-size:10px}.help-banner{background:#eaf1e6;border:1px solid #dfe8d9;border-radius:12px;padding:24px;display:flex;gap:20px;align-items:center}.help-banner h3{margin-top:10px!important;font-size:15px!important}.help-banner p{font-size:11px;color:var(--muted);margin:0!important}.help-banner .secondary{font-size:11px;white-space:nowrap}.project-grid,.ticket-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.ticket-ref{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.ticket-card dl{margin:22px 0}.ticket-card .secondary{font-size:12px}dl{margin:20px 0}dl>div{display:grid;grid-template-columns:38% minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid #f0f3f1;font-size:11px}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}.pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:26px}.pagination span{font-size:11px;color:var(--muted)}.pagination button{font-size:11px}.empty{text-align:center;padding:50px 20px;background:#ffffff80;border:1px dashed #dce6df;border-radius:12px}.empty>svg{width:32px!important;height:32px!important;color:#8ca897;margin-bottom:16px}.empty h3{font-size:15px!important}.empty p{font-size:12px;color:var(--muted);max-width:350px;margin:0 auto!important}.activity-panel .empty{border:0;padding:40px 4px}.timeline{list-style:none;padding:0;margin:22px 0}.timeline li{display:flex;align-items:flex-start;gap:12px;position:relative;padding-bottom:20px;color:#93a19a;font-size:11px}.timeline li:before{content:"";position:absolute;left:11px;top:24px;bottom:0;width:1px;background:#e6ebe7}.timeline li:last-child:before{display:none}.timeline li>span{width:24px;height:24px;border:1px solid #e5ece7;border-radius:50%;display:grid;place-items:center;font-size:9px;flex-shrink:0;background:#fff}.timeline li>div{padding-top:3px}.timeline .done{color:#5d8571}.timeline .done>span{background:#eaf3ec;border-color:#eaf3ec}.timeline svg{width:12px!important;height:12px!important}.timeline .current{color:var(--green);font-weight:700}.timeline .current>span{background:var(--green);color:white;border-color:var(--green);box-shadow:0 0 0 4px #edf5f0}.timeline small{display:block;font-size:9px!important;color:var(--green)!important;margin-top:3px}.update-preview{background:#f5f8f5;padding:16px;border-radius:9px;margin-bottom:16px;font-size:12px}.update-preview p{font-size:11px;color:var(--muted);margin:8px 0!important}.project-room{display:grid;grid-template-columns:minmax(270px,.85fr) minmax(0,1.4fr);gap:24px;align-items:start}.room-info h3{font-size:13px!important;margin-top:24px!important}.room-info p{font-size:12px}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}.room-thread{border:1px solid #dce6df;border-radius:13px;overflow:hidden;background:white}.room-thread>header{padding:20px;background:#fff;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border)}.room-thread>header h2{font-size:15px!important;margin:0!important}.room-thread>header span:not(.avatar):not(.room-dot){font-size:10px;color:var(--muted)}.room-dot{margin-left:auto;width:7px;height:7px;border-radius:50%;background:#5caa7b}.thread{padding:24px;background-color:#edf2e9;background-image:radial-gradient(#c8d6c340 .8px,transparent .8px);background-size:18px 18px;min-height:340px}.thread-date{text-align:center;font-size:9px;letter-spacing:1px;color:#8b9c89;margin-bottom:24px}.bubble{background:white;border-radius:0 12px 12px 12px;padding:16px 18px;box-shadow:0 1px 2px #28482e09;margin:0 30px 20px 0}.bubble.latest{border-left:3px solid #7eae83}.bubble>strong{font-size:10px;color:var(--green)}.bubble p{font-size:12px;margin:8px 0!important}.bubble small{display:flex;align-items:center;justify-content:flex-end;gap:8px;font-size:9px!important}.bubble svg{width:13px!important;height:13px!important;color:#5c9b77}.next-step{border:1px dashed #cbdac2;border-radius:9px;padding:16px;background:#ffffff80;margin-top:20px}.next-step .eyebrow{font-size:8px;margin-bottom:6px}.next-step p{font-size:12px;margin:0!important}.room-files{padding:24px}.room-files h3{display:flex;align-items:center;gap:10px;font-size:13px!important}.room-files>.muted{font-size:12px}.file-link{display:flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:8px;font-size:11px}.file-link span{flex:1;overflow-wrap:anywhere;min-width:0}.file-link svg{width:16px!important}.notification-list{padding:0}.notification{display:flex;gap:16px;align-items:flex-start;padding:24px;border-bottom:1px solid var(--border)}.notification:last-child{border:0}.notification>div{flex:1;min-width:0}.notification strong{font-size:13px}.notification p{font-size:12px;color:var(--muted);margin:6px 0!important;white-space:pre-wrap;overflow-wrap:anywhere}.notification small{font-size:10px!important}.notification .text-btn{display:flex;font-size:11px}.notification-icon{display:grid;place-items:center;width:34px;height:34px;background:#eef3ef;border-radius:10px;flex-shrink:0}.unread-item{background:#f4f9f4}.profile-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start}.profile-summary{text-align:center}.profile-summary>.avatar{width:86px;height:86px;font-size:32px;margin-bottom:20px}.profile-summary h2{overflow-wrap:anywhere}.file-picker{position:relative;overflow:hidden;margin-bottom:8px!important}.file-picker input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.file-picker:focus-within{outline:2px solid var(--green)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.profile-layout form .primary{margin-top:18px}#verify-email-form{border-top:1px solid var(--border);padding-top:24px;margin-top:24px}.narrow{max-width:670px;margin-bottom:24px}.narrow form{max-width:480px;margin-top:24px}.portal-footer{padding:15px 38px;border-top:1px solid var(--border);font-size:10px;color:#96a39d;display:flex;justify-content:space-between}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:14px 24px;background:#143e34;color:#fff;border-radius:10px;box-shadow:0 8px 30px #173c3025;z-index:100;max-width:90vw;font-size:13px}.toast.error{background:#8b3636}.skeleton{display:grid;gap:20px}.skeleton div{height:120px;background:linear-gradient(90deg,#e9eeeb,#f3f5f4,#e9eeeb);background-size:200% 100%;border-radius:12px;animation:shpc-shimmer 1.8s ease infinite}.skeleton div:first-child{height:70px;width:65%}.skeleton div:last-child{height:300px}@keyframes shpc-shimmer{to{background-position:-200% 0}}.reduce-motion *, .reduce-motion *:before,.reduce-motion *:after{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){#shpc-app *{animation:none!important;transition:none!important}}
@media(min-width:1600px){.project-grid,.ticket-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1150px){.sidebar{width:218px;padding:24px 15px}.main-shell{margin-left:218px}#content{padding:28px}.topbar{padding:0 28px}.header-website{display:none}.stats{gap:10px}.stat{padding:17px 13px}.stat>svg{width:14px;right:10px;top:13px}.stat strong{font-size:26px}.stat span{font-size:10px}.overview-grid{gap:18px}.card{padding:20px}.help-banner{display:block}.help-banner .secondary{margin-top:18px}.profile-layout{grid-template-columns:200px minmax(0,1fr)}.project-room{grid-template-columns:minmax(240px,.9fr) minmax(0,1.2fr);gap:18px}.login-story h1{font-size:52px!important}.login-side{padding:36px 9%}}
@media(max-width:900px){.sidebar{width:246px;transform:translateX(-100%);transition:transform .18s ease}.main-shell{margin-left:0}.menu-toggle{display:flex}.breadcrumb{margin-right:auto}.menu-open .sidebar{transform:translateX(0)}.menu-open .nav-shade{display:block;position:fixed;inset:0;z-index:25;background:#09271a70}.topbar{height:72px}.profile-layout{grid-template-columns:230px minmax(0,1fr)}.login-story{padding:38px 9%}.login-story h1{font-size:44px!important}.login-side{padding:32px 8%}.login-card h2{font-size:30px!important}.login-story .brand{font-size:14px}.notice{flex-wrap:wrap}.notice>.text-btn{margin-left:32px;padding:0}.project-room{grid-template-columns:minmax(220px,.9fr) minmax(0,1.2fr)}}
@media(max-width:640px){#content{padding:26px 18px 34px}.topbar{padding:0 15px;gap:8px;height:66px}.breadcrumb{font-size:10px}.breadcrumb>span,.breadcrumb>b{display:none}.header-actions{gap:6px}#head-name{display:none}.profile-button{padding:0}.avatar{width:32px;height:32px}.page-heading{align-items:flex-start;flex-wrap:wrap;gap:15px;margin-bottom:23px}#shpc-app h1{font-size:27px}.page-heading p{font-size:11px}.eyebrow{font-size:9px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:26px}.stat:last-child{grid-column:1/-1;display:flex;align-items:center;gap:12px;padding:10px 17px}.stat:last-child>svg{position:static;order:0;width:18px}.stat:last-child strong{order:1;margin:0;font-size:24px}.stat:last-child span{order:2}.stat{padding:17px}.stat strong{font-size:28px}.stat span{font-size:11px}.stat>svg{width:18px;right:15px;top:16px}.overview-grid,.project-grid,.ticket-grid,.project-room,.profile-layout{grid-template-columns:1fr;gap:18px}.card{padding:20px}.activity-panel{margin-top:4px}.help-banner{display:flex;padding:20px;gap:14px}.help-banner .secondary{margin:0;padding:9px 12px}.help-banner h3{font-size:13px!important}.help-banner p{font-size:10px}.notice{padding:13px;font-size:11px;gap:9px}.notice>span{flex:1}.notice>.text-btn{margin-left:29px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;padding:8px 12px calc(8px + env(safe-area-inset-bottom));justify-content:space-around;background:#fffffffa;border-top:1px solid var(--border);z-index:20}.bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:4px;border:0;background:none;color:#8a9b92;font-size:9px;min-width:58px;padding:3px 8px;border-radius:8px}.bottom-nav button.active{color:var(--green);background:#edf5ee}.portal{padding-bottom:75px}.portal-footer{padding:14px 18px;font-size:9px}.portal-footer span{display:none}.toast{bottom:85px;width:calc(100% - 36px);text-align:center;font-size:12px}.pagination{gap:10px}.pagination span{font-size:9px;text-align:center}.pagination .secondary{padding:8px 12px}.room-thread{order:-1}.thread{padding:20px}.bubble{margin-right:14px}.room-info .timeline{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}.room-info .timeline li:before{display:none}.room-info .timeline li{font-size:10px}.form-grid{grid-template-columns:1fr}.profile-summary>.avatar{width:70px;height:70px}.profile-summary{padding:24px}.notification-list{padding:0}.notification{padding:18px 14px;gap:10px}.notification strong{font-size:12px}.notification p{font-size:11px}.notification .icon-btn{width:30px;height:32px}.notification-icon{width:28px;height:28px}.notification-icon svg{width:15px!important}.login{grid-template-columns:1fr}.login-story{padding:26px;background:#10483e;min-height:0}.story-copy,.login-story>small{display:none}.login-side{padding:24px}.login-card{padding:44px 0 30px;max-width:400px}.login-side>.back-link{font-size:11px}.login-card h2{font-size:32px!important}.login-story .brand{font-size:17px}.login-card .secure-note{font-size:10px}.section-heading h2{font-size:18px!important}}
/* Account creation and booking journey */
.signup-toggle{display:flex;justify-content:center;align-items:center;gap:9px;margin-top:18px;color:var(--muted);font-size:12px}
.signup-toggle .text-btn{font-size:12px}
#register-form{border-top:1px solid var(--border);padding-top:20px}
.journey{margin-bottom:26px}
.journey .section-heading{flex-wrap:wrap}
.journey-steps{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:22px 0;padding:0}
.journey-steps li{padding:16px 12px;border:1px solid var(--border);border-radius:10px;background:#f8faf9;min-width:0;display:flex;align-items:flex-start;gap:9px}
.journey-steps li.done{background:#edf7ef;border-color:#bfdfc7}
.journey-steps li.current{background:#e6f4ed;border-color:var(--green)}
.journey-number{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:#e8eeee;color:#546d63;font-size:11px;font-weight:700}
.journey-steps li.current .journey-number{background:var(--green);color:#fff}
.journey-steps li.done .journey-number{background:#b7dac1;color:#14553b}
.journey-number svg{width:14px!important;height:14px!important}
.journey-steps strong{display:block;font-size:12px;line-height:1.35;margin:4px 0 7px}
.journey-steps small{display:block;line-height:1.4;overflow-wrap:anywhere}
.ticket-tools{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start;margin-bottom:24px}
.ticket-tools .muted{font-size:12px}
.ticket-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.ticket-tools form{border-left:1px solid var(--border);padding-left:30px}
.ticket-tools form h3{margin-bottom:5px!important}
.ticket-tools form label{margin-top:14px}
@media(max-width:1100px){.journey-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.journey-steps{grid-template-columns:1fr;gap:9px}.journey-steps li{padding:11px}.journey-steps strong{margin:2px 0 3px}.ticket-tools{grid-template-columns:1fr;gap:22px}.ticket-tools form{border-left:0;border-top:1px solid var(--border);padding:20px 0 0}.ticket-actions>*{flex:1}.journey .section-heading>a,.journey .section-heading>button{width:100%}}
/* Explicit portal controls override theme button and heading styles. */
#shpc-app .auth-tabs{display:flex;gap:8px;margin:24px 0 16px;border-bottom:1px solid var(--border)}
#shpc-app .auth-tabs button{flex:1;padding:12px 8px;background:none;border:0;border-bottom:3px solid transparent;color:var(--muted);text-transform:none;min-height:44px}
#shpc-app .auth-tabs button.active{color:var(--green);border-bottom-color:var(--green);font-weight:700}
#shpc-app .auth-message{background:#edf7ef;border:1px solid #bedec8;color:#215b40;border-radius:8px;padding:14px;margin:16px 0;overflow-wrap:anywhere;font-size:13px}
#shpc-app .login-story h1{color:#fff}
#shpc-app .primary{background:var(--green);color:#fff;border:1px solid var(--green);text-transform:none}
#shpc-app .secondary{background:#fff;color:var(--dark);border:1px solid var(--border);text-transform:none}
#shpc-app .text-btn,#shpc-app .icon-btn,#shpc-app .profile-button{background:transparent;text-transform:none;border:0}
#shpc-app .login-card .form-error:not(:empty){border-left:3px solid #b34040;background:#fff4f4;padding:12px}
#shpc-app #register-form{border:0;padding-top:0}
#shpc-app .stage-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 26px}
#shpc-app .stage-tabs .secondary{flex:1 1 170px;text-align:left;justify-content:flex-start;white-space:normal}
#shpc-app .stage-tabs .selected{border-color:var(--green);background:#eaf6ef;color:var(--green)}
#shpc-app .stage-panel{display:flex;flex-direction:column;gap:8px}
#shpc-app .stage-amount{display:block;font-size:25px;color:var(--green);margin:8px 0}
#shpc-app .stage-update{margin:15px 0;font-size:13px}
#shpc-app .stage-panel .ticket-actions{margin-top:auto}
@media(max-width:640px){#shpc-app .stage-tabs{display:grid;grid-template-columns:1fr;gap:8px}#shpc-app .stage-tabs button{width:100%;min-height:46px}}

.stage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px;margin:24px 0}.stage-item{padding:20px;border:1px solid var(--border);border-radius:12px;min-width:0;overflow-wrap:anywhere}.stage-item.selected{border-color:var(--green)}.lifecycle{margin-bottom:24px}.activity-line{border-left:2px solid #dce9e2;padding-left:12px}.lifecycle>h3{margin-top:24px!important}
/* One selected project follows every project-related view. */
#project-scope{padding:24px 38px 0}.project-picker{background:#edf5ef;border:1px solid #dce9de;border-radius:14px;padding:20px 24px;display:flex;gap:24px;justify-content:space-between;align-items:center}.project-picker>div{min-width:0;flex:1}.project-picker label{display:inline;font-size:12px;margin-right:10px}.project-picker select{max-width:540px;width:100%;display:inline-block;background:white;border:1px solid #bfd2c4;border-radius:8px;padding:12px;font:inherit;color:#174b3e}.project-picker p{font-size:11px;color:#678174;margin:10px 0 0}.project-picker .eyebrow{display:block}.project-tools{margin-bottom:24px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.project-tools summary{cursor:pointer;color:var(--green);font-weight:600;padding:12px}.project-tools form{min-width:0}.project-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:12px;color:#678174}.project-summary{margin-bottom:24px}.project-summary h2{overflow-wrap:anywhere}.activity-panel{margin-top:24px}.stage-grid>.card{margin:0}.stats .stat strong{font-size:24px;overflow-wrap:anywhere}.project-card h3{overflow-wrap:anywhere}.project-card{margin-bottom:0}.stage-item .card-top{justify-content:flex-start;gap:8px;flex-wrap:wrap}.project-picker select:focus-visible{outline:2px solid var(--green);outline-offset:3px}
@media(max-width:900px){#project-scope{padding:20px 28px 0}.project-picker{align-items:flex-start;flex-wrap:wrap}.project-picker>div{flex-basis:100%}}@media(max-width:640px){#project-scope{padding:18px 18px 0}.project-picker{padding:16px;gap:12px}.project-picker select{font-size:16px;max-width:100%;margin-top:8px}.project-tools,.project-facts{grid-template-columns:1fr}.stats .stat strong{font-size:23px}.project-picker>.secondary{width:100%}.stage-grid{grid-template-columns:1fr}.project-summary .card-top{align-items:flex-start;flex-wrap:wrap}}
