:root{--bg: #f5f6f8;--surface: #ffffff;--surface-2: #eef0f4;--border: #dde1e8;--text: #171a21;--muted: #646b7a;--accent: #e8590c;--accent-text: #ffffff;--danger: #c92a2a;--ok: #2b8a3e;--radius: 12px;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #0f1115;--surface: #181b21;--surface-2: #22262e;--border: #2d323c;--text: #e8eaef;--muted: #949bab;--accent: #ff7a33;--accent-text: #15100c;--danger: #ff6b6b;--ok: #51cf66;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1{font-size:1.6rem;margin:.25rem 0 1rem}h2{font-size:1.05rem;margin:0 0 .75rem}a{color:inherit}code{background:var(--surface-2);padding:0 .3em;border-radius:4px}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--danger)}.topbar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 16px;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:1}.brand{display:flex;align-items:center;gap:.5rem;font-weight:700;text-decoration:none}.brand-dot{display:inline-block;width:.8em;height:.8em;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}main{max-width:1100px;margin:0 auto;padding:1.25rem 16px 3rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.back{color:var(--muted);text-decoration:none;font-size:.9rem}.section-title{margin-top:2rem}button,.button{font:inherit;cursor:pointer;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);padding:.45rem .9rem;text-decoration:none;display:inline-block}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600;width:100%;padding:.65rem}button.link{background:none;border:none;padding:0;color:var(--muted);text-decoration:underline}button.link.danger{color:var(--danger)}label,.field{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--muted);margin-bottom:.9rem}input{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:.45rem .6rem;min-width:0}input[type=number]{width:5rem}.inline{display:flex;align-items:center;gap:.6rem}.chip{border-radius:999px;padding:.25rem .75rem;font-size:.85rem}.presets{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem}.range{display:grid;grid-template-columns:1fr 1fr;gap:0 .75rem}.segmented{display:flex;flex-wrap:wrap;border:1px solid var(--border);border-radius:8px;overflow:hidden;width:fit-content;max-width:100%}.segmented button{border:none;border-radius:0;background:transparent;color:var(--text)}.segmented button+button{border-left:1px solid var(--border)}.segmented button.active{background:var(--accent);color:var(--accent-text)}.estimate{margin:.25rem 0 .9rem}.login{min-height:100vh;display:grid;place-items:center;padding:16px}.login-card{width:min(380px,100%)}.login-card h1{display:flex;align-items:center;gap:.5rem}.camera-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.camera-card{padding:0;overflow:hidden;text-decoration:none;transition:border-color .15s}.camera-card:hover{border-color:var(--accent)}.camera-card img{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block;background:var(--surface-2)}.camera-card-body{padding:.75rem 1rem}.camera-card-title{display:flex;justify-content:space-between;gap:.5rem}.empty{text-align:center;padding:2rem 1rem}.storage{margin-top:1.5rem}.camera-layout{display:grid;grid-template-columns:3fr 2fr;gap:1rem;align-items:start}.preview{position:relative;display:block;aspect-ratio:16 / 9;background:var(--surface-2);border-radius:8px;overflow:hidden}.preview img{width:100%;height:100%;object-fit:contain;display:block}.preview-empty{display:grid;place-items:center}.preview-time{position:absolute;left:.5rem;bottom:.5rem;background:#0009;color:#fff;font-size:.8rem;padding:.1rem .5rem;border-radius:6px}.scrubber{display:flex;align-items:center;gap:.6rem;margin:.6rem 0 .25rem}.scrubber input{flex:1;padding:0;accent-color:var(--accent)}.play{width:2.4rem;height:2.4rem;padding:0;border-radius:50%;flex-shrink:0}.timelapse-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.timelapse-card{padding:0;overflow:hidden}.timelapse-card video,.video-placeholder{width:100%;aspect-ratio:16 / 9;display:block;background:#000}.video-placeholder{background:var(--surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;padding:1rem;text-align:center;font-weight:600}.video-placeholder.failed{color:var(--danger)}.progress{width:70%;height:6px;background:var(--border);border-radius:999px;overflow:hidden}.progress div{height:100%;background:var(--accent);transition:width .4s}.timelapse-body{padding:.75rem 1rem}.actions{display:flex;align-items:center;gap:1rem;margin-top:.6rem}@media(max-width:760px){.camera-layout,.range{grid-template-columns:1fr}}.schedules{margin-top:1rem}.schedules-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.schedules-head h2{margin:0}.schedule-row{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-top:1px solid var(--border)}.schedule-row.paused .schedule-text strong{color:var(--muted)}.schedule-text{flex:1;display:flex;flex-direction:column;min-width:0}.schedule-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.switch{position:relative;flex-shrink:0;width:42px;height:24px;margin:0}.switch input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;cursor:pointer}.switch span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:var(--border);transition:background .15s;pointer-events:none}.switch span:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:after{transform:translate(18px)}.switch input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.schedule-form{border-top:1px solid var(--border);padding-top:1rem;margin-top:.25rem}.schedule-form .inline{margin-top:.4rem;flex-wrap:wrap}.form-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end}.hint{font-size:.8rem;color:var(--muted)}.form-row .hint{margin:0 0 1.4rem}select{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:.45rem .6rem}.form-actions{display:flex;gap:.75rem;justify-content:flex-end}.form-actions button.primary{width:auto;padding:.55rem 1.1rem}.tag{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);border-radius:4px;padding:0 .35rem;margin-right:.4rem}@media(max-width:760px){.schedule-row{flex-wrap:wrap}.schedule-actions{width:100%;justify-content:flex-start}}.topnav{display:flex;align-items:center;gap:1.25rem}.topnav a{color:var(--muted)}label.checkbox{flex-direction:row;align-items:center;gap:.5rem;color:var(--text);font-size:.95rem}label.checkbox input{width:1.1rem;height:1.1rem;accent-color:var(--accent)}.logo-layout{display:grid;grid-template-columns:3fr 2fr;gap:1.25rem;align-items:start}.logo-preview{position:relative;container-type:inline-size;aspect-ratio:16 / 9;border-radius:8px;overflow:hidden;background:var(--surface-2)}.logo-preview>img:first-child{width:100%;height:100%;object-fit:cover;display:block}.logo-preview-empty{display:grid;place-items:center;height:100%}.logo-overlay{position:absolute;height:auto}.logo-controls{border:none;padding:0;margin:0;min-width:0}.logo-controls:disabled{opacity:.5}.logo-controls input[type=range]{accent-color:var(--accent);padding:0}.corner-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;width:128px;aspect-ratio:16 / 9;padding:6px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.corner-picker button{padding:0;border-radius:4px;background:var(--surface)}.corner-picker button.active{background:var(--accent);border-color:var(--accent)}@media(max-width:760px){.logo-layout{grid-template-columns:1fr}}.length-row{margin-top:.4rem;flex-wrap:wrap}.estimate-note{display:block;margin-top:.2rem}.camera-title{display:flex;align-items:baseline;gap:.9rem;flex-wrap:wrap;margin:.25rem 0 1rem}.camera-title h1{margin:0}.rename{display:flex;gap:.5rem;margin:.25rem 0 1rem;flex-wrap:wrap}.rename input{font-size:1.3rem;font-weight:700;flex:1;min-width:12rem;max-width:24rem}.rename button.primary{width:auto;padding:.45rem 1rem}.before-after{margin-bottom:1rem}.compare{position:relative;aspect-ratio:16 / 9;border-radius:8px;overflow:hidden;background:var(--surface-2);-webkit-user-select:none;user-select:none}.compare img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.compare-before{position:absolute;top:0;right:0;bottom:0;left:0}.compare-line{position:absolute;top:0;bottom:0;width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 6px #00000080;pointer-events:none}.compare-line:after{content:"‹ ›";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;color:#222;font-weight:700;border-radius:999px;padding:.2rem .55rem;box-shadow:0 1px 6px #0006;white-space:nowrap}.compare-label{position:absolute;top:.6rem;background:#0009;color:#fff;font-size:.8rem;padding:.1rem .5rem;border-radius:6px;pointer-events:none}.compare-label.left{left:.6rem}.compare-label.right{right:.6rem}.compare-range{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}.compare:has(.compare-range:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.format-icon{display:inline-block;border:2px solid currentColor;border-radius:2px;margin-right:.4rem;vertical-align:-1px}.format-icon.landscape{width:16px;height:10px}.format-icon.portrait{width:10px;height:16px;vertical-align:-3px}.music-preview{height:32px;max-width:100%}.track-list{list-style:none;padding:0;margin:0}.track-list li{display:flex;align-items:center;gap:1rem;padding:.6rem 0;border-top:1px solid var(--border);flex-wrap:wrap}.track-name{flex:1;min-width:10rem;display:flex;flex-direction:column}.track-list audio{height:32px;max-width:100%}.music-library{margin-top:1rem}.timelapse-card video.portrait{object-fit:contain}:root{--chart-1: #e8590c}.site-activity{margin-bottom:1rem}.site-activity .schedules-head{align-items:flex-start;gap:1rem;flex-wrap:wrap}.site-activity label.checkbox{margin:0}.stat-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin:.75rem 0 .25rem}.stat-tile{display:flex;flex-direction:column;padding:.75rem;border-radius:8px;background:var(--surface-2)}.stat-label{font-size:.85rem;color:var(--muted)}.stat-value{font-size:2rem;font-weight:650;line-height:1.2}.activity-note{margin:.4rem 0 0}.chart{margin:1rem 0 0}.chart-title{font-size:.9rem;font-weight:600;margin-bottom:.25rem}.chart-box{position:relative;width:100%}.chart svg{display:block;overflow:visible}.chart .grid{stroke:var(--border);stroke-width:1}.chart .tick{fill:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.chart .line{fill:none;stroke:var(--chart-1);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart .area{fill:var(--chart-1);opacity:.1}.chart .end-dot{fill:var(--chart-1);stroke:var(--surface);stroke-width:2}.chart .end-label{fill:var(--text);font-size:12px;font-weight:600}.chart .crosshair{stroke:var(--muted);stroke-width:1}.chart-tooltip{position:absolute;pointer-events:none;min-width:170px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #00000026;padding:.5rem .65rem;font-size:.85rem}.tooltip-row{display:flex;justify-content:space-between;gap:1rem;font-variant-numeric:tabular-nums}.chart-table{margin-top:.5rem;font-size:.85rem}.chart-table summary{color:var(--muted);cursor:pointer}.chart-table table{border-collapse:collapse;margin-top:.5rem;width:100%}.chart-table th,.chart-table td{text-align:left;padding:.2rem .6rem .2rem 0;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums}.ask{margin-top:1.25rem;border-top:1px solid var(--border);padding-top:1rem}.ask .inline input{flex:1;min-width:0}.ask button.primary{width:auto;padding:.45rem 1.1rem}.ask .presets{margin:.5rem 0 0}.answer{margin-top:.75rem;padding:.75rem .9rem;border-radius:8px;background:var(--surface-2)}.answer p{margin:.25rem 0 0;white-space:pre-wrap}.ai-text{margin-top:.6rem;font-size:.9rem}.ai-text>p{margin:0 0 .5rem}.caption-box{background:var(--surface-2);border-radius:8px;padding:.6rem .75rem}.caption-box p{margin:0 0 .3rem}.hashtags{color:var(--muted)}.alerts-settings,.alert-log{margin-top:1rem}.alerts-settings h3{font-size:.95rem;margin:1.25rem 0 .5rem}.howto{margin-bottom:.75rem;font-size:.9rem}.howto summary{cursor:pointer;color:var(--accent)}.recipient-form{margin-top:.75rem}.recipient-form button.primary{width:auto;padding:.45rem 1.1rem;margin-bottom:.9rem}@media(max-width:760px){.stat-tiles{grid-template-columns:repeat(2,1fr)}}.notice{color:var(--ok);margin:0 0 .75rem}.login-alt{display:block;text-align:center;margin:.9rem auto 0}button.primary.inline-button{width:auto;padding:.45rem 1.1rem;margin-bottom:.9rem}.people{margin-top:1rem}.invite-form{margin-top:.5rem}.invite-result{background:var(--surface-2);border-radius:8px;padding:.75rem .9rem;margin-bottom:1rem}.invite-result p{margin:0 0 .5rem}.invite-result input{flex:1;min-width:0;font-size:.85rem}.user-list select{font-size:.9rem}.camera-settings{margin-bottom:1rem}.camera-settings li.paused strong{color:var(--muted)}.camera-waiting{aspect-ratio:16 / 9;display:grid;place-items:center;background:var(--surface-2)}.ftp-box{background:var(--surface-2);border-radius:8px;padding:.75rem .9rem;margin:.25rem 0 1rem}.ftp-box table{border-collapse:collapse;margin:.5rem 0}.ftp-box th{text-align:left;font-weight:500;color:var(--muted);padding:.2rem 1rem .2rem 0}.ftp-box td{padding:.2rem 1rem .2rem 0}.ftp-box code{font-size:1rem;-webkit-user-select:all;user-select:all}.ftp-box ol{margin:.5rem 0 0;padding-left:1.25rem}.ftp-box summary{cursor:pointer;color:var(--accent)}.warning{color:var(--danger);font-weight:600;margin:.25rem 0 .5rem}.company-switch{margin-left:1rem;margin-right:auto;max-width:14rem;font-weight:600}.company-name{margin-left:1rem;margin-right:auto}.topbar{gap:.5rem}.banner{background:color-mix(in srgb,var(--danger) 14%,var(--surface));color:var(--text);padding:.5rem 16px;text-align:center;font-size:.9rem}.company-list li.paused strong{color:var(--muted)}button.primary.inline-button.compact{margin-bottom:0}.company-logo{width:44px;height:44px;object-fit:contain;border-radius:8px;background:var(--surface-2);flex-shrink:0}.company-logo.empty{display:inline-block}.company-extras{width:100%;display:grid;gap:.6rem}.company-extras p{margin:0 0 .4rem}.ok{color:var(--ok)}.brand-logo{height:32px;max-width:140px;object-fit:contain}.login-logo{display:block;max-height:72px;max-width:220px;object-fit:contain;margin:0 0 .75rem}.brand-icon{width:26px;height:26px;border-radius:7px}.login-brand{display:flex;align-items:center;gap:.6rem}.login-brand img{width:44px;height:44px;border-radius:11px}.lang-switch{display:flex;justify-content:center;gap:.25rem;margin-top:1rem}.lang-switch button.link{margin:0;padding:.2rem .4rem;color:var(--muted);text-decoration:none;font-weight:500}.lang-switch button.link.active{color:var(--text);font-weight:700}.lang-switch.compact{margin-top:0}button.primary.danger-button{background:var(--danger);border-color:var(--danger)}.activity-table{width:100%;border-collapse:collapse}.activity-table td{padding:.45rem .5rem .45rem 0;border-top:1px solid var(--border);vertical-align:top}.activity-table tr.refused td:last-child{color:var(--muted)}.nowrap{white-space:nowrap}.health{list-style:none;padding:0;margin:0 0 .75rem;display:grid;gap:.3rem}.notice-step h2{display:flex;align-items:center;gap:.55rem}.step-number{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--accent);color:var(--accent-text);font-size:.9rem;font-weight:700;flex-shrink:0}.people-list .track-name{gap:.25rem}.chips{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.chip.small-chip{font-size:.75rem;padding:.1rem .55rem;cursor:default}.person-form{border-top:1px solid var(--border);margin-top:.75rem;padding-top:1rem;display:grid;gap:.75rem}.channels{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem}.channels fieldset{border:1px solid var(--border);border-radius:10px;padding:.5rem .9rem .75rem;margin:0;min-width:0}.channels legend{padding:0 .3rem;font-weight:600}.kind-picks{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.35rem 1rem}.inline.wrap{flex-wrap:wrap}.notice{display:flex;gap:.9rem;align-items:flex-start;padding:.85rem 0;border-top:1px solid var(--border)}.notice:first-of-type{border-top:none}.notice.off .notice-body>strong{color:var(--muted)}.notice-body{display:grid;gap:.3rem;flex:1;min-width:0}.notice-options{margin-top:.25rem;gap:.5rem}.preview-notice button.link{margin:0;padding:0}.wa-bubble{margin-top:.4rem;max-width:34rem;background:#dcf8c6;color:#111b21;border-radius:10px 10px 10px 2px;padding:.6rem .8rem;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem;box-shadow:0 1px 1px #0000001f}.pre-line{white-space:pre-line;overflow-wrap:anywhere}.ai-providers{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.75rem;margin-bottom:.75rem}.ai-providers fieldset{border:1px solid var(--border);border-radius:10px;padding:.5rem .9rem .75rem;margin:0;min-width:0;display:grid;align-content:start;gap:.5rem}.ai-providers fieldset.main{border-color:var(--accent)}.ai-providers legend{padding:0 .3rem;font-weight:600}.ai-providers p{margin:0}.ai-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.ai-actions button{width:auto;margin:0}.ai-usage{margin:.75rem 0;overflow-x:auto}.ai-usage table{width:100%;border-collapse:collapse;font-size:.9rem}.ai-usage th,.ai-usage td{text-align:left;padding:.45rem .6rem;border-bottom:1px solid var(--border);vertical-align:top}.ai-usage th{color:var(--muted);font-weight:600}.usage-days{display:flex;align-items:flex-end;gap:2px;height:48px;margin:.6rem 0 .3rem}.usage-days span.idle{background:var(--border)}.usage-days span{flex:1;min-width:3px;background:var(--accent);border-radius:2px 2px 0 0;opacity:.8}.hour-picks{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;margin-bottom:.9rem}.hour-picks button{display:flex;flex-direction:column;align-items:center;padding:.3rem 0;font-size:.8rem;line-height:1.2;margin:0;width:auto}.hour-picks button small{color:var(--muted);font-size:.7rem}.hour-picks button.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.hour-picks button.active small{color:inherit}.hour-picks button:disabled{opacity:.35}.picture-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.picture-grid .picture{position:relative;padding:0;margin:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:var(--surface-2);width:auto;display:block;text-align:left}.picture-grid .picture.selected{border-color:var(--accent)}.picture-grid .picture button{padding:0;margin:0;border:0;width:100%;display:block;background:none}.picture-grid img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover}.picture-grid button.picture>span,.picture-grid .pick{display:flex;align-items:center;gap:.35rem;padding:.25rem .45rem;font-size:.78rem;color:var(--muted)}.picture-grid .pick input{margin:0;width:auto}.trash-browser{width:100%;display:grid;gap:.75rem;padding:.5rem 0 .75rem}.trash-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.trash-tools button{width:auto;margin:0}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000000e0;display:flex;align-items:center;justify-content:center;padding:16px}.lightbox-inner{max-width:min(1600px,100%);max-height:100%;display:flex;flex-direction:column;gap:.5rem}.lightbox-inner img{max-width:100%;max-height:calc(100vh - 110px);object-fit:contain;border-radius:6px;align-self:center}.lightbox-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;color:#f1f3f5}.lightbox-bar button,.lightbox-bar .button{width:auto;margin:0}.lightbox-caption{flex:1;min-width:200px;font-size:.9rem}@media(max-width:640px){.hour-picks{grid-template-columns:repeat(6,minmax(0,1fr))}.picture-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}}
