*,*:before,*:after{box-sizing:border-box}html,body{margin:0;background:var(--color-background);color:var(--color-text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.screen-frame{display:flex;justify-content:center;align-items:flex-start;min-height:100vh;min-height:100dvh;padding:1rem .75rem}@media(min-width:40rem){.screen-frame{align-items:center;padding:2rem 1rem}}.screen-frame h1{margin:0 0 1.25rem;font-size:1.5rem;line-height:1.25;color:var(--color-accent)}.screen-frame dl{display:grid;grid-template-columns:max-content 1fr;gap:.25rem 1rem;margin:0 0 1.25rem;padding:.75rem 1rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:.5rem}.screen-frame dt{color:var(--color-text-muted)}.screen-frame dd{margin:0;overflow-wrap:anywhere}.card{width:100%;max-width:26rem;padding:1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem}@media(min-width:40rem){.card{padding:2rem}}.form{display:flex;flex-direction:column;gap:1rem}.field{display:flex;flex-direction:column;gap:.375rem}.field label{font-weight:600}.field input{width:100%;min-height:2.75rem;padding:.5rem .75rem;font:inherit;font-size:1rem;color:var(--color-text);background:var(--color-background);border:1px solid var(--color-border);border-radius:.5rem}.field input:focus-visible{border-color:var(--color-accent)}.button{display:inline-flex;justify-content:center;align-items:center;min-height:2.75rem;padding:.5rem 1.25rem;font:inherit;font-weight:600;border-radius:.5rem;cursor:pointer}.button-primary{width:100%;color:var(--color-on-accent);background:var(--color-accent);border:1px solid var(--color-accent)}.button-secondary{color:var(--color-text);background:transparent;border:1px solid var(--color-border)}.button:disabled{cursor:default;opacity:.6}.notice{margin:0 0 1rem}.notice-hint{color:var(--color-text-muted)}.update-band{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem 1rem;padding:.5rem 1rem;color:var(--color-text);background:var(--color-surface);border-bottom:1px solid var(--color-accent)}.update-band p{margin:0}.notice-problem{margin-top:1rem;padding:.75rem 1rem;color:var(--color-problem);background:var(--color-problem-surface);border:1px solid var(--color-problem);border-radius:.5rem}.companies{margin:0 0 1.25rem;padding-top:1rem;border-top:1px solid var(--color-border)}.companies h2{margin:0 0 .75rem;font-size:1.125rem;line-height:1.25}.company-list{margin:0 0 1.25rem;padding:0;list-style:none;border:1px solid var(--color-border);border-radius:.5rem}.company-list-item{display:flex;flex-direction:column;gap:.125rem;padding:.5rem 1rem}.company-list-item+.company-list-item{border-top:1px solid var(--color-border)}.company-list-name{font-weight:600;overflow-wrap:anywhere}.company-list-date{color:var(--color-text-muted);font-size:.875rem}.company-list-badge{color:var(--color-text-muted);font-size:.875rem;font-style:italic}.company-list-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.company-modules{margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.company-modules h3{margin:0 0 .5rem;font-size:1rem;line-height:1.25}.company-module-list{margin:0;padding:0;list-style:none;border:1px solid var(--color-border);border-radius:.5rem}.company-module{display:flex;flex-direction:column;gap:.5rem;padding:.5rem 1rem}.company-module+.company-module{border-top:1px solid var(--color-border)}.company-module-name{font-weight:600;overflow-wrap:anywhere}.company-module-facts{display:flex;flex-wrap:wrap;gap:0 .75rem;color:var(--color-text-muted);font-size:.875rem}.company-module-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.company-module-question{font-size:.875rem}.company-module .notice-problem{margin:0}.employees,.devices,.area-order{margin:0 0 1.25rem;padding-top:1rem;border-top:1px solid var(--color-border)}.employees h2,.devices h2,.area-order h2{margin:0 0 .75rem;font-size:1.125rem;line-height:1.25}.employee-list,.device-list,.area-order-list{margin:0 0 1.25rem;padding:0;list-style:none;border:1px solid var(--color-border);border-radius:.5rem}.employee-row,.device-row,.area-order-row{display:flex;flex-direction:column;gap:.25rem;padding:.5rem 1rem}.employee-row+.employee-row,.device-row+.device-row,.area-order-row+.area-order-row{border-top:1px solid var(--color-border)}.employee-row-name,.device-row-name,.area-order-name{font-weight:600;overflow-wrap:anywhere}.area-order-state{color:var(--color-text-muted);font-size:.875rem}.area-order-actions{display:flex;flex-wrap:wrap;gap:.5rem}.help{margin:0 0 1rem;color:var(--color-text-muted);font-size:.875rem}.help summary{cursor:pointer}.help p{margin:.5rem 0 0}.employee-row-ended .employee-row-name,.device-row-ended .device-row-name{font-weight:400;color:var(--color-text-muted)}.employee-row-facts,.device-row-facts{display:flex;flex-wrap:wrap;gap:0 .75rem;color:var(--color-text-muted);font-size:.875rem}.employee-row-actions,.device-row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.25rem}.employee-row-question,.device-row-question{font-size:.875rem}.employee-row .notice-problem,.device-row .notice-problem{margin:0}.device-row-throttled{color:var(--color-problem)}.one-time-result{margin:0 0 1rem;padding:.75rem 1rem;background:var(--color-background);border:2px solid var(--color-accent);border-radius:.5rem}.one-time-result h3{margin:0 0 .5rem;font-size:1rem;line-height:1.25}.one-time-result dl{margin:0 0 .75rem;padding:0;border:0}.one-time-result-pin{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.5rem;font-weight:600;letter-spacing:.15em}.employee-row .one-time-result,.device-row .one-time-result{margin:.25rem 0 0}.employee-mail-result{display:flex;flex-direction:column;gap:.25rem;margin:0 0 1rem}.employee-mail-result .notice,.employee-mail-fields .notice{margin:0}.employee-mail-address{font-weight:600;overflow-wrap:anywhere}.employee-mail-fields{display:flex;flex-direction:column;gap:1rem}.employee-row .employee-mail-result{margin:.25rem 0 0}.employee-account-email{overflow-wrap:anywhere}.employee-account-form{display:flex;flex-direction:column;gap:.5rem;margin:.25rem 0 0;padding:.75rem 1rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:.5rem}.employee-account-title{font-weight:600}.clock-station{margin:0 0 1.25rem}.clock-station h2{margin:0 0 .75rem;font-size:1.125rem;line-height:1.25}.clock-station-names{margin:0 0 1.25rem;padding:0;list-style:none;border:1px solid var(--color-border);border-radius:.5rem}.clock-station-name+.clock-station-name{border-top:1px solid var(--color-border)}.clock-station-name-button{display:flex;align-items:center;width:100%;min-height:3.5rem;padding:.5rem 1rem;font:inherit;font-size:1.125rem;text-align:left;color:var(--color-text);background:transparent;border:0;cursor:pointer;overflow-wrap:anywhere}.clock-station-name-button:hover{background:var(--color-background)}.clock-station-chosen{margin:0 0 1rem;font-size:1.25rem;font-weight:600;overflow-wrap:anywhere}.clock-station-pin .field input{font-size:1.5rem;letter-spacing:.25em;text-align:center}.clock-station-pin .notice-problem{margin:0}.clock-station-actions{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.5rem}.clock-station-timeout{margin:0;color:var(--color-text-muted);font-size:.875rem}.employee-view{margin:0 0 1.25rem}.employee-view-hello{margin:0 0 .75rem;font-size:1.5rem;line-height:1.25;overflow-wrap:anywhere}.employee-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.employee-head-name{overflow-wrap:anywhere;font-weight:600}.employee-view-actions{display:flex;justify-content:flex-end;margin-top:.5rem}.clock-station-sync{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin:0 0 1rem}.clock-station-sync-text{margin:0}.clock-station-saved{margin:0 0 1rem;padding:.75rem 1rem;font-size:1.125rem;font-weight:600;border:1px solid var(--color-border);border-radius:.5rem;overflow-wrap:anywhere}.stamp-panel{margin:0 0 1rem}.stamp-panel-state{margin:0 0 .75rem;font-size:1.125rem}.stamp-panel-actions{display:flex;flex-wrap:wrap;gap:.75rem}.stamp-panel-actions .button{flex:1 1 8rem;min-height:3.5rem;font-size:1.25rem}.form .notice-problem{margin:0}.actions{display:flex;justify-content:flex-end;margin-top:.5rem}.change-password{margin:0 0 1.25rem;padding-top:1rem;border-top:1px solid var(--color-border)}.change-password h2{margin:0 0 .75rem;font-size:1.125rem;line-height:1.25}.delete-account{margin:0 0 1.25rem;padding-top:1rem;border-top:1px solid var(--color-border)}.delete-account h2{margin:0 0 .75rem;font-size:1.125rem;line-height:1.25}.delete-account-purpose,.delete-account-question{margin:0 0 .75rem}.delete-account-actions{display:flex;flex-wrap:wrap;gap:.5rem}.delete-account .button-primary{width:auto}.delete-account .notice-problem{margin-top:.75rem}.area-tabs{display:flex;flex-wrap:wrap;gap:.25rem;margin:0 0 1rem;border-bottom:1px solid var(--color-border)}.area-tab{min-height:2.75rem;padding:.5rem 1rem;font:inherit;font-weight:600;color:var(--color-text-muted);background:transparent;border:0;border-bottom:3px solid transparent;cursor:pointer}.area-tab[aria-selected=true]{color:var(--color-text);border-bottom-color:var(--color-accent)}.screen-frame:has(.plan) .card{max-width:90rem}.plan-header{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:0 0 1rem}.plan-header h2{margin:0;font-size:1.125rem;line-height:1.25}.plan-header-week,.plan-header-state,.plan-header-hints{margin:0}.plan-header-state,.plan-header-hints{color:var(--color-text-muted);font-size:.875rem}.plan-header-nav,.plan-header-actions{display:flex;flex-wrap:wrap;gap:.5rem}.plan-header-actions .button-primary{width:auto}.plan-header-toggle{display:inline-flex;align-items:center;gap:.5rem}.plan-swap{margin:0 0 1.25rem;padding-top:1rem;border-top:1px solid var(--color-border)}.plan-swap h2{margin:0 0 .75rem;font-size:1.125rem;line-height:1.25}.plan-swap h3{margin:1rem 0 .5rem;font-size:1rem}.plan-swap-switch{display:flex;align-items:center;gap:.5rem;margin:0 0 .5rem}.plan-swap-list{margin:0 0 1rem;padding:0;list-style:none;border:1px solid var(--color-border);border-radius:.5rem}.plan-swap-entry{display:flex;flex-direction:column;gap:.5rem;padding:.5rem 1rem}.plan-swap-entry+.plan-swap-entry{border-top:1px solid var(--color-border)}.plan-swap-sentence{font-weight:600;overflow-wrap:anywhere}.plan-swap-actions{display:flex;flex-wrap:wrap;gap:.5rem}.plan-scroll{overflow-x:auto;margin:0 0 1rem}.plan-grid{width:100%;min-width:48rem;border-collapse:collapse;table-layout:fixed}.plan-grid caption{padding:0 0 .5rem;text-align:left;color:var(--color-text-muted);font-size:.875rem}.plan-grid th,.plan-grid td{padding:.5rem;vertical-align:top;text-align:left;border:1px solid var(--color-border)}.plan-grid thead th{font-size:.875rem}.plan-grid tbody th{width:8rem;overflow-wrap:anywhere}.plan-cell{min-width:9rem}.plan-cell-on{background:var(--color-surface)}.plan-cell-off{color:var(--color-text-muted);background:var(--color-background)}.plan-cell-note{font-size:.875rem}.plan-shift-list,.plan-hint-list{margin:0;padding:0;list-style:none}.plan-shift{display:flex;flex-direction:column;gap:.25rem;margin:0 0 .5rem}.plan-shift-times{font-weight:600}.plan-shift-mark,.plan-hint-badge{align-self:flex-start;padding:0 .5rem;color:var(--color-text-muted);font-size:.875rem;border:1px solid var(--color-border);border-radius:.5rem}.plan-shift-before{color:var(--color-text-muted);font-size:.875rem}.plan-shift-removed{color:var(--color-text-muted)}.plan-shift-actions,.plan-shift-question,.plan-form-actions,.dialog-box-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.plan-shift-question p{flex-basis:100%;margin:0;font-size:.875rem}.plan-grid .button{min-height:2.5rem;padding:.25rem .75rem;font-size:.875rem}.plan-grid .button-primary{width:auto}.plan-hint{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .5rem;font-size:.875rem}.plan-hint-text{overflow-wrap:anywhere}.plan-form{display:flex;flex-direction:column;gap:.5rem}.plan-form-field{display:flex;flex-direction:column;gap:.25rem}.plan-form-field label{font-weight:600;font-size:.875rem}.plan-form-field input{width:100%;min-height:2.75rem;padding:.25rem .5rem;font:inherit;font-size:1rem;color:var(--color-text);background:var(--color-background);border:1px solid var(--color-border);border-radius:.5rem}.plan-form .notice{margin:0}.plan-copy-result,.dialog-box{margin:0 0 1rem;padding:.75rem 1rem;border:1px solid var(--color-accent);border-radius:.5rem}.plan-copy-result h3,.dialog-box h3{margin:0 0 .5rem;font-size:1rem}.plan-copy-skipped{margin:0 0 .75rem;padding-left:1.25rem}.dialog-box p{margin:0 0 .75rem}.area-panel{margin:0 0 1.25rem}.published-panel{margin:0}.plan-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 .5rem}.plan-nav-label{margin:0 0 .75rem;color:var(--color-text-muted)}.swap-choice{margin:0 0 .75rem}.published-week{margin:0 0 1.25rem}.published-week-title{margin:0 0 .5rem;font-size:1.125rem;line-height:1.25}.published-publication,.published-empty{margin:0 0 .75rem;color:var(--color-text-muted)}.published-day{margin:0 0 1rem}.published-day-title{margin:0 0 .375rem;font-size:1rem;line-height:1.25}.published-list{margin:0;padding:0;list-style:none}.published-entry{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem;padding:.375rem 0;border-top:1px solid var(--color-border);overflow-wrap:anywhere}.published-name{font-weight:600}.published-times{font-variant-numeric:tabular-nums}.published-entry-removed{color:var(--color-text-muted)}.published-mark{padding:0 .375rem;border:1px solid var(--color-border);border-radius:.25rem;font-size:.8125rem;line-height:1.5}.published-mark-new,.published-mark-moved{color:var(--color-accent);border-color:var(--color-accent)}.published-mark-removed{color:var(--color-text-muted)}.published-before{color:var(--color-text-muted);font-size:.875rem}.my-times,.times{margin:0 0 1.25rem}.times-title,.times-days-title{margin:0 0 .5rem;font-size:1.125rem;line-height:1.25}.times-month{margin:0}.times-stand,.times-empty,.times-not-checked{margin:0 0 .75rem;color:var(--color-text-muted)}.times-not-checked{font-size:.875rem}.times-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem;margin:0 0 .75rem}.times-summary-net{font-weight:600;font-variant-numeric:tabular-nums}.times-badge{padding:0 .375rem;border:1px solid var(--color-border);border-radius:.25rem;font-size:.8125rem;line-height:1.5}.times-day{margin:0 0 1rem}.times-day-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;margin:0 0 .375rem;font-size:1rem;line-height:1.25}.times-day-net{color:var(--color-text-muted);font-size:.875rem;font-weight:400;font-variant-numeric:tabular-nums}.times-list{margin:0;padding:0;list-style:none}.times-entry{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;padding:.375rem 0;border-top:1px solid var(--color-border)}.times-times,.times-duration{font-variant-numeric:tabular-nums}.times-times{font-weight:600}.times-break{color:var(--color-text-muted);font-size:.875rem;font-variant-numeric:tabular-nums}.times-note-line{padding:.25rem 0;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:.875rem}.times-members-wrap{margin:0 0 .75rem;overflow-x:auto}.times-members{width:100%;border-collapse:collapse}.times-members caption{padding:0 0 .5rem;text-align:left;color:var(--color-text-muted);font-size:.875rem}.times-members th,.times-members td{padding:.5rem;text-align:left;border:1px solid var(--color-border)}.times-members thead th{font-size:.875rem}.times-number{font-variant-numeric:tabular-nums}.times-member-plain{background:none}.times-member-selected{background:var(--color-surface)}.times-member-button{min-height:2.5rem;padding:0;border:0;background:none;color:var(--color-accent);font:inherit;font-weight:600;text-align:left;text-decoration:underline;cursor:pointer}.times-days{margin:0 0 1rem}.times-sheet{display:none}@media print{body>*:not(.times-sheet){display:none!important}html,body{background:#fff;color:#000}.times-sheet{display:block;font-size:11pt}.times-sheet-title{margin:0 0 .5rem;font-size:16pt}.times-sheet-head{display:grid;grid-template-columns:max-content 1fr;gap:.125rem 1rem;margin:0 0 .5rem}.times-sheet-head dt{font-weight:600}.times-sheet-head dd{margin:0}.times-sheet-created{margin:0 0 1rem}.times-sheet-table{width:100%;border-collapse:collapse}.times-sheet-table th,.times-sheet-table td{padding:.25rem .5rem;border:1px solid #000;text-align:left}.times-sheet-table thead{display:table-header-group}.times-sheet-table tfoot{display:table-row-group}.times-sheet-table tr{break-inside:avoid}.times-sheet-number{text-align:right;font-variant-numeric:tabular-nums}.times-sheet-total th,.times-sheet-total td{font-weight:700}.times-sheet-note{margin:1rem 0 0}}.signup-lock{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.signup-terms details{border:1px solid var(--color-border);border-radius:.5rem;padding:.5rem .75rem}.signup-terms details+details{margin-top:.5rem}.signup-terms summary{cursor:pointer;font-weight:600;min-height:2.75rem;display:flex;align-items:center}.signup-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:18rem;overflow-y:auto;margin:.5rem 0}.signup-check{display:flex;align-items:flex-start;gap:.75rem;min-height:2.75rem}.signup-check input{flex:none;width:1.5rem;height:1.5rem;margin-top:.125rem}.company-choice{display:flex;flex-direction:column;gap:.5rem;margin:.75rem 0;padding:0;list-style:none}.profile-menu{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.5rem 1rem;border-bottom:1px solid var(--color-border)}.profile-menu p{margin:0}.profile-menu ul{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}
