*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #4f46e5;--primary-hover: #4338ca;--secondary: #f3f4f6;--text: #1f2937;--text-light: #6b7280;--border: #e5e7eb;--danger: #dc2626;--success: #16a34a;--white: #ffffff}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background-color:#f9fafb;color:var(--text);line-height:1.5}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:.375rem;font-weight:500;cursor:pointer;transition:all .15s;border:none;font-size:.875rem}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background-color:var(--primary);color:var(--white)}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{background-color:var(--secondary);color:var(--text)}.btn-danger{background-color:var(--danger);color:var(--white)}.card{background:var(--white);border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-weight:500;margin-bottom:.25rem;font-size:.875rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:.375rem;font-size:.875rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}table{width:100%;border-collapse:collapse}th,td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border)}th{font-weight:600;color:var(--text-light);font-size:.75rem;text-transform:uppercase}.alert{padding:.75rem 1rem;border-radius:.375rem;margin-bottom:1rem}.alert-error{background-color:#fef2f2;color:var(--danger);border:1px solid #fecaca}.alert-success{background-color:#f0fdf4;color:var(--success);border:1px solid #bbf7d0}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--white);border-radius:.5rem;padding:1.5rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal h2{margin-bottom:1rem}.flex{display:flex}.gap-2{gap:.5rem}.gap-4{gap:1rem}.justify-between{justify-content:space-between}.items-center{align-items:center}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-4{margin-top:1rem}.text-center{text-align:center}.app{min-height:100vh}.navbar{background:var(--white);box-shadow:0 1px 3px #0000001a;padding:1rem 0;position:sticky;top:0;z-index:50}.navbar .container{display:flex;justify-content:flex-start;align-items:center}.nav-left{display:flex;align-items:center;gap:1rem}.navbar h1{font-size:1.25rem;color:var(--primary)}.hamburger{display:flex;flex-direction:column;justify-content:space-between;width:24px;height:18px;background:none;border:none;cursor:pointer;padding:0}.hamburger span{display:block;width:100%;height:3px;background:var(--primary);border-radius:2px;transition:all .2s}.hamburger:hover span{background:var(--primary-dark, #4f46e5)}.sidebar{position:fixed;top:0;left:0;width:100%;height:100%;z-index:100;visibility:hidden;opacity:0;transition:visibility 0s .3s,opacity .3s}.sidebar.open{visibility:visible;opacity:1;transition:visibility 0s,opacity .3s}.sidebar-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080}.sidebar-content{position:absolute;top:0;left:-280px;width:280px;height:100%;background:var(--white);box-shadow:2px 0 10px #0000001a;transition:left .3s ease;overflow-y:auto}.sidebar.open .sidebar-content{left:0}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #eee}.sidebar-header h2{font-size:1.25rem;color:var(--primary);margin:0}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-light);padding:0;line-height:1}.close-btn:hover{color:var(--text)}.sidebar .nav-links{display:flex;flex-direction:column;padding:1rem 0;gap:0}.sidebar .nav-links a{display:block;padding:.875rem 1.5rem;color:var(--text-light);text-decoration:none;font-weight:500;transition:all .15s;border-left:3px solid transparent}.sidebar .nav-links a:hover{background:#f5f5f5;color:var(--primary)}.sidebar .nav-links a.active{color:var(--primary);background:#f0f0ff;border-left-color:var(--primary)}.sidebar .logout-btn{margin:1rem 1.5rem;width:calc(100% - 3rem)}.main-content{padding:2rem 0}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.page-header h2{font-size:1.5rem}.page-subtitle{color:var(--text-light);margin-top:.25rem}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.auth-card{background:var(--white);border-radius:.5rem;box-shadow:0 4px 6px #0000001a;padding:2rem;width:100%;max-width:400px}.auth-card h1{text-align:center;color:var(--primary);margin-bottom:.5rem}.auth-card .subtitle{text-align:center;color:var(--text-light);margin-bottom:1.5rem}.auth-link{text-align:center;margin-top:1rem;font-size:.875rem;color:var(--text-light)}.auth-link a{color:var(--primary)}.link-button{background:none;border:none;color:var(--primary);cursor:pointer;font:inherit;padding:0;text-decoration:underline}.link-button:hover{color:var(--primary-dark, #4f46e5)}.alert-success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--white);border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.stat-card h3{color:var(--text-light);font-size:.875rem;font-weight:500;margin-bottom:.5rem}.stat-card .value{font-size:2rem;font-weight:700;color:var(--primary)}.empty-state{text-align:center;padding:3rem;color:var(--text-light)}.action-btns{display:flex;gap:.5rem}.customer-actions{display:flex;gap:.5rem;flex-wrap:wrap}.customer-filters{display:grid;gap:.75rem;margin-bottom:1rem}.customer-search-input{border:1px solid var(--border);border-radius:.375rem;font-size:1rem;padding:.75rem;width:100%}.customer-search-input:focus,.filter-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a;outline:none}.date-filter-group{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap}.filter-field{display:grid;gap:.25rem}.filter-field span{color:var(--text-light);font-size:.75rem;font-weight:600;text-transform:uppercase}.filter-field input{border:1px solid var(--border);border-radius:.375rem;font-size:.875rem;min-height:2.25rem;padding:.45rem .6rem}.bulk-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;color:var(--text-light);font-size:.875rem}.select-all-control{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-cell{width:2.75rem;text-align:center}.checkbox-cell input,.select-all-control input{width:1rem;height:1rem;cursor:pointer}.table-sort-btn{background:none;border:none;color:inherit;cursor:pointer;font:inherit;font-weight:600;padding:0;text-align:left;text-transform:inherit}.table-sort-btn:hover{color:var(--primary)}.sort-indicator{color:var(--primary);font-weight:700}.empty-table-message{color:var(--text-light);padding-top:1rem;text-align:center}.loading{text-align:center;padding:2rem;color:var(--text-light)}.google-signin-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;background:#fff;color:#1f2937;border:1px solid #d1d5db;border-radius:.5rem;padding:.75rem 1rem;font-size:.95rem;font-weight:600;cursor:pointer;margin-bottom:1.25rem;box-shadow:0 1px 2px #00000014;transition:background .15s,border-color .15s,box-shadow .15s}.account-page{display:grid;gap:1.25rem}.account-grid{display:grid;gap:1rem;grid-template-columns:minmax(260px,.9fr) minmax(280px,1.1fr)}.account-summary,.account-setup{display:grid;gap:1rem}.account-summary h3,.account-setup h3,.section-heading h3{font-size:1.1rem;margin-bottom:.2rem}.account-summary p,.section-heading p{color:var(--text-light)}.account-kicker{color:var(--text-light);display:block;font-size:.72rem;font-weight:700;letter-spacing:0;margin-bottom:.2rem;text-transform:uppercase}.account-meta{align-items:center;background:#f9fafb;border:1px solid var(--border);border-radius:.5rem;display:flex;justify-content:space-between;gap:1rem;padding:.75rem}.account-meta span{color:var(--text-light)}.setup-header{align-items:center;display:flex;justify-content:space-between;gap:1rem}.setup-ring{align-items:center;aspect-ratio:1;background:#eef2ff;border:1px solid #c7d2fe;border-radius:50%;color:var(--primary);display:flex;flex:0 0 4rem;font-weight:800;justify-content:center}.setup-list{display:grid;gap:.5rem}.setup-item{align-items:center;color:var(--text-light);display:flex;gap:.6rem}.setup-item span{align-items:center;background:#f3f4f6;border-radius:50%;color:var(--text-light);display:inline-flex;height:1.35rem;justify-content:center;width:1.35rem}.setup-item.done{color:var(--text)}.setup-item.done span{background:#dcfce7;color:var(--success)}.account-form{display:grid;gap:1rem}.section-heading{margin-bottom:1.25rem}.account-form-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.account-form-grid .form-group{margin-bottom:0}.account-form-grid .form-group span{display:block;font-size:.875rem;font-weight:600;margin-bottom:.25rem}.account-full{grid-column:1 / -1}.account-actions{border-top:1px solid var(--border);display:flex;justify-content:flex-end;margin-top:1.25rem;padding-top:1rem}.account-links{margin-bottom:1rem}.account-link-grid{display:grid;gap:.75rem;grid-template-columns:repeat(4,minmax(0,1fr))}.account-link-grid a{background:#f9fafb;border:1px solid var(--border);border-radius:.5rem;color:var(--text);font-weight:600;padding:.85rem;text-align:center;text-decoration:none}.account-link-grid a:hover{border-color:var(--primary);color:var(--primary)}.google-signin-btn:hover{background:#f9fafb;border-color:#9ca3af;box-shadow:0 2px 5px #0000001f}.google-icon{display:flex;align-items:center;justify-content:center}.auth-divider{display:flex;align-items:center;gap:.75rem;color:var(--text-light);font-size:.8rem;margin:.25rem 0 1.25rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#e5e7eb}.reminders-toolbar{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(320px,1.3fr);gap:1rem}.reminders-status h3,.reminders-test h3{margin-bottom:.75rem}.status-ok{color:var(--success);font-weight:600}.status-warning{color:#b45309;font-weight:600}.status-muted{color:var(--text-light);font-weight:600}.runner-status{color:var(--text-light);font-size:.875rem;margin-top:.75rem}.reminders-test{display:grid;gap:.75rem}.reminders-test textarea,.reminders-test input{border:1px solid var(--border);border-radius:.375rem;font:inherit;padding:.5rem .75rem;width:100%}.form-row{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:.5rem}.reminders-actions{align-items:end;display:grid;gap:1rem;grid-template-columns:minmax(240px,1fr) auto;margin-bottom:1rem}.reminders-actions .form-group{margin-bottom:0}.reminder-template-cell{max-width:520px;white-space:normal}.reminders-list-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin:1rem 0}.reminders-list-header h3{margin-bottom:.25rem}.reminders-list-header p{color:var(--text-light);font-size:.875rem}.reminders-modal{max-width:680px}.checkbox-group{display:flex;flex-wrap:wrap;gap:1rem}.checkbox-group label{align-items:center;display:inline-flex;gap:.5rem}.checkbox-group input{width:auto}.reminder-offset-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.template-tokens{display:flex;flex-wrap:wrap;gap:.5rem}.template-tokens span{background:#f3f4f6;border:1px solid var(--border);border-radius:.375rem;color:var(--text-light);font-size:.75rem;padding:.25rem .5rem}.log-error{color:var(--danger);font-size:.75rem;margin-top:.25rem;max-width:20rem;white-space:normal}.day-sheet-actions{align-items:end;display:flex;flex-wrap:wrap;gap:.75rem}.day-sheet-actions label{display:grid;gap:.25rem}.day-sheet-actions span{color:var(--text-light);font-size:.75rem;font-weight:600;text-transform:uppercase}.day-sheet-actions input{border:1px solid var(--border);border-radius:.375rem;font:inherit;min-height:2.5rem;padding:.5rem .75rem}.day-sheet-printable{background:var(--white);border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.day-sheet-title{align-items:end;border-bottom:2px solid var(--text);display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.day-sheet-title h2{font-size:1.6rem;margin-bottom:.2rem}.day-sheet-title p,.day-sheet-count{color:var(--text-light);font-weight:600}.day-sheet-table{font-size:.86rem}.day-sheet-table th{background:#f3f4f6;color:var(--text)}.day-sheet-table th,.day-sheet-table td{vertical-align:top}.day-sheet-time{font-weight:700;white-space:nowrap}.day-sheet-subtext{color:var(--text-light);display:block;font-size:.78rem}.day-sheet-history-btn{display:block;font-size:.72rem;margin-top:.45rem;padding:.35rem .5rem}.day-sheet-notes{max-width:18rem;white-space:normal}.day-sheet-notes textarea{border:1px solid var(--border);border-radius:.375rem;font:inherit;min-height:5.5rem;padding:.5rem;resize:vertical;width:100%}.day-sheet-notes textarea:disabled{background:#f3f4f6;color:var(--text-light)}.day-sheet-row-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.day-sheet-row-actions .btn{font-size:.78rem;padding:.45rem .65rem}.day-sheet-notes-print{display:none}.day-sheet-price-editor,.day-sheet-style-editor{display:grid;gap:.35rem;min-width:11rem}.day-sheet-price-editor label,.day-sheet-style-editor label{display:grid;gap:.15rem}.day-sheet-price-editor span,.day-sheet-style-editor span{color:var(--text-light);font-size:.68rem;font-weight:700;text-transform:uppercase}.day-sheet-price-editor input,.day-sheet-add-on-price input,.day-sheet-style-editor select{border:1px solid var(--border);border-radius:.375rem;font:inherit;padding:.35rem .45rem;width:100%}.day-sheet-total-price{background:#f3f4f6;border-radius:.375rem;font-weight:700;padding:.45rem .5rem}.day-sheet-price-print{display:none}.day-sheet-copy-style{align-items:center;color:var(--text-light);display:flex!important;flex-direction:row;font-size:.78rem;gap:.4rem}.day-sheet-copy-style input{width:auto}.day-sheet-copy-style:has(input:disabled){cursor:not-allowed;opacity:.55}.day-sheet-add-on-price{margin-top:.25rem}.day-sheet-style-print{display:none}.day-sheet-empty{color:var(--text-light);padding:2rem;text-align:center}.day-sheet-booking-cheat{border-top:1px solid var(--border);margin-top:1rem;padding-top:.9rem}.day-sheet-booking-cheat h3{font-size:.95rem;margin-bottom:.65rem}.day-sheet-booking-grid{display:grid;gap:.45rem;grid-template-columns:repeat(6,minmax(0,1fr))}.day-sheet-booking-item{border:1px solid var(--border);border-radius:.375rem;display:grid;gap:.15rem;padding:.45rem .55rem}.day-sheet-booking-item span{color:var(--text-light);font-size:.72rem;font-weight:700;text-transform:uppercase}.day-sheet-booking-item strong{font-size:.88rem}.day-sheet-history-modal{max-width:860px}.day-sheet-history-header{align-items:start;display:flex;justify-content:space-between;gap:1rem;margin-bottom:1rem}.day-sheet-history-header h2{margin-bottom:.2rem}.day-sheet-history-header p,.day-sheet-history-empty{color:var(--text-light)}.day-sheet-history-table-wrap{overflow-x:auto}.day-sheet-history-table{font-size:.86rem}.day-sheet-history-table th{background:#f3f4f6}.day-sheet-history-table th,.day-sheet-history-table td{vertical-align:top}@media(max-width:760px){.reminders-toolbar,.reminders-actions,.form-row,.reminder-offset-grid,.account-grid,.account-form-grid,.account-link-grid{grid-template-columns:1fr}.reminders-list-header{align-items:stretch;flex-direction:column}}.section-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.table-responsive{overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{border-bottom:1px solid #e5e7eb;padding:.75rem;text-align:left;vertical-align:top}.data-table th{color:#4b5563;font-size:.85rem;text-transform:uppercase}.compact-inputs{display:grid;gap:.35rem;grid-template-columns:repeat(3,minmax(7rem,1fr))}.compact-inputs input{min-width:7rem}@media print{@page{size:A4 portrait;margin:8mm}body{background:#fff;color:#000}.navbar,.sidebar,.day-sheet-controls{display:none!important}.main-content,.container{margin:0;max-width:none;padding:0}.day-sheet-printable{border-radius:0;box-shadow:none;padding:0}.day-sheet-title{margin-bottom:6mm;padding-bottom:3mm}.day-sheet-title h2{font-size:16pt}.day-sheet-title p,.day-sheet-count{font-size:9pt}.day-sheet-table{font-size:10pt;table-layout:fixed;width:100%}.day-sheet-table th,.day-sheet-table td{border:1px solid #9ca3af;padding:2.5mm 2mm}.day-sheet-table th:nth-child(n+5),.day-sheet-table td:nth-child(n+5){display:none}.day-sheet-table th:nth-child(1){width:16%}.day-sheet-table th:nth-child(2){width:30%}.day-sheet-table th:nth-child(3){width:22%}.day-sheet-table th:nth-child(4){width:32%}.day-sheet-history-btn{display:none!important}.day-sheet-subtext{color:#374151;font-size:9pt;margin-top:1mm}.day-sheet-booking-cheat{margin-top:5mm;padding-top:3mm}.day-sheet-booking-cheat h3{font-size:10pt;margin-bottom:2mm}.day-sheet-booking-grid{gap:1.5mm;grid-template-columns:repeat(4,minmax(0,1fr))}.day-sheet-booking-item{border-color:#9ca3af;border-radius:0;padding:1.5mm 2mm}.day-sheet-booking-item span{font-size:7pt}.day-sheet-booking-item strong{font-size:9pt}.day-sheet-notes{max-width:none}.day-sheet-notes textarea,.day-sheet-row-actions{display:none}.day-sheet-notes-print{display:inline}.day-sheet-price-editor,.day-sheet-style-editor{display:none}.day-sheet-price-print,.day-sheet-style-print{display:inline}}
