/* SiteTie 169 — consolidated stable release shell, derived from the proven HSI geometry but fully SiteTie-branded and light. */
:root{--st-bg:#f6f8fc;--st-surface:#fff;--st-soft:#f3f6fb;--st-text:#111a35;--st-muted:#6f7a91;--st-line:#dbe2ed;--st-primary:#633cff;--st-blue:#199bf1;--st-grad:linear-gradient(135deg,#6a39ff 0%,#4f5cff 52%,#199bf1 100%);--st-danger:#b42336;--st-shadow:0 10px 28px rgba(28,40,75,.07);--st-shadow-soft:0 7px 20px rgba(28,40,75,.05);--st-content:820px;--st-safe-b:env(safe-area-inset-bottom,0px);--st-safe-t:env(safe-area-inset-top,0px)}
*,:before,:after{box-sizing:border-box}html{background:var(--st-bg)!important;color-scheme:light!important;-webkit-text-size-adjust:100%}body{margin:0!important;min-height:100dvh!important;overflow-x:hidden!important;background:linear-gradient(180deg,#fff 0,#f8f9fc 28%,#f4f6fb 100%)!important;color:var(--st-text)!important;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif!important}button,input,select,textarea{font:inherit!important}button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}input,select,textarea{font-size:16px!important;background:#fff!important;color:var(--st-text)!important;border:1px solid #ccd5e4!important;box-shadow:none!important}input::placeholder,textarea::placeholder{color:#98a2b5!important}input:focus,select:focus,textarea:focus{outline:none!important;border-color:#8168ff!important;box-shadow:0 0 0 4px rgba(99,60,255,.10)!important}h1,h2,h3,h4,strong,b,label{color:var(--st-text)!important}.meta,small{color:var(--st-muted)!important}.hidden{display:none!important}
body.st-auth-mode #app,body.st-auth-mode #hsiDemoNav{display:none!important}body.st-auth-mode #auth{display:grid!important}body.st-authenticated #auth{display:none!important}
#netbar{position:sticky!important;top:0!important;z-index:50000!important;display:flex!important;align-items:center!important;gap:10px!important;min-height:54px!important;padding:8px max(18px,env(safe-area-inset-left,0px))!important;background:rgba(255,255,255,.98)!important;border-bottom:1px solid var(--st-line)!important;backdrop-filter:blur(14px)!important;color:var(--st-text)!important}#netbar .dot{width:10px!important;height:10px!important;flex:0 0 10px!important;border-radius:50%!important;background:#2da66b!important;box-shadow:0 0 0 5px rgba(45,166,107,.09)!important}#stSyncBtn{margin-left:auto!important;min-height:42px!important;padding:0 15px!important;border:1px solid var(--st-line)!important;border-radius:14px!important;background:#f8f9fc!important;color:var(--st-text)!important;font-weight:800!important}
.auth{min-height:calc(100dvh - 54px)!important;display:grid!important;place-items:center!important;padding:24px 18px calc(34px + var(--st-safe-b))!important;background:radial-gradient(circle at 12% 8%,rgba(99,60,255,.08),transparent 32%),radial-gradient(circle at 90% 14%,rgba(25,155,241,.08),transparent 34%),var(--st-bg)!important}.login{width:min(480px,100%)!important;padding:27px 25px 23px!important;border:1px solid var(--st-line)!important;border-radius:26px!important;background:#fff!important;color:var(--st-text)!important;box-shadow:var(--st-shadow)!important}.login:before,.login:after{display:none!important;content:none!important}.login>img{display:block!important;width:72px!important;height:72px!important;margin:0 auto 12px!important;border-radius:19px!important}.login h1{margin:0!important;text-align:center!important;font-size:31px!important;line-height:1.05!important}.login>p{margin:8px 0 20px!important;text-align:center!important;color:var(--st-muted)!important}.login .field{margin-top:14px!important}.login .field>label{display:block!important;margin:0 0 7px!important;font-size:14px!important;font-weight:800!important}.login input[type="email"],.login input[type="password"]{width:100%!important;min-height:52px!important;padding:0 14px!important;border-radius:14px!important}#stPasswordTools{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;margin-top:11px!important}#stPasswordTools label{display:flex!important;align-items:center!important;gap:8px!important;margin:0!important;min-width:0!important;color:var(--st-muted)!important;font-weight:750!important;white-space:nowrap!important}#stPasswordTools input{flex:0 0 22px!important;width:22px!important;height:22px!important;min-height:22px!important;margin:0!important;padding:0!important;accent-color:var(--st-primary)!important;box-shadow:none!important}#stPasswordReset{min-height:36px!important;padding:0!important;border:0!important;background:transparent!important;color:#5838e8!important;font-weight:800!important;white-space:nowrap!important}#loginBtn{width:100%!important;min-height:52px!important;margin-top:19px!important;border:0!important;border-radius:15px!important;background:var(--st-grad)!important;color:#fff!important;font-weight:850!important}#stSecurityNote{margin-top:15px!important;text-align:center!important;color:var(--st-muted)!important;font-size:11.5px!important}.version{margin-top:8px!important;text-align:right!important;color:#a0a8ba!important;font-size:10.5px!important}
#app{width:100%!important;max-width:100%!important;min-height:100dvh!important;background:transparent!important;color:var(--st-text)!important}#app>header{position:sticky!important;top:54px!important;z-index:40000!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;min-height:82px!important;padding:14px max(20px,env(safe-area-inset-left,0px))!important;background:rgba(255,255,255,.98)!important;border-bottom:1px solid var(--st-line)!important;backdrop-filter:blur(14px)!important}#app>header h1{margin:0!important;font-size:24px!important;line-height:1!important;background:var(--st-grad)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important}#app>header small{display:block!important;margin-top:5px!important;color:var(--st-muted)!important;font-size:12px!important}#who{display:none!important}#stLogout{min-height:42px!important;padding:0 14px!important;border:1px solid var(--st-line)!important;border-radius:14px!important;background:#fff!important;color:var(--st-text)!important;font-weight:800!important}
#app main{position:relative!important;width:min(100%,var(--st-content))!important;min-height:calc(100dvh - 136px)!important;margin:0 auto!important;padding:22px 18px calc(122px + var(--st-safe-b))!important;background:transparent!important}#app main>.view:not(.active){display:none!important;visibility:hidden!important}#app main>.view.active{display:block!important;visibility:visible!important}.hsi-shell{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:transparent!important;color:var(--st-text)!important}
#hsiDashboard,#hsiProjects,#hsiProtocols,#hsiMore,#hsiProjectDetail,#contractors,#users,#hsiSuppliers,#hsiTaskCenter{background:transparent!important;color:var(--st-text)!important}#hsiDashboard .hsi-brand-card{position:relative!important;overflow:hidden!important;min-height:184px!important;margin:0 0 22px!important;padding:24px!important;border:1px solid var(--st-line)!important;border-radius:26px!important;background:linear-gradient(145deg,#fff 0%,#f9f7ff 58%,#eef8ff 100%)!important;box-shadow:var(--st-shadow)!important}#hsiDashboard .hsi-brand-kicker{margin:0 0 11px!important;font-size:12px!important;font-weight:900!important;letter-spacing:.17em!important;color:var(--st-primary)!important}#hsiDashboard .hsi-brand-kicker:before,#hsiDashboard .hsi-brand-kicker:after{display:none!important;content:none!important}#hsiDashboard .hsi-brand-line{width:72px!important;height:4px!important;margin:0 0 16px!important;border-radius:99px!important;background:var(--st-grad)!important}#hsiDashboard .hsi-brand-title{max-width:78%!important;font-size:34px!important;line-height:1.03!important;font-weight:900!important;letter-spacing:-.04em!important;color:var(--st-text)!important}#hsiDashboard .hsi-brand-title span{display:block!important;margin-top:6px!important;color:#45516b!important;font-size:18px!important}#hsiDashboard .hsi-brand-sub{max-width:82%!important;margin-top:14px!important;color:var(--st-muted)!important;font-size:14px!important;line-height:1.45!important}#hsiDashboard .hsi-logo-mark{position:absolute!important;right:22px!important;top:22px!important;width:62px!important;height:62px!important;display:grid!important;place-items:center!important;border-radius:18px!important;background:var(--st-grad)!important;color:#fff!important;font-size:20px!important;font-weight:900!important;box-shadow:0 10px 24px rgba(90,70,255,.18)!important}#hsiDashboard .hsi-section-title{margin:24px 2px 11px!important;font-size:20px!important;font-weight:900!important;color:var(--st-text)!important;background:none!important;-webkit-text-fill-color:initial!important}#hsiDashboard .hsi-overview{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}#hsiDashboard .hsi-stat{display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;align-items:center!important;gap:12px!important;min-height:104px!important;padding:15px!important;border:1px solid var(--st-line)!important;border-radius:20px!important;background:#fff!important;color:var(--st-text)!important;text-align:left!important;box-shadow:var(--st-shadow-soft)!important}#hsiDashboard .hsi-stat-icon{width:42px!important;height:42px!important;display:grid!important;place-items:center!important;border-radius:13px!important;background:#f2efff!important;color:var(--st-primary)!important}#hsiDashboard .hsi-stat-value{display:block!important;font-size:29px!important;font-weight:900!important;color:var(--st-text)!important}#hsiDashboard .hsi-stat-label{display:block!important;margin-top:4px!important;font-size:14px!important;font-weight:850!important;color:var(--st-text)!important}#hsiDashboard .hsi-stat-sub{display:block!important;margin-top:3px!important;color:var(--st-muted)!important;font-size:11.5px!important}#hsiDashboard .hsi-activity{overflow:hidden!important;border:1px solid var(--st-line)!important;border-radius:20px!important;background:#fff!important;box-shadow:var(--st-shadow-soft)!important}#hsiDashboard .hsi-activity-row{min-height:64px!important;padding:14px 16px!important;border-bottom:1px solid #eef1f5!important;background:#fff!important;color:var(--st-text)!important}
#hsiProjects>.st63-shell{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:transparent!important}.st63-head{display:grid!important;gap:12px!important;margin:0 0 14px!important}.st63-head h2{margin:0!important;font-size:31px!important;line-height:1.05!important;color:var(--st-text)!important;background:none!important;-webkit-text-fill-color:initial!important}.st63-top-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}.st63-top-actions button{min-height:52px!important;border-radius:17px!important;font-size:15px!important;font-weight:850!important}.st63-add{background:var(--st-grad)!important;color:#fff!important;border:0!important}.st63-contractors{background:#fff!important;color:var(--st-text)!important;border:1px solid var(--st-line)!important}.st63-filters{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;padding:8px!important;margin:0 0 14px!important;border:1px solid var(--st-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:var(--st-shadow-soft)!important}.st63-filters button{min-height:48px!important;border-radius:13px!important;background:#f5f7fb!important;color:#667089!important;border:1px solid transparent!important}.st63-filters button.active{background:#efeaff!important;color:#5a3be8!important;border-color:#cfc5ff!important}.st63-search{margin:0 0 14px!important;padding:15px!important;border:1px solid var(--st-line)!important;border-radius:20px!important;background:#fff!important;box-shadow:var(--st-shadow-soft)!important}.st63-search label{display:block!important;margin:0 0 9px!important;font-size:15px!important;font-weight:850!important}.st63-search-row{display:grid!important;grid-template-columns:minmax(0,1fr) 58px!important;gap:8px!important}.st63-search input{height:54px!important;min-height:54px!important;border-radius:15px!important;padding:0 14px!important}.st63-search button{width:58px!important;height:54px!important;min-height:54px!important;padding:0!important;border-radius:15px!important;background:#f4f6fb!important;color:var(--st-text)!important;border:1px solid var(--st-line)!important}.st63-list{display:grid!important;gap:14px!important}.st63-empty{padding:18px!important;border:1px solid var(--st-line)!important;border-radius:18px!important;color:var(--st-muted)!important;background:#fff!important;box-shadow:var(--st-shadow-soft)!important}.st63-card{display:grid!important;grid-template-columns:96px minmax(0,1fr)!important;grid-template-rows:auto auto!important;column-gap:14px!important;row-gap:10px!important;position:relative!important;width:100%!important;min-width:0!important;margin:0!important;padding:16px 14px 12px!important;border-radius:20px!important;background:#fff!important;border:1px solid var(--st-line)!important;overflow:hidden!important;box-shadow:var(--st-shadow-soft)!important}.st63-photo{grid-column:1!important;grid-row:1!important;width:96px!important;height:96px!important;border-radius:17px!important;overflow:hidden!important;background:#eef2f8!important;display:grid!important;place-items:center!important}.st63-photo img{width:100%!important;height:100%!important;object-fit:cover!important}.st63-info{grid-column:2!important;grid-row:1!important;min-width:0!important;padding-right:30px!important}.st63-name{margin:2px 0 7px!important;font-size:18px!important;line-height:1.16!important;font-weight:900!important;color:var(--st-text)!important}.st63-city,.st63-meta,.st63-progress-row{color:var(--st-muted)!important}.st63-progress{height:4px!important;background:#eef1f6!important;border-radius:999px!important;overflow:hidden!important}.st63-progress span{display:block!important;height:100%!important;background:var(--st-grad)!important}.st63-actions{grid-column:1/-1!important;grid-row:2!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}.st63-actions.two{grid-template-columns:repeat(2,minmax(0,1fr))!important}.st63-actions button{width:100%!important;min-width:0!important;min-height:46px!important;padding:0 6px!important;border-radius:14px!important;background:#f6f8fc!important;color:#4e5c78!important;border:1px solid var(--st-line)!important;font-size:11.5px!important;font-weight:850!important}.st63-actions .deactivate{background:#fff1f2!important;color:#b42336!important;border-color:#ffd6db!important}.st63-actions .activate{background:#edf9f1!important;color:#17663d!important;border-color:#ccebd7!important}
#hsiProtocols .hsi-detail-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-bottom:15px!important}#hsiProtocols h2,#hsiMore h2{margin:0!important;font-size:31px!important;color:var(--st-text)!important;background:none!important;-webkit-text-fill-color:initial!important}#hsiProtocols label{display:block!important;font-weight:800!important}#hsiProtocolProjectFilter{width:100%!important;min-height:52px!important;margin-top:8px!important;padding:0 14px!important;border-radius:14px!important}#hsiProtocolBody{margin-top:14px!important;min-height:112px!important;padding:18px!important;border:1px solid var(--st-line)!important;border-radius:20px!important;background:#fff!important;color:var(--st-muted)!important;box-shadow:var(--st-shadow-soft)!important}.st-empty-state{display:flex!important;min-height:72px!important;flex-direction:column!important;justify-content:center!important;gap:6px!important}.st-empty-state strong{color:var(--st-text)!important}.st-empty-state small{color:var(--st-muted)!important}
#hsiMore .hsi-more-grid{display:grid!important;gap:12px!important;margin-top:17px!important}#hsiMore .st75-more-item{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:14px!important;width:100%!important;min-height:84px!important;padding:16px 18px!important;border:1px solid var(--st-line)!important;border-radius:20px!important;background:#fff!important;color:var(--st-text)!important;text-align:left!important;box-shadow:var(--st-shadow-soft)!important}#hsiMore .st75-more-copy{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:5px!important;min-width:0!important}#hsiMore .st75-more-copy strong{display:block!important;font-size:16px!important;line-height:1.2!important;color:var(--st-text)!important}#hsiMore .st75-more-copy small{display:block!important;font-size:13px!important;line-height:1.35!important;color:var(--st-muted)!important;white-space:normal!important}#hsiMore .st75-more-arrow{font-size:26px!important;line-height:1!important;color:#8a95aa!important}
.card,.sheet,.item,.hsi-card,.hsi-panel,.hsi-modal-card,.hsi-task-card,.hsi-project-card{background:#fff!important;color:var(--st-text)!important;border:1px solid var(--st-line)!important;box-shadow:var(--st-shadow-soft)!important}.primary,button.primary{background:var(--st-grad)!important;color:#fff!important;border:0!important}.secondary{background:#fff!important;color:var(--st-text)!important;border:1px solid var(--st-line)!important}.danger{background:#fff1f2!important;color:var(--st-danger)!important;border:1px solid #ffd6db!important}
#contractors>.card,#users>.card,#hsiSuppliers>.card,#hsiTaskCenter>.card{width:100%!important;max-width:none!important;margin:0!important;padding:20px!important;border-radius:22px!important}.grid2,.user-create-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.overlay{background:rgba(17,26,53,.28)!important;backdrop-filter:blur(10px)!important}.overlay.open{display:flex!important}.sheet{width:min(760px,100%)!important;max-height:calc(100dvh - var(--st-safe-t) - var(--st-safe-b) - 16px)!important;overflow:hidden!important;border-radius:26px!important}.sheethead{position:sticky!important;top:0!important;z-index:3!important;background:#fff!important}.contractor-scroll{min-height:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;padding-bottom:18px!important}.contractor-footer{display:grid!important;gap:8px!important;padding:12px 0 calc(4px + var(--st-safe-b))!important;background:#fff!important;border-top:1px solid var(--st-line)!important}#contractorProjects{display:grid!important;gap:8px!important;max-height:42dvh!important;overflow-y:auto!important}.contractor-project-option{display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;min-height:58px!important;padding:10px!important;border:1px solid var(--st-line)!important;border-radius:14px!important;background:#fff!important;color:var(--st-text)!important;text-align:left!important}.contractor-project-option.selected{background:#f1edff!important;border-color:#cfc4ff!important}
#hsiCreateProjectV44{background:rgba(17,26,53,.28)!important;backdrop-filter:blur(10px)!important}#hsiCreateProjectV44 .hsi-cp44-sheet{background:#fff!important;color:var(--st-text)!important;border:1px solid var(--st-line)!important;box-shadow:0 22px 60px rgba(17,26,53,.18)!important}#hsiCreateProjectV44 .hsi-cp44-head{background:#fff!important;border-bottom:1px solid var(--st-line)!important}#hsiCreateProjectV44 .hsi-cp44-section{border-top:1px solid var(--st-line)!important;color:var(--st-muted)!important}#hsiCreateProjectV44 .hsi-cp44-photo{background:#f8f9fc!important;border:1px solid var(--st-line)!important}#hsiCreateProjectV44 .hsi-cp44-photo-preview{background:#eef2f8!important;border:1px solid var(--st-line)!important}#hsiCreateProjectV44 .hsi-cp44-footer{background:linear-gradient(180deg,rgba(255,255,255,0),#fff 24%)!important}
#st66ProtocolChooser{background:rgba(17,26,53,.28)!important;backdrop-filter:blur(10px)!important}#st66ProtocolChooser .st66-proto-sheet{background:#fff!important;color:var(--st-text)!important;border:1px solid var(--st-line)!important}#st66ProtocolChooser .st66-proto-tile{background:#fff!important;color:var(--st-text)!important;border:1px solid var(--st-line)!important;box-shadow:var(--st-shadow-soft)!important}
#stableProtocolEditor{background:var(--st-bg)!important;color:var(--st-text)!important;min-height:100dvh!important;padding:18px 18px calc(34px + var(--st-safe-b))!important}#stableProtocolEditor .card{width:min(900px,100%)!important;margin:0 auto!important;padding:22px!important;border-radius:24px!important;background:#fff!important;color:var(--st-text)!important;border:1px solid var(--st-line)!important;box-shadow:var(--st-shadow)!important}#stableProtocolEditor .grid2,.sp-signature-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.sp-photo-btn,.sp-voice .sp-mic,.sp-sig-clear{background:#f4f6fb!important;color:var(--st-text)!important;border:1px solid var(--st-line)!important}.sp-photo,.sp-signature-card{background:#fff!important;color:var(--st-text)!important;border:1px solid var(--st-line)!important}.sp-signature-pad{background:#fff!important}.sp-actions{padding-bottom:calc(10px + var(--st-safe-b))!important}
#hsiDemoNav{position:fixed!important;left:50%!important;transform:translateX(-50%)!important;right:auto!important;bottom:max(10px,var(--st-safe-b))!important;z-index:60000!important;display:grid!important;grid-template-columns:1fr 1fr 88px 1fr 1fr!important;align-items:center!important;width:min(calc(100% - 24px),760px)!important;min-height:76px!important;padding:8px!important;border:1px solid var(--st-line)!important;border-radius:24px!important;background:rgba(255,255,255,.98)!important;box-shadow:0 14px 40px rgba(28,40,75,.16)!important;color:var(--st-muted)!important;backdrop-filter:blur(14px)!important}#hsiDemoNav button{display:flex!important;min-width:0!important;min-height:58px!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;padding:5px 4px!important;border:0!important;border-radius:17px!important;background:transparent!important;color:#7a8499!important;font-weight:800!important}#hsiDemoNav button span{display:block!important;max-width:100%!important;font-size:11px!important;line-height:1.05!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}#hsiDemoNav button.active{background:#f0ecff!important;color:#5b3ce8!important}.hsi-plus-wrap{display:grid!important;place-items:center!important}.hsi-plus{width:68px!important;height:68px!important;min-height:68px!important;border-radius:20px!important;background:var(--st-grad)!important;color:#fff!important;font-size:39px!important;line-height:1!important;box-shadow:0 10px 26px rgba(84,73,255,.22)!important}body.st-auth-mode #hsiDemoNav,body.st-immersive #hsiDemoNav,body.st-modal-open #hsiDemoNav,body.contractor-editor-open #hsiDemoNav{display:none!important}
@media(max-width:650px){#app main{padding-left:14px!important;padding-right:14px!important}.grid2,.user-create-grid,#stableProtocolEditor .grid2,.sp-signature-grid{grid-template-columns:1fr!important}.st63-card{grid-template-columns:86px minmax(0,1fr)!important}.st63-photo{width:86px!important;height:86px!important}.st63-top-actions button{font-size:14px!important}.login{padding:25px 20px 22px!important}#stPasswordTools{grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important}#stPasswordTools label{font-size:13px!important}#stPasswordReset{font-size:13px!important}}
@media(max-width:390px){#hsiDemoNav{grid-template-columns:1fr 1fr 76px 1fr 1fr!important;width:calc(100% - 16px)!important;padding:7px!important}.hsi-plus{width:62px!important;height:62px!important;min-height:62px!important;font-size:36px!important}.st63-card{grid-template-columns:78px minmax(0,1fr)!important}.st63-photo{width:78px!important;height:78px!important}.login{padding-left:17px!important;padding-right:17px!important}#stPasswordTools{grid-template-columns:1fr!important;align-items:start!important}#stPasswordReset{justify-self:start!important}}
@media(min-width:900px){:root{--st-content:980px}#hsiMoreBody{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
