@import"https://fonts.googleapis.com/css2?family=Archivo:wght@600;700;800&family=Public+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500;600&display=swap";:root{--bg: #f5f2ea;--surface: #ffffff;--surface-2: #efe9db;--ink: #201d1a;--muted: #6b6255;--line: #ddd3bd;--accent: #d9601b;--accent-ink: #ffffff;--accent-soft: #fbe6d4;--ok: #2f6b4f;--ok-soft: #e1efe6;--warn: #a4720c;--warn-soft: #f6ecd6;--danger: #a4341c;--danger-soft: #f6ded6}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #171512;--surface: #201d19;--surface-2: #29251f;--ink: #f1ece1;--muted: #a89e8c;--line: #3a352c;--accent: #f07a34;--accent-ink: #17130e;--accent-soft: #3a2a1a;--ok: #7fc9a4;--ok-soft: #1f2f26;--warn: #e0b155;--warn-soft: #362c17;--danger: #e28569;--danger-soft: #3a2019}}:root[data-theme=dark]{--bg: #171512;--surface: #201d19;--surface-2: #29251f;--ink: #f1ece1;--muted: #a89e8c;--line: #3a352c;--accent: #f07a34;--accent-ink: #17130e;--accent-soft: #3a2a1a;--ok: #7fc9a4;--ok-soft: #1f2f26;--warn: #e0b155;--warn-soft: #362c17;--danger: #e28569;--danger-soft: #3a2019}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:Public Sans,system-ui,sans-serif;line-height:1.5}button,input{font-family:inherit}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mono{font-family:IBM Plex Mono,monospace}.app-shell{min-height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.25rem;border-bottom:1px solid var(--line);background:var(--surface)}.topbar .brand{font-family:Archivo,sans-serif;font-weight:800;font-size:1.1rem;letter-spacing:-.01em}.topbar .brand span{color:var(--accent)}.topbar .who{display:flex;align-items:center;gap:.9rem;font-size:.88rem;color:var(--muted)}.topbar .who button{background:none;border:1px solid var(--line);border-radius:6px;padding:.35rem .7rem;color:var(--ink);cursor:pointer;font-size:.82rem}.topbar .who button:hover{border-color:var(--accent);color:var(--accent)}main{flex:1;padding:1.5rem 1.25rem 3rem;max-width:720px;margin:0 auto;width:100%}.login-wrap{min-height:100%;display:flex;align-items:center;justify-content:center;padding:1.5rem}.login-card{width:100%;max-width:360px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:2rem}.login-card h1{font-family:Archivo,sans-serif;font-weight:800;font-size:1.5rem;margin:0 0 .25rem}.login-card h1 span{color:var(--accent)}.login-card p.dek{color:var(--muted);font-size:.9rem;margin:0 0 1.5rem}.forgot-link{display:block;text-align:center;margin-top:1rem;font-size:.85rem;color:var(--muted);text-decoration:none}.forgot-link:hover{color:var(--accent)}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem}.field label{font-size:.8rem;font-weight:600;color:var(--muted)}.field input{padding:.6rem .75rem;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font-size:.95rem}.field input:focus{border-color:var(--accent)}.btn-primary{width:100%;padding:.65rem;border:none;border-radius:8px;background:var(--accent);color:var(--accent-ink);font-weight:600;font-size:.95rem;cursor:pointer}.btn-primary:hover{filter:brightness(1.05)}.btn-primary:disabled{opacity:.6;cursor:default}.error-text{color:var(--danger);font-size:.85rem;margin:-.4rem 0 1rem}.work-actions{display:flex;gap:.7rem;margin-top:1.1rem}.work-actions .btn-primary,.work-actions .btn-danger{flex:1;width:auto;padding:.75rem;font-size:.95rem}.btn-danger{border:none;border-radius:8px;background:var(--danger);color:#fff;font-weight:600;cursor:pointer}.btn-danger:hover{filter:brightness(1.05)}.btn-danger:disabled{opacity:.5;cursor:default}.btn-problem{width:100%;margin-top:.7rem;padding:.65rem;border:1px solid var(--warn);border-radius:8px;background:var(--warn-soft);color:var(--warn);font-weight:600;font-size:.9rem;cursor:pointer}.btn-problem:hover{background:var(--warn);color:var(--accent-ink)}.problem-form{margin-top:.7rem;padding:1rem 1.1rem;border:1px solid var(--warn);background:var(--warn-soft);border-radius:10px}.problem-form label{display:block;font-size:.85rem;font-weight:600;color:var(--ink);margin-bottom:.4rem}.problem-form textarea{width:100%;padding:.6rem .75rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-family:inherit;font-size:.92rem;resize:vertical}.problem-form textarea:focus{border-color:var(--accent);outline:none}.problem-form-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.8rem}.btn-secondary-plain{background:none;border:1px solid var(--line);border-radius:8px;padding:.55rem .9rem;font-weight:600;font-size:.85rem;color:var(--muted);cursor:pointer}.btn-secondary-plain:hover{border-color:var(--ink);color:var(--ink)}.btn-secondary-plain:disabled{opacity:.5;cursor:default}.problem-sent{margin-top:.7rem;padding:.75rem 1.1rem;border:1px solid var(--ok);background:var(--ok-soft);color:var(--ok);border-radius:10px;font-size:.9rem;font-weight:600}.link-btn{background:none;border:none;padding:0;color:var(--ok);text-decoration:underline;font-weight:600;font-size:.9rem;cursor:pointer}.clock-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:.9rem 1.1rem;margin-bottom:1.5rem}.clock-banner .label{font-family:IBM Plex Mono,monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.clock-banner .title{font-weight:700;margin-top:.15rem}.inspection-hint{font-size:.8rem;color:var(--muted);margin-top:.3rem}.inspection-banner.warn{border-color:var(--warn);background:var(--warn-soft)}.inspection-banner.warn .label{color:var(--warn)}.inspection-banner.ok{border-color:var(--ok);background:var(--ok-soft)}.inspection-banner.ok .label,.inspection-banner.ok .title{color:var(--ok)}.btn-clock{background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent);border-radius:8px;padding:.55rem 1rem;font-weight:600;font-size:.88rem;cursor:pointer;text-decoration:none;white-space:nowrap}.btn-clock:hover{background:var(--accent);color:var(--accent-ink)}.day-nav{display:flex;align-items:stretch;gap:.6rem;margin-bottom:1.5rem}.day-nav-arrow{flex:0 0 auto;width:2.75rem;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--ink);font-size:1.3rem;line-height:1;cursor:pointer}.day-nav-arrow:hover{border-color:var(--accent);color:var(--accent)}.day-nav-calendar{position:relative;flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--ink);font-weight:600;font-size:.92rem;cursor:pointer;padding:.6rem .9rem}.day-nav-calendar:hover{border-color:var(--accent)}.day-nav-icon{font-size:1rem}.day-nav-date-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;border:none;pointer-events:none}h2.section-title{font-family:Archivo,sans-serif;font-size:1.1rem;font-weight:700;margin:0 0 .9rem}.job-list{display:flex;flex-direction:column;gap:.7rem}.job-card{display:block;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:1rem 1.1rem;text-decoration:none;color:var(--ink)}.job-card:hover{border-color:var(--accent)}.job-card .row1{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem}.job-card .time{font-family:IBM Plex Mono,monospace;font-size:.82rem;color:var(--muted);white-space:nowrap}.job-card h3{font-size:1rem;margin:.2rem 0 .15rem;font-weight:700}.job-card .addr{color:var(--muted);font-size:.86rem}.pill{display:inline-flex;align-items:center;gap:.4em;font-family:IBM Plex Mono,monospace;font-size:.68rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;padding:.2em .6em;border-radius:100px}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill.scheduled{background:var(--surface-2);color:var(--muted)}.pill.in_progress{background:var(--accent-soft);color:var(--accent)}.pill.completed{background:var(--ok-soft);color:var(--ok)}.pill.pending{background:var(--warn-soft);color:var(--warn)}.pill.not_sent{background:var(--surface-2);color:var(--muted)}.pill.sent{background:var(--warn-soft);color:var(--warn)}.pill.signed{background:var(--ok-soft);color:var(--ok)}.empty-state{color:var(--muted);font-size:.9rem;padding:2rem 0;text-align:center}.back-link{display:inline-block;margin-bottom:1rem;font-size:.85rem;color:var(--muted);text-decoration:none}.back-link:hover{color:var(--accent)}.detail-header h1{font-family:Archivo,sans-serif;font-size:1.4rem;margin:.2rem 0 .3rem}.detail-header .customer{color:var(--muted);font-size:.95rem}.detail-header .time{font-family:IBM Plex Mono,monospace;color:var(--muted);font-size:.85rem;margin-top:.4rem}.invoice-banner{margin-top:1.1rem;border-color:var(--accent)}.restricted-notice{margin-top:1.1rem;padding:1rem 1.1rem;border:1px solid var(--warn);background:var(--warn-soft);border-radius:10px}.restricted-notice-title{font-weight:700;color:var(--warn);margin-bottom:.3rem}.restricted-notice p{margin:0 0 .85rem;font-size:.9rem;color:var(--ink)}.restricted-notice-btn{display:inline-flex}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:1.1rem 1.2rem;margin-top:1.1rem}.panel h3{font-family:Archivo,sans-serif;font-size:.95rem;margin:0 0 .7rem}.panel p.notes{font-size:.92rem;color:var(--ink);margin:0}.form-row{display:flex;justify-content:space-between;align-items:center;padding:.55rem 0;border-bottom:1px solid var(--line);font-size:.9rem}.form-row:last-child{border-bottom:none}.sig-meta{font-size:.85rem;color:var(--muted)}.topbar .brand{color:var(--ink);text-decoration:none}.topbar .who a{color:var(--ink);font-weight:600;text-decoration:none}.topbar .who a:hover{color:var(--accent)}.topbar .brand,.topbar .who a,.topbar .who span{white-space:nowrap}.admin-tech .row1{align-items:center}.admin-tech .row1>div{min-width:0}.admin-tech .addr{overflow-wrap:anywhere}.admin-tech .btn-secondary-plain{white-space:nowrap;flex-shrink:0}@media (max-width: 480px){.topbar .who.has-admin span{display:none}}.admin-reset-form{margin-top:.9rem;padding-top:.9rem;border-top:1px solid var(--line)}.admin-save{width:auto;padding:.55rem 1.1rem}.problem-sent+.job-list{margin-top:.9rem}.comments-panel textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;padding:.65rem .8rem;font:inherit;font-size:.95rem;background:var(--bg);color:var(--ink);resize:vertical}.comments-panel textarea:focus{border-color:var(--accent);outline:none}.comments-panel .error-text{margin:.6rem 0 0}.comment-send{width:auto;padding:.6rem 1.2rem}.admin-toggle{display:inline-flex;align-items:center;gap:.4rem;margin-top:.45rem;font-size:.85rem;font-weight:600;color:var(--ink);cursor:pointer}.admin-toggle input{width:1.05rem;height:1.05rem;accent-color:var(--accent);margin:0}.admin-toggle input:disabled{cursor:default}.admin-toggle-note{font-weight:400;color:var(--muted);font-size:.78rem}.tech-picker{display:flex;flex-direction:column;gap:.3rem;margin:1rem 0 .9rem}.tech-picker label{font-size:.8rem;font-weight:600;color:var(--muted)}.tech-picker select{font:inherit;font-size:1rem;padding:.6rem .75rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}.tech-picker select:focus{border-color:var(--accent);outline:none}.view-only-note{margin-top:1rem;padding:.75rem 1rem;border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--surface);border-radius:8px;font-size:.88rem;color:var(--muted)}.job-types{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.job-type{font-size:.75rem;font-weight:600;padding:.2rem .55rem;border-radius:6px;background:var(--accent-soft);color:var(--accent)}.detail-header .job-types{margin:.1rem 0 .4rem}
