/* Haus Timelapse v3.10 — client interface built with Materialize 1.0.0. */
body.portal-client{--accent:#087f6a;--text:#172c39;--sub:#506777;--line:#dce5ec;--surface:#fff;--surface2:#f4f7fa;background:#f5f7fa;color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:15px;line-height:1.55}
.portal-client *{box-sizing:border-box}.portal-client [hidden]{display:none!important}.portal-client a{color:#087f6a}.portal-client .container{width:100%;max-width:1280px;padding:32px 28px;margin:0 auto}.portal-client h1,.portal-client h2,.portal-client h3{font-weight:700;color:#172c39;letter-spacing:-.025em}.portal-client h1{font-size:36px;line-height:1.16;margin:0 0 12px}.portal-client h2{font-size:23px;line-height:1.3}.portal-client h3{font-size:21px;line-height:1.3}.portal-client .muted{color:#506777}.portal-client .eyebrow{color:#607789;font-size:11px;letter-spacing:.11em}.portal-client .accent{color:#087f6a}
.client-header{position:sticky;top:0;z-index:100;border-bottom:1px solid #e1e8ef;background:#fff}.client-navbar{background:#fff;color:#172c39;box-shadow:none;height:72px;line-height:72px}.client-navbar .nav-wrapper{max-width:1280px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between}.client-navbar .brand{color:#172c39;font-size:16px;letter-spacing:.12em;white-space:nowrap}.client-navbar .brand span{font-weight:500;color:#607789}.client-navbar ul{margin:0}.client-navbar ul a{color:#263f50;font-size:14px;font-weight:600;padding:0 18px}.client-navbar ul a:hover{background:#eef7f4}.client-navbar .client-menu-trigger{float:none;margin:0;color:#172c39;font-size:25px;line-height:48px;width:48px;height:48px;text-align:center;border:1px solid #dce5ec;border-radius:12px}.client-brand-caption{font-size:13px;color:#607789}.portal-client .dropdown-content{border-radius:12px;min-width:230px}.portal-client .dropdown-content li>a{color:#263f50;font-size:14px}.portal-client .sidenav{background:#fff;color:#172c39}.client-menu-user{padding:32px 32px 24px;line-height:1.4;border-bottom:1px solid #e1e8ef}.client-menu-user strong,.client-menu-user span{display:block}.client-menu-user span{font-size:13px;color:#607789;margin-top:6px}.client-back-link{display:inline-flex;align-items:center;font-size:14px;font-weight:600;padding:4px 0 16px}.portal-client .portal-footer{max-width:1280px;margin:24px auto 0;padding:26px 28px;display:flex;justify-content:space-between;gap:16px;border-top:1px solid #e1e8ef;color:#607789;font-size:12px;text-align:left}
.portal-client .card{background:#fff;border:1px solid #e1e8ef;border-radius:18px;padding:28px;box-shadow:0 4px 20px #1b3c4d07;color:#172c39;margin:0 0 22px}.portal-client .card:hover{border-color:#d2e1e8}.portal-client .section-head{gap:18px;margin-bottom:20px}.portal-client .section-head h2{font-size:23px;margin-bottom:7px}.portal-client .section-head p{font-size:14px;max-width:760px}.portal-client .section-head .muted{line-height:1.6}.portal-client .hero{align-items:center;margin-bottom:28px;gap:20px}.portal-client .dashboard-hero{padding:24px 0 8px}.portal-client .dashboard-hero h1{font-size:42px}.portal-client .dashboard-hero .muted{font-size:16px;max-width:660px}.portal-client .client-project-summary{margin:4px 0 26px}.portal-client .badge{float:none;min-width:0;display:inline-flex;padding:7px 12px;margin:0;height:auto;line-height:1.4;border:0;background:#e8f5ef;color:#14634e;font-size:12px;font-weight:600;border-radius:30px}.portal-client .project-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:24px}.portal-client .project-card{padding:0;overflow:hidden;box-shadow:0 4px 18px #19394d08;transition:box-shadow .18s,transform .18s}.portal-client .project-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px #19394d12}.portal-client .project-art{height:190px;background-color:#173f4a;border-radius:0;color:white}.portal-client .project-art span{color:#e7f3f4}.portal-client .project-art strong{color:#ffffff88}.portal-client .project-info{padding:24px}.portal-client .project-info h3{font-size:24px;margin:4px 0 8px}.portal-client .project-info .muted{min-height:46px;font-size:14px}.portal-client .project-bottom{color:#607789;border-top:1px solid #edf1f5;padding-top:18px;margin-top:18px}.portal-client .project-bottom strong{color:#087f6a}.portal-client .project-search{max-width:340px}.portal-client .camera-status-card{padding:0;overflow:hidden}.portal-client .camera-card-body{padding:24px}.portal-client .camera-card-top h2{font-size:22px}.portal-client .camera-thumb{background:#e7edf2}.portal-client .camera-thumb.placeholder{color:#607789}.portal-client .camera-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}.portal-client .camera-grid .card{padding:0}.portal-client .camera-picker .section-head{margin-bottom:10px}.portal-client .camera-picker .toolbar{padding:0;border:0;background:none}
.portal-client .btn,.portal-client button.btn{height:auto;min-height:46px;line-height:1.35;padding:12px 20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;background:#087f6a;color:#fff;font-size:14px;letter-spacing:0;text-transform:none;font-weight:650;box-shadow:none;border:1px solid transparent;white-space:normal}.portal-client .btn:hover{background:#066955;box-shadow:0 4px 10px #087f6a18}.portal-client .btn.secondary{background:#fff;border:1px solid #cad9e1;color:#24485a}.portal-client .btn.secondary:hover{background:#f0f6f8}.portal-client .btn:focus-visible,.portal-client button:focus-visible,.portal-client a:focus-visible,.portal-client input:focus-visible,.portal-client select:focus-visible{outline:3px solid #4a9fe2;outline-offset:3px}.portal-client .btn:disabled{background:#dfe7ec;color:#687f8e}.portal-client .text-link{color:#087f6a}.portal-client .field{min-width:0}.portal-client .field>label{font-size:13px;color:#385769;display:block;margin:0 0 8px;font-weight:600}.portal-client input.input,.portal-client input[type=text],.portal-client input[type=email],.portal-client input[type=password],.portal-client input[type=search],.portal-client input[type=date],.portal-client input[type=datetime-local],.portal-client input[type=time],.portal-client input[type=month],.portal-client input[type=number],.portal-client select,.portal-client textarea{width:100%;height:auto;min-height:46px;margin:0;padding:11px 13px;border:1px solid #cedbe4;border-radius:10px;background:#fff;color:#172c39;box-shadow:none;font:inherit;font-size:14px;line-height:1.4;color-scheme:light;display:block;box-sizing:border-box}.portal-client input:focus,.portal-client textarea:focus{border-color:#087f6a;box-shadow:0 0 0 3px #087f6a12!important}.portal-client input::placeholder{color:#6a8291}.portal-client select{appearance:auto}.portal-client .help{max-width:none;color:#526e7f;font-size:13px;line-height:1.55}.portal-client input[type=checkbox],.portal-client input[type=radio]{position:static;opacity:1;pointer-events:auto;appearance:auto;width:19px;height:19px;accent-color:#087f6a;margin:2px 0 0;flex-shrink:0}.portal-client .check-card{padding:14px 16px;background:#f8fafb;border:1px solid #dce5ec;border-radius:12px;color:#263f50}.portal-client .toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px}.portal-client .toolbar .field{flex:1 1 190px}.portal-client .advanced-grid{gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}.portal-client .client-advanced{border:1px solid #dce5ec;border-radius:12px;margin:22px 0;padding:0 18px;background:#f8fafb}.portal-client .client-advanced summary{cursor:pointer;font-weight:650;padding:16px 0;color:#24485a}.portal-client .client-advanced[open] summary{margin-bottom:10px}.portal-client .client-advanced[open]{padding-bottom:6px}.portal-client .retention-notice{border:1px solid #d9e6f0;border-left:4px solid #397ba7;background:#f0f7fc;color:#335971;border-radius:10px;padding:13px 16px;font-size:13px;margin:22px 0 18px;line-height:1.6}.portal-client .generate-card>.section-head p{max-width:700px}
.portal-client .project-jumps{height:auto;line-height:normal;background:white;border:1px solid #dce5ec;color:#24485a;padding:10px;border-radius:12px;box-shadow:none}.client-tool-nav{background:#f5f7fa;position:sticky;top:72px;z-index:30;margin:0 0 24px;padding:4px 0 14px}.portal-client .client-tool-nav .tabs{height:54px;background:#fff;border:1px solid #dde6ed;border-radius:12px;display:flex;overflow-x:auto;box-shadow:0 4px 18px #19394d04}.portal-client .client-tool-nav .tab{float:none;flex:1 0 auto;height:52px;line-height:52px;min-width:125px}.portal-client .client-tool-nav .tab a{color:#526e7f;font-size:14px;font-weight:650;text-transform:none;padding:0 22px}.portal-client .client-tool-nav .tab a.active,.portal-client .client-tool-nav .tab a:hover{color:#087f6a;background:#f0f8f5}.portal-client .client-tool-nav .tabs .indicator{background:#087f6a;height:3px}.portal-client .client-tool-nav .tabs .tab a:focus.active{background:#e8f5ef}.portal-client .client-workspace-panel{min-width:0;scroll-margin-top:150px}.portal-client .client-workspace-panel .card{margin-top:0}.portal-client .client-workspace-panel .live-card{position:static}.portal-client .filter-panel{background:#f6f9fb;border:1px solid #e1e8ef;border-radius:14px;padding:18px;margin-bottom:22px}.portal-client .filter-mode{display:inline-flex;background:#e7eef3;border-radius:10px;padding:4px;gap:4px;margin-bottom:18px}.portal-client .filter-tab{border:0;background:transparent;color:#526e7f;padding:9px 18px;border-radius:7px;font-size:13px;cursor:pointer;min-height:42px}.portal-client .filter-tab.active{background:#fff;color:#087f6a;box-shadow:0 2px 6px #19394d10}.portal-client .timeline{border:1px solid #dde6ed;background:#f8fafb;border-radius:12px;margin-bottom:18px}.portal-client .timeline-track{background:none}.portal-client .timeline-label{color:#526e7f}.portal-client .timeline-item{border-color:#d5e1e8;background:white}.portal-client .photo-gallery{gap:16px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.portal-client .photo-card{background:#fff;border:1px solid #dde6ed;color:#172c39;box-shadow:none}.portal-client .photo-card:hover{border-color:#087f6a}.portal-client .photo-card small{color:#607789}.portal-client .result-count{color:#526e7f;background:#edf3f6;border-color:#dbe5ec}.portal-client .empty{padding:44px 24px;background:#f8fafb;color:#607789;border-radius:12px}.portal-client .empty h3{font-size:21px;color:#385769}.portal-client .calendar-head{color:#607789}.portal-client .calendar-day{background:#fff;color:#172c39;border:1px solid #dce5ec}.portal-client .calendar-day span{color:#607789}.portal-client .calendar-day.has-captures{background:#eef8f3;border-color:#c7e5d9}.portal-client .calendar-day.gap-day{background:#f4f7fa;opacity:1;color:#93a5b0}.portal-client .calendar-day.empty-day{background:transparent;border:0}.portal-client .compare-presets{gap:10px}.portal-client .compare-meta span{background:#eff6f8;border:1px solid #dbe6ec;color:#263f50}.portal-client .compare{margin-top:22px}.portal-client .compare>div>label{display:block;margin-bottom:8px;font-size:13px;font-weight:600}.portal-client .compare-meta b{background:#087f6a;color:white}.portal-client .compare-stage,.portal-client .wipe-compare{border-radius:12px;border-color:#dce5ec}.portal-client .segmented{background:#eef4f7;border:1px solid #dce5ec}.portal-client .segmented button{color:#526e7f}.portal-client .segmented button.active{color:#087f6a;background:#fff}.portal-client .table td,.portal-client .table th{padding:15px 12px;border-bottom:1px solid #e5ecf1;font-size:14px}.portal-client .table th{font-size:12px;color:#607789;font-weight:650;text-transform:none}.portal-client .table tr:nth-child(even){background:#fafcfd}.portal-client .table td small{color:#607789}.portal-client .status-pill{background:#f0f5f8;color:#385769;border-color:#dce5ec}.portal-client .status-done{color:#087f6a}.portal-client .status-expired{color:#986518;background:#fff6e5;border-color:#efdba7}.portal-client .job-percent{color:#087f6a}.portal-client .progress{background:#dceee8;height:8px;border-radius:8px}.portal-client .progress .determinate{background:#087f6a}.portal-client .diagnostic{background:#f4f7fa;color:#385769;border-color:#dce5ec}.portal-client .login{max-width:470px;margin:50px auto;padding:40px;box-shadow:0 18px 50px #19394d0d}.portal-client .login h1{font-size:30px}.portal-client .login .field{margin-top:24px}.portal-client .login .btn{width:100%;margin-top:26px}.portal-client .login .help{margin-top:24px}.portal-client .error-panel{background:#fff0ef;color:#9c3b31;border-color:#f1cbc7}.portal-client .viewer-panel{background:#fff;color:#172c39;border-color:#dce5ec}.portal-client .viewer-header p,.portal-client .viewer-footer p{color:#607789}.portal-client .viewer-footer{background:#f6f9fb}.portal-client .viewer-stage{background:#0b1620}.portal-client .viewer-status{color:#d9e1ea}.portal-client .code-block,.portal-client .secret-code{background:#f4f7fa;color:#24485a;border-color:#dce5ec}.portal-client .report-sheet{border:1px solid #dce5ec}.portal-client .ops-columns{gap:22px}
@media(max-width:992px){.client-navbar .nav-wrapper{padding:0 20px}.portal-client .container{padding:26px 20px}.portal-client .advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-client .hero{align-items:flex-start}.portal-client .client-tool-nav .tab{min-width:110px}.portal-client .client-tool-nav .tab a{padding:0 17px}.portal-client .client-tool-nav .tabs{justify-content:flex-start}}
@media(max-width:600px){.client-navbar{height:64px;line-height:64px}.client-navbar .nav-wrapper{padding:0 16px}.client-navbar .brand{font-size:14px;letter-spacing:.08em}.portal-client .container{padding:24px 16px}.portal-client h1{font-size:29px}.portal-client .dashboard-hero{padding:12px 0 0}.portal-client .dashboard-hero h1{font-size:32px}.portal-client .dashboard-hero .muted{font-size:14px}.portal-client .card{padding:20px;border-radius:14px;margin-bottom:18px}.portal-client .project-card,.portal-client .camera-status-card{padding:0}.portal-client .project-grid,.portal-client .camera-grid{grid-template-columns:1fr;gap:18px}.portal-client .project-art{height:180px}.portal-client .project-info{padding:20px}.portal-client .section-head{align-items:flex-start}.portal-client .section-head h2{font-size:21px}.portal-client .section-head .btn{width:100%}.portal-client .toolbar{gap:16px}.portal-client .toolbar .field{flex-basis:100%}.portal-client .toolbar .btn{width:100%}.portal-client .advanced-grid{grid-template-columns:1fr;gap:18px}.portal-client .compare{grid-template-columns:1fr;gap:16px}.portal-client .photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portal-client .photo-card span{padding:9px;flex-wrap:wrap;gap:4px}.portal-client .photo-card strong{font-size:12px}.portal-client .photo-card small{font-size:10px}.portal-client .filter-panel{padding:14px}.portal-client .filter-mode{width:100%;display:flex}.portal-client .filter-tab{flex:1}.client-tool-nav{top:64px;margin-bottom:18px;padding-bottom:10px}.portal-client .client-tool-nav .tab{flex:0 0 auto;min-width:104px}.portal-client .client-tool-nav .tab a{font-size:13px;padding:0 16px}.portal-client .client-tool-nav .tabs{border-radius:10px}.portal-client .calendar-day span{font-size:9px}.portal-client .compare-presets .btn{flex:1 1 40%;font-size:13px;padding:11px 12px}.portal-client .portal-footer{padding:22px 16px;display:block;line-height:1.8}.portal-client .portal-footer span{display:block}.portal-client .login{margin:24px auto;padding:28px 22px}.portal-client .project-hero>.btn{width:100%}.portal-client .camera-picker .field{min-width:0}.portal-client .camera-picker .toolbar .btn{width:100%}.portal-client .photo-gallery.is-panorama{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.portal-client *{scroll-behavior:auto;transition:none!important;animation:none!important}}

/* Native checkboxes retain one visible control when Materialize is loaded. */
.portal-client [type=checkbox]+span:not(.lever){padding-left:0;line-height:inherit;height:auto}.portal-client [type=checkbox]+span:not(.lever)::before,.portal-client [type=checkbox]+span:not(.lever)::after{display:none}.portal-admin .feature-permission-card>span{display:grid;gap:5px}
