:root{--color-main-teal: #26b7b7;--color-main-blue: #379dd9;--color-gradient: linear-gradient(135deg, #26b7b7 0%, #379dd9 100%);--color-gradient-hover: linear-gradient(135deg, #20a0a0 0%, #2a8bc4 100%);--color-gradient-dark: linear-gradient(160deg, #1e9a9a 0%, #2a7bb8 100%);--color-bg: #f5fafb;--color-surface: #ffffff;--color-border: #e0e8eb;--color-text: #333;--color-text-muted: #666;--color-link: var(--color-main-blue);--color-primary: var(--color-main-blue);--color-primary-hover: #2a8bc4;--color-secondary: var(--color-main-teal);--color-secondary-hover: #20a0a0;--color-success: #1a9d9d;--color-success-bg: #e0f5f5;--color-danger: #dc2626;--color-danger-bg: #fef2f2;--color-warning: #d97706;--color-warning-bg: #fef3c7;--radius: 8px;--radius-sm: 6px;--radius-lg: 12px;--shadow: 0 1px 3px rgba(51, 51, 51, 0.08);--shadow-sm: 0 1px 2px rgba(51, 51, 51, 0.05);--shadow-lg: 0 4px 12px rgba(51, 51, 51, 0.1);--header-height: 56px;--header-bg: var(--color-surface);--header-border: var(--color-border);--header-padding-x: 1.5rem;--header-title-font-size: 1rem;--header-title-font-weight: 600;--header-title-color: var(--color-text);--header-user-font-size: 0.9rem;--header-user-icon-size: 1.35rem;--header-user-name-weight: 500;--header-punch-gap: 0.5rem;--header-punch-btn-padding: 0.35rem 0.75rem;--header-punch-btn-font-size: 0.8rem;--header-punch-in-bg: #a7f3d0;--header-punch-in-border: #6ee7b7;--header-punch-in-hover-bg: #6ee7b7;--header-punch-in-color: #065f46;--header-punch-out-bg: #fecaca;--header-punch-out-border: #fca5a5;--header-punch-out-hover-bg: #fca5a5;--header-punch-out-color: #991b1b;--header-punch-break-bg: #fed7aa;--header-punch-break-border: #fdba74;--header-punch-break-hover-bg: #fdba74;--header-punch-break-color: #9a3412}body{margin:0;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Sans", "Noto Sans JP", sans-serif;font-size:15px;line-height:1.6;color:var(--color-text);background:var(--color-bg)}a{color:var(--color-link)}.layout-sidebar{display:flex;min-height:100vh}.app-sidebar{width:220px;min-width:220px;background:var(--color-gradient-dark);color:white;flex-shrink:0;position:sticky;top:0;height:100vh;overflow-y:auto}.app-logo{margin:0;height:var(--header-height, 56px);min-height:var(--header-height, 56px);padding:0 1.25rem;display:flex;align-items:center;font-size:1.15rem;font-weight:700;border-bottom:1px solid rgba(255,255,255,0.1);box-sizing:border-box}.app-logo a{color:white;text-decoration:none;display:flex;align-items:center;height:100%}.app-logo a:hover{opacity:0.9}.app-logo-img{display:block;height:28px;width:auto;max-width:100%;object-fit:contain}.sidebar-nav{padding:0.75rem 0}.nav-section{margin-bottom:0.5rem}.nav-section-label{display:block;font-size:0.7rem;color:rgba(255,255,255,0.7);text-transform:uppercase;letter-spacing:0.06em;padding:0.5rem 1.25rem 0.25rem}.nav-item{display:block;color:rgba(255,255,255,0.9);text-decoration:none;font-size:0.9rem;padding:0.5rem 1.25rem;margin:0 0.5rem;border-radius:var(--radius-sm);transition:color 0.15s ease, background 0.15s ease}.nav-item:hover{color:white;background:rgba(255,255,255,0.15)}.nav-item.current{color:white;background:rgba(255,255,255,0.25);font-weight:500}.app-body{flex:1;min-width:0;display:flex;flex-direction:column}.main{flex:1;display:flex;flex-direction:column;max-width:100%;width:100%;margin:0 auto;box-sizing:border-box;background:var(--color-surface);box-shadow:-2px 0 8px rgba(0,0,0,0.04)}.main-inner{flex:1;padding:1rem 1.5rem}.row{display:flex;gap:1.5rem;flex-wrap:wrap}.col-9{flex:0 0 calc(75% - 0.75rem);min-width:0;box-sizing:border-box}.col-3{flex:0 0 calc(25% - 0.75rem);min-width:0;box-sizing:border-box}@media (max-width: 768px){.col-9,.col-3{flex:0 0 100%}.main-inner{padding:1rem}.row .col-9{overflow-x:auto;-webkit-overflow-scrolling:touch}}.layout-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-gradient-dark)}.login-page{width:100%;max-width:400px;padding:2rem}.login-box{background:white;border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:2rem}.login-logo{margin:0 0 0.5rem;text-align:center}.login-logo .login-logo-img{height:36px;width:auto}.login-lead{text-align:center;color:var(--color-text-muted);font-size:0.9rem;margin:0 0 1.5rem}.login-form .field{margin-bottom:1rem}.login-form .field label{display:block;font-size:0.85rem;font-weight:500;margin-bottom:0.25rem}.login-input{width:100%;padding:0.6rem 0.75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:1rem;box-sizing:border-box}.login-input:focus{outline:none;border-color:var(--color-main-blue);box-shadow:0 0 0 2px rgba(55,157,217,0.25)}.login-submit{width:100%;margin-top:1rem;padding:0.75rem;background:var(--color-gradient);color:white;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:500;cursor:pointer;transition:opacity 0.15s ease}.login-submit:hover{background:var(--color-gradient-hover)}.login-submit:focus-visible{outline:2px solid var(--color-main-teal);outline-offset:2px}.dashboard-hero{margin-bottom:1.75rem;padding:1.5rem 1.25rem;background:var(--color-gradient);border-radius:var(--radius-lg);color:#fff;box-shadow:var(--shadow-lg)}.dashboard-hero-inner{max-width:100%}.dashboard-welcome-typing{font-size:1rem;line-height:1.6;color:rgba(255,255,255,0.98)}.dashboard-welcome-typing .typing-line{min-height:1.4em}.dashboard-welcome-typing .typing-line:first-child{font-size:1.5rem;font-weight:600}.dashboard-welcome-typing .typing-cursor{color:rgba(255,255,255,0.9);animation:typing-cursor 0.8s step-end infinite;margin-left:2px}@keyframes typing-cursor{0%,100%{opacity:1}50%{opacity:0}}.dashboard-daily-message{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,0.35);font-size:0.95rem;line-height:1.55;color:rgba(255,255,255,0.95)}.dashboard-daily-message p{margin:0}.dashboard-daily-message p:not(:last-child){margin-bottom:0.4rem}.dashboard-owner-overview{margin-bottom:1.75rem}.dashboard-overview-heading{font-size:0.9rem;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;color:var(--color-text-muted);margin:0 0 1rem}.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));gap:1rem}.dashboard-kpi-card{display:flex;gap:1rem;padding:1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow 0.2s ease, border-color 0.2s ease}.dashboard-kpi-card:hover{box-shadow:var(--shadow);border-color:#cbd5e1}.dashboard-kpi-card__icon{flex-shrink:0;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:var(--color-bg);border-radius:var(--radius);font-size:1.25rem}.dashboard-kpi-card__body{flex:1;min-width:0}.dashboard-kpi-card__label{display:block;font-size:0.8rem;color:var(--color-text-muted);margin-bottom:0.25rem}.dashboard-kpi-card__value{font-size:1.5rem;font-weight:700;color:var(--color-text);line-height:1.2}.dashboard-kpi-card__unit{font-size:0.9rem;font-weight:500;color:var(--color-text-muted);margin-left:0.15rem}.dashboard-kpi-card__bar{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden;margin-top:0.5rem}.dashboard-kpi-card__bar-fill{height:100%;background:var(--color-primary);border-radius:3px;transition:width 0.35s ease}.dashboard-kpi-card__bar-fill--success{background:var(--color-success)}.dashboard-kpi-card__sub{display:block;font-size:0.8rem;color:var(--color-text-muted);margin-top:0.35rem}.dashboard-kpi-card__badge{display:inline-block;font-size:0.75rem;font-weight:600;padding:0.2rem 0.5rem;border-radius:4px;margin-top:0.4rem}.dashboard-kpi-card__badge--danger{background:var(--color-danger-bg);color:var(--color-danger)}.dashboard-kpi-card__link{display:inline-block;font-size:0.85rem;font-weight:500;color:var(--color-primary);text-decoration:none;margin-top:0.5rem}.dashboard-kpi-card__link:hover{text-decoration:underline}.dashboard-card{margin-bottom:1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.dashboard-card--alert{background:var(--color-danger-bg);border-color:#fecaca}.dashboard-card__header{padding:1rem 1.25rem;background:#f8fafc;border-bottom:1px solid var(--color-border)}.dashboard-card__title{margin:0;font-size:1rem;font-weight:600;color:var(--color-text)}.dashboard-card__title a{color:inherit;text-decoration:none}.dashboard-card__title a:hover{color:var(--color-primary)}.dashboard-card__desc{margin:0.25rem 0 0;font-size:0.85rem;color:var(--color-text-muted)}.dashboard-card__body{padding:1rem 1.25rem}.dashboard-card__link{display:inline-block;margin-top:0.75rem;font-size:0.9rem;font-weight:500;color:var(--color-primary);text-decoration:none}.dashboard-card__link:hover{text-decoration:underline}.dashboard-card--alert .dashboard-card__header{background:#fef2f2;border-bottom-color:#fecaca}.dashboard-main-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));gap:1.25rem;margin-bottom:1.5rem}.dashboard-table{width:100%;border-collapse:collapse;font-size:0.9rem}.dashboard-table th,.dashboard-table td{padding:0.75rem 0;text-align:left;border-bottom:1px solid var(--color-border)}.dashboard-table th{font-weight:600;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.03em;color:var(--color-text-muted)}.dashboard-table tbody tr:last-child td{border-bottom:none}.dashboard-table tbody tr:hover td{background:#f8fafc}.dashboard-table a{color:var(--color-link);text-decoration:none}.dashboard-table a:hover{text-decoration:underline}.dashboard-table--compact th,.dashboard-table--compact td{padding:0.5rem 0}.dashboard-cell-link{white-space:nowrap}.dashboard-cell-link a{font-size:0.85rem}.dashboard-empty{margin:0;padding:0.5rem 0;font-size:0.9rem;color:var(--color-text-muted)}.dashboard-todo-progress-list{padding:0}.dashboard-todo-progress-item{margin-bottom:1rem}.dashboard-todo-progress-item:last-child{margin-bottom:0.5rem}.dashboard-todo-progress-header{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;margin-bottom:0.35rem}.dashboard-todo-progress-title{font-size:0.9rem;font-weight:500;flex:1;min-width:0}.dashboard-todo-progress-count{font-size:0.8rem;color:var(--color-text-muted);flex-shrink:0}.dashboard-todo-progress-bar-wrap{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.dashboard-todo-progress-bar{height:100%;background:var(--color-primary);border-radius:4px;transition:width 0.3s ease}.dashboard-todo-progress-total{margin:0.75rem 0 0;padding-top:0.75rem;border-top:1px solid var(--color-border);font-size:0.9rem;color:var(--color-text-muted)}.dashboard-fee-rows{padding:0}.dashboard-fee-row{display:flex;align-items:center;justify-content:space-between;padding:0.5rem 0;border-bottom:1px solid var(--color-border);font-size:0.95rem}.dashboard-fee-row:last-child{border-bottom:none}.dashboard-fee-row__label{color:var(--color-text-muted)}.dashboard-fee-row__value{font-weight:500}.dashboard-nav{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--color-border)}.dashboard-nav__item{display:inline-block;padding:0.5rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);font-size:0.9rem;color:var(--color-text);text-decoration:none;transition:background 0.15s ease, border-color 0.15s ease}.dashboard-nav__item:hover{background:var(--color-bg);border-color:#cbd5e1}.dashboard-list-wrap{max-width:100%;margin-bottom:1.5rem}.main-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;height:var(--header-height);min-height:var(--header-height);padding:0 var(--header-padding-x);border-bottom:1px solid var(--header-border);background:var(--header-bg);box-sizing:border-box}.main-header-title{flex:1;font-size:var(--header-title-font-size);font-weight:var(--header-title-font-weight);color:var(--header-title-color)}.main-header-punch{display:flex;align-items:center;gap:var(--header-punch-gap);margin-right:1rem}.main-header-punch-btn{margin:0;padding:4px 24px}.main-header-punch-btn input,.main-header-punch-btn input[type="submit"],.main-header-punch-btn button,.main-header-punch-btn button[type="submit"]{padding:var(--header-punch-btn-padding);font-size:var(--header-punch-btn-font-size);border-radius:var(--radius-sm);cursor:pointer;border:1px solid transparent}.main-header-punch-btn input:hover,.main-header-punch-btn input[type="submit"]:hover,.main-header-punch-btn button:hover,.main-header-punch-btn button[type="submit"]:hover{opacity:0.9}.main-header-punch .main-header-punch-in,.main-header-punch .main-header-punch-out,.main-header-punch .main-header-punch-break-start,.main-header-punch .main-header-punch-break-end{border:1px solid transparent !important}.main-header-punch .main-header-punch-in{color:var(--header-punch-in-color, #065f46) !important;background:var(--header-punch-in-bg, #a7f3d0) !important;border-color:var(--header-punch-in-border, #6ee7b7) !important}.main-header-punch .main-header-punch-in:hover{background:var(--header-punch-in-hover-bg, #6ee7b7) !important}.main-header-punch .main-header-punch-out{color:var(--header-punch-out-color, #991b1b) !important;background:var(--header-punch-out-bg, #fecaca) !important;border-color:var(--header-punch-out-border, #fca5a5) !important}.main-header-punch .main-header-punch-out:hover{background:var(--header-punch-out-hover-bg, #fca5a5) !important}.main-header-punch .main-header-punch-break-start,.main-header-punch .main-header-punch-break-end{color:var(--header-punch-break-color, #9a3412) !important;background:var(--header-punch-break-bg, #fed7aa) !important;border-color:var(--header-punch-break-border, #fdba74) !important}.main-header-punch .main-header-punch-break-start:hover,.main-header-punch .main-header-punch-break-end:hover{background:var(--header-punch-break-hover-bg, #fdba74) !important}.main-header-user{display:inline-flex;align-items:center;gap:0.5rem;margin-right:0.75rem;font-size:var(--header-user-font-size)}.main-header-user .las{font-size:var(--header-user-icon-size);color:var(--color-text)}.main-header-user-name{font-weight:var(--header-user-name-weight);color:var(--color-text)}.main-header-logout{margin:0;padding:4px 24px;background:none;border:none;font-size:32px;color:#379dd9}.main-header-logout input,.main-header-logout button{display:inline-flex;align-items:center;justify-content:center;padding:var(--header-logout-btn-padding);font-size:var(--header-logout-btn-font-size);color:var(--color-text);background:var(--header-logout-btn-bg);border:1px solid var(--header-logout-btn-border);border-radius:var(--radius-sm);cursor:pointer}.main-header-logout input:hover,.main-header-logout button:hover{background:var(--header-logout-btn-hover-bg);border-color:var(--header-logout-btn-hover-border)}.main-header-logout input .las,.main-header-logout button .las{font-size:var(--header-logout-btn-font-size)}.main h1{margin:0 0 1rem;font-size:1.5rem;font-weight:600;color:var(--color-text)}.main .description,.main .empty{color:var(--color-text-muted);margin:0.25rem 0 1rem}.main .description a,.main .empty a{color:var(--color-primary)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.25rem;margin-bottom:1.5rem}.flash{padding:0.75rem 1rem;margin:1rem 1.5rem 0;border-radius:var(--radius-sm);max-width:960px;margin-left:auto;margin-right:auto}.flash.notice{background:var(--color-success-bg);color:var(--color-success)}.flash.alert{background:var(--color-danger-bg);color:var(--color-danger)}.app-body>.flash:first-child+.main .main-inner{padding-top:1rem}.btn-new,a.btn-new{display:inline-block;padding:0.5rem 1rem;background:var(--color-gradient);color:white !important;text-decoration:none;border-radius:var(--radius-sm);font-size:0.9rem;font-weight:500;border:none;cursor:pointer}.btn-new:hover,a.btn-new:hover{background:var(--color-gradient-hover)}.btn-new:focus-visible,a.btn-new:focus-visible{outline:2px solid var(--color-main-teal);outline-offset:2px}.btn-secondary,a.btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:0.5rem 1rem;font-size:0.9rem;font-weight:500;color:var(--color-text);text-decoration:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color 0.15s, background 0.15s, color 0.15s}.btn-secondary:hover,a.btn-secondary:hover{background:#f8fafc;border-color:var(--color-main-teal);color:var(--color-primary)}.btn-secondary:focus-visible,a.btn-secondary:focus-visible{outline:2px solid var(--color-main-teal);outline-offset:2px}.tasks-table{width:100%;min-width:480px;border-collapse:collapse;margin-top:0;font-size:0.9rem;background:var(--color-surface);border-radius:var(--radius);overflow:hidden;border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.tasks-table th,.tasks-table td{padding:0.65rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}.tasks-table .actions{white-space:nowrap;display:inline-flex;align-items:center;gap:0.35rem}.tasks-table .actions a,.tasks-table .actions .btn-delete{font-size:0.85rem}.tasks-table .actions .btn-icon-edit,.tasks-table .actions a.btn-icon-edit{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;font-size:1rem;color:var(--color-primary);text-decoration:none;border-radius:var(--radius-sm)}.tasks-table .actions .btn-icon-edit:hover,.tasks-table .actions a.btn-icon-edit:hover{color:var(--color-primary-hover, var(--color-primary));background:#eff6ff}.tasks-table .actions .btn-icon-analyze,.tasks-table .actions a.btn-icon-analyze{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;font-size:1rem;color:var(--color-secondary);text-decoration:none;border-radius:var(--radius-sm)}.tasks-table .actions .btn-icon-analyze:hover,.tasks-table .actions a.btn-icon-analyze:hover{background:#e0f5f5;color:var(--color-secondary-hover)}.tasks-table .actions form.btn-icon-delete,.tasks-table .actions .btn-icon-delete{display:inline-flex;margin:0;padding:0;background:none;border:none}.tasks-table .actions form.btn-icon-delete input,.tasks-table .actions form.btn-icon-delete button,.tasks-table .actions .btn-icon-delete input,.tasks-table .actions .btn-icon-delete button{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;padding:0;background:none;border:none;color:var(--color-danger);cursor:pointer;font-size:1rem;border-radius:var(--radius-sm)}.tasks-table .actions form.btn-icon-delete input:hover,.tasks-table .actions form.btn-icon-delete button:hover,.tasks-table .actions .btn-icon-delete input:hover,.tasks-table .actions .btn-icon-delete button:hover{background:var(--color-danger-bg)}.tasks-table th{background:#f8fafc;font-weight:600;color:var(--color-text);font-size:0.8rem}.tasks-table tbody tr:last-child td{border-bottom:none}.tasks-table tbody tr:hover td{background:#f8fafc}.tasks-table a{color:var(--color-link);text-decoration:none}.tasks-table a:hover{text-decoration:underline}.btn-icon-edit,a.btn-icon-edit{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;font-size:1rem;color:var(--color-primary);text-decoration:none;border-radius:var(--radius-sm)}.btn-icon-edit:hover,a.btn-icon-edit:hover{color:var(--color-primary-hover, var(--color-primary));background:#eff6ff}.btn-icon-analyze,a.btn-icon-analyze{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;font-size:1rem;color:var(--color-secondary);text-decoration:none;border-radius:var(--radius-sm)}.btn-icon-analyze:hover,a.btn-icon-analyze:hover{background:#e0f5f5;color:var(--color-secondary-hover)}form.btn-icon-delete,.btn-icon-delete{display:inline-flex;margin:0;padding:0;background:none;border:none;vertical-align:middle}form.btn-icon-delete input,form.btn-icon-delete button,.btn-icon-delete input,.btn-icon-delete button{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;padding:0;background:none;border:none;color:var(--color-danger);cursor:pointer;font-size:1rem;border-radius:var(--radius-sm)}form.btn-icon-delete input:hover,form.btn-icon-delete button:hover,.btn-icon-delete input:hover,.btn-icon-delete button:hover{background:var(--color-danger-bg)}.form{max-width:100%}.form.form--wide{max-width:720px}.field{margin-bottom:1.25rem}.field label{display:block;font-weight:500;margin-bottom:0.4rem;font-size:0.9rem;color:var(--color-text)}.field input[type="text"],.field input[type="email"],.field input[type="url"],.field input[type="number"],.field input[type="date"],.field input[type="time"],.field input[type="datetime-local"],.field input[type="password"],.field input[type="tel"],.field select,.field textarea{width:100%;max-width:100%;box-sizing:border-box;padding:0.55rem 0.75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:0.95rem;font-family:inherit;background:var(--color-surface);color:var(--color-text);transition:border-color 0.15s, box-shadow 0.15s}.field input[type="text"]::placeholder,.field input[type="email"]::placeholder,.field input[type="url"]::placeholder,.field input[type="number"]::placeholder,.field input[type="date"]::placeholder,.field input[type="time"]::placeholder,.field input[type="datetime-local"]::placeholder,.field input[type="password"]::placeholder,.field input[type="tel"]::placeholder,.field select::placeholder,.field textarea::placeholder{color:var(--color-text-muted);opacity:0.8}.field input[type="text"]:focus,.field input[type="text"]:focus-visible,.field input[type="email"]:focus,.field input[type="email"]:focus-visible,.field input[type="url"]:focus,.field input[type="url"]:focus-visible,.field input[type="number"]:focus,.field input[type="number"]:focus-visible,.field input[type="date"]:focus,.field input[type="date"]:focus-visible,.field input[type="time"]:focus,.field input[type="time"]:focus-visible,.field input[type="datetime-local"]:focus,.field input[type="datetime-local"]:focus-visible,.field input[type="password"]:focus,.field input[type="password"]:focus-visible,.field input[type="tel"]:focus,.field input[type="tel"]:focus-visible,.field select:focus,.field select:focus-visible,.field textarea:focus,.field textarea:focus-visible{outline:none;border-color:var(--color-main-blue);box-shadow:0 0 0 2px rgba(55,157,217,0.2)}.field input[type="text"]:disabled,.field input[type="email"]:disabled,.field input[type="url"]:disabled,.field input[type="number"]:disabled,.field input[type="date"]:disabled,.field input[type="time"]:disabled,.field input[type="datetime-local"]:disabled,.field input[type="password"]:disabled,.field input[type="tel"]:disabled,.field select:disabled,.field textarea:disabled{background:#f1f5f9;color:var(--color-text-muted);cursor:not-allowed}.field textarea{min-height:4.5em;resize:vertical}.field select{cursor:pointer;appearance:auto}.field-row{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem}.field-row.field-row--two .field{flex:1;min-width:10rem;margin-bottom:0}.field-staffs .field-staff-select,.field-staffs select{min-width:160px}.actions{padding-top:1.25rem;display:flex;align-items:center;flex-wrap:wrap;gap:0.75rem}.actions input[type="submit"]{padding:0.55rem 1.25rem;background:var(--color-gradient);color:white;border:none;border-radius:var(--radius-sm);font-size:0.95rem;font-weight:500;cursor:pointer;transition:opacity 0.15s}.actions input[type="submit"]:hover{background:var(--color-gradient-hover)}.actions input[type="submit"]:focus-visible{outline:2px solid var(--color-main-teal);outline-offset:2px}.actions .btn-cancel{color:var(--color-text-muted);text-decoration:none;font-size:0.95rem}.actions .btn-cancel:hover{color:var(--color-primary)}.hint{font-size:0.875rem;color:var(--color-text-muted);margin-top:0.35rem;line-height:1.45}.form-section{margin:1.5rem 0;padding:1.25rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg)}.form-section legend{font-size:1rem;font-weight:600;color:var(--color-text);padding:0 0.5rem}.form-section .form-section-note{font-size:0.875rem;color:var(--color-text-muted);margin:0.5rem 0 1rem;line-height:1.5}.filter-form{margin:0.75rem 0 1rem;display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap}.filter-form label{font-size:0.9rem;font-weight:500;color:var(--color-text-muted)}.filter-form select{padding:0.4rem 0.6rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);font-size:0.9rem;min-width:140px}.filter-form input[type="submit"]{padding:0.4rem 0.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:0.9rem;cursor:pointer}.filter-form input[type="submit"]:hover{background:#f8fafc}.actions .btn-cancel{margin-left:0.75rem;color:var(--color-text-muted)}.errors{background:var(--color-danger-bg);border:1px solid #fecaca;padding:1rem;border-radius:var(--radius-sm);margin-bottom:1rem}.errors h2{font-size:0.95rem;margin-bottom:0.5rem}.errors ul{margin:0;padding-left:1.25rem;color:var(--color-danger)}.breadcrumb{font-size:0.875rem;color:var(--color-text-muted);margin-bottom:1rem}.breadcrumb a{color:var(--color-primary);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.task-detail dl{display:grid;grid-template-columns:120px 1fr;gap:0.4rem 1.25rem;margin:1rem 0}.task-detail dt{font-weight:500;color:var(--color-text-muted)}.task-detail dd{margin:0}.month-filter,.shift-calendar-jump{margin:1rem 0;display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap}.month-filter label,.shift-calendar-jump label{font-size:0.9rem;font-weight:500;color:var(--color-text)}.month-filter select,.shift-calendar-jump select{padding:0.45rem 0.65rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:0.9rem;background:var(--color-surface);color:var(--color-text);min-width:4rem;cursor:pointer}.month-filter select:focus,.month-filter select:focus-visible,.shift-calendar-jump select:focus,.shift-calendar-jump select:focus-visible{outline:none;border-color:var(--color-main-teal);box-shadow:0 0 0 2px rgba(38,183,183,0.15)}.month-filter input[type="submit"],.shift-calendar-jump input[type="submit"]{padding:0.45rem 1rem;font-size:0.9rem;font-weight:500;color:var(--color-text);background:#f1f5f9;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.month-filter input[type="submit"]:hover,.shift-calendar-jump input[type="submit"]:hover{background:#e2e8f0;border-color:#cbd5e1}.month-filter input[type="submit"]:focus-visible,.shift-calendar-jump input[type="submit"]:focus-visible{outline:2px solid var(--color-main-teal);outline-offset:2px}.month-filter .month-nav,.shift-calendar-jump .month-nav{margin-left:0.5rem;display:inline-flex;align-items:center;gap:0.35rem}.month-filter .btn-month,.shift-calendar-jump .btn-month{font-size:0.9rem;color:var(--color-primary);text-decoration:none}.month-filter .btn-month:hover,.shift-calendar-jump .btn-month:hover{text-decoration:underline}.month-summary{font-weight:500;margin-bottom:1rem;color:var(--color-text)}.field-staffs .staff-checkboxes{display:flex;flex-wrap:wrap;gap:0.5rem 1rem;min-height:2rem;max-height:8rem;overflow-y:auto;padding:0.5rem 0}.staff-checkbox-label{display:inline-flex;align-items:center;gap:0.35rem;font-weight:normal;cursor:pointer;font-size:0.9rem}.staff-none-hint{font-size:0.9rem;color:var(--color-text-muted, #64748b)}.chatbot-panel{position:sticky;top:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:0.75rem;display:flex;flex-direction:column;min-height:calc(90vh - 4rem);height:calc(90vh - 4rem)}.chatbot-status{flex-shrink:0;font-size:0.75rem;margin-bottom:0.35rem;padding:0.2rem 0}.chatbot-status.chatbot-status--ok{color:var(--color-success, #1a9d9d)}.chatbot-status.chatbot-status--loading{color:var(--color-text-muted)}.chatbot-welcome{flex-shrink:0;margin-bottom:0.5rem}.chatbot-messages{flex:1;overflow-y:auto;min-height:0;margin-bottom:0.75rem;padding:0.5rem 0;display:flex;flex-direction:column;gap:0.75rem}.chatbot-msg{display:flex;flex-direction:column;align-items:flex-start;max-width:92%}.chatbot-msg.chatbot-msg--user{align-self:flex-end;align-items:flex-end}.chatbot-msg-text{position:relative;display:inline-block;padding:0.6rem 0.85rem;font-size:0.9rem;line-height:1.5;word-break:break-word;max-width:100%;border-radius:1rem;box-shadow:var(--shadow-sm)}.chatbot-msg--user .chatbot-msg-text{background:var(--color-gradient, var(--color-primary));color:#fff;border-bottom-right-radius:0.25rem}.chatbot-msg--user .chatbot-msg-text::after{content:"";position:absolute;right:-6px;bottom:10px;width:0;height:0;border:6px solid transparent;border-left-color:var(--color-main-blue, var(--color-primary));border-top-width:0;border-bottom-width:0}.chatbot-msg--bot .chatbot-msg-text{background:#f0f9fa;color:var(--color-text);border:1px solid #e0e8eb;border-bottom-left-radius:0.25rem;white-space:pre-wrap;word-break:break-word;line-height:1.65}.chatbot-msg--bot .chatbot-msg-text::before{content:"";position:absolute;left:-6px;bottom:10px;width:0;height:0;border:6px solid transparent;border-right-color:#f0f9fa;border-top-width:0;border-bottom-width:0}.chatbot-msg-time{font-size:0.7rem;color:var(--color-text-muted);margin-top:0.2rem;padding:0 0.15rem}.chatbot-link{color:var(--color-primary);text-decoration:underline}.chatbot-link:hover{color:var(--color-primary-hover)}.chatbot-nav-link{display:inline-block;margin-top:0.5rem;padding:0.35rem 0.6rem;font-size:0.85rem;border-radius:0.5rem;background:rgba(var(--color-primary-rgb, 59, 130, 246), 0.1);text-decoration:none}.chatbot-nav-link:hover{background:rgba(var(--color-primary-rgb, 59, 130, 246), 0.2)}.chatbot-knowledge-show{margin-top:1rem}.chatbot-knowledge-meta{display:grid;grid-template-columns:auto 1fr;gap:0.25rem 1.5rem;margin-bottom:1.5rem;padding:1rem;background:var(--color-bg-muted, #f5f5f5);border-radius:0.5rem;font-size:0.9rem}.chatbot-knowledge-meta dt{color:var(--color-text-muted);font-weight:500}.chatbot-knowledge-content-title{font-size:1rem;margin-bottom:0.5rem}.chatbot-knowledge-content{border:1px solid var(--color-border);border-radius:0.5rem;background:#fff;overflow:auto;max-height:70vh}.chatbot-knowledge-content-body{margin:0;padding:1rem 1.25rem;white-space:pre-wrap;word-break:break-word;font-size:0.9rem;line-height:1.6}.chatbot-knowledge-edit-form{max-width:48rem;margin-top:1rem}.chatbot-knowledge-edit-form .form-actions{display:flex;align-items:center;gap:0.75rem;margin-top:1rem}.chatbot-knowledge-edit-form .chatbot-knowledge-content-editor{width:100%;padding:0.75rem 1rem;border:1px solid var(--color-border);border-radius:0.5rem;font-size:0.9rem;line-height:1.6;font-family:inherit;resize:vertical;min-height:12rem}.chatbot-knowledge-edit-form .chatbot-knowledge-content-editor:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb, 59, 130, 246), 0.15)}.chatbot-form{display:flex;gap:0.35rem;flex-shrink:0}.chatbot-input{flex:1;min-width:0;padding:0.5rem 0.75rem;border:1px solid var(--color-border);border-radius:1.25rem;font-size:0.9rem}.chatbot-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(55,157,217,0.15)}.chatbot-send{padding:0.5rem 0.9rem;background:var(--color-gradient, var(--color-primary));color:#fff;border:none;border-radius:1.25rem;font-size:0.9rem;font-weight:500;cursor:pointer;flex-shrink:0}.chatbot-send:hover{opacity:0.95}.todo-new-form__meta-row{margin:2rem 0}.project-timeline-header{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem}.project-timeline-range{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap}.project-timeline-range .range-label{font-size:0.9rem;color:var(--color-text-muted, #64748b)}.project-timeline-range .range-input{padding:0.25rem 0.5rem;font-size:0.9rem}.project-list-header{display:flex;gap:0.75rem;margin-bottom:1rem}.project-timeline-wrap{overflow-x:auto;margin-bottom:1rem;border:1px solid var(--color-border, #e2e8f0);border-radius:8px;background:#fff}.project-timeline{width:100%;border-collapse:collapse;min-width:600px}.project-timeline th,.project-timeline td{vertical-align:middle;padding:0.5rem 0.75rem;border-bottom:1px solid var(--color-border, #e2e8f0)}.project-timeline thead th{background:var(--color-bg-subtle, #f8fafc);font-weight:600;font-size:0.85rem}.project-timeline .project-timeline-name-col{width:220px;min-width:220px;max-width:220px;position:sticky;left:0;z-index:2;background:#fff;border-right:1px solid var(--color-border, #e2e8f0);box-shadow:2px 0 4px rgba(0,0,0,0.04)}.project-timeline thead .project-timeline-name-col{background:var(--color-bg-subtle, #f8fafc)}.project-timeline .project-timeline-day-col{width:28px;min-width:28px;max-width:28px;padding:0.25rem 0;font-size:0.7rem;color:var(--color-text-muted, #64748b);text-align:center;border-left:1px solid var(--color-border, #e2e8f0);vertical-align:middle}.project-timeline .project-timeline-day-col.is-today{background:#d4f1f1;color:var(--color-primary, #26b7b7);font-weight:600}.project-timeline.project-timeline--table .project-timeline-day-col.has-bar{background:var(--color-border, #e2e8f0)}.project-timeline.project-timeline--table .project-timeline-day-col.has-bar.is-in-progress{background:#a7e5e5}.project-timeline.project-timeline--table tbody .project-timeline-day-col.has-bar{background:var(--color-border, #e2e8f0)}.project-timeline.project-timeline--table tbody .project-timeline-day-col.has-bar.is-in-progress{background:#a7e5e5}.project-timeline .project-timeline-name{font-weight:500;display:block}.project-timeline .project-timeline-assignees{font-size:0.75rem;color:var(--color-text-muted, #64748b);display:block;margin-top:0.15rem}.project-timeline .project-timeline-track{position:relative;height:2rem;min-height:2rem}.project-timeline .project-timeline-bar{position:absolute;top:50%;transform:translateY(-50%);height:1.25rem;min-width:4px;border-radius:4px;background:var(--color-border, #e2e8f0);border:1px solid rgba(0,0,0,0.06)}.project-timeline .project-timeline-bar.is-in-progress{background:#a7e5e5;border-color:#6ed9d9}.project-timeline .project-timeline-bar-label{display:none}.project-timeline-legend{font-size:0.85rem;color:var(--color-text-muted, #64748b);margin:0}.project-timeline-legend .project-timeline-legend-item{margin-right:1rem}.project-timeline-legend .legend-swatch{display:inline-block;width:1rem;height:0.75rem;border-radius:3px;background:var(--color-border, #e2e8f0);vertical-align:middle;margin-right:0.25rem}.project-timeline-legend .legend-swatch.is-in-progress{background:#a7e5e5}.tasks-table .actions a,.tasks-table .actions form{display:inline-block;margin-right:0.5rem}.tasks-table .btn-delete{display:inline}.tasks-table .btn-delete input{background:none;border:none;color:#c00;cursor:pointer;text-decoration:underline;padding:0;font-size:inherit}.task-detail-header{gap:0.75rem;margin-bottom:0.5rem}.task-detail-header h1{margin:0;font-size:1.5rem}.task-detail dd.description{white-space:pre-wrap}.task-detail .meta{font-size:0.875rem;color:#888;margin-top:1rem;display:block}.task-detail .actions a,.task-detail .actions .btn-delete{margin-right:1rem}.task-detail-back{margin-top:2rem;margin-bottom:0;display:flex;align-items:center;gap:0.75rem}.task-staffs-chosen .task-staffs-list{display:flex;flex-wrap:wrap;gap:0.35rem;margin-bottom:0.5rem;min-height:1.5rem}.task-staffs-chosen .task-staff-chip{display:inline-flex;align-items:center;gap:0.25rem;padding:0.2rem 0.5rem;background:#e0f2fe;border:1px solid #0ea5e9;border-radius:4px;font-size:0.9rem}.task-staffs-chosen .task-staff-chip .task-staff-remove{padding:0 0.15rem;margin:0;border:none;background:transparent;color:#0369a1;cursor:pointer;font-size:1.1rem;line-height:1}.task-staffs-chosen .task-staff-chip .task-staff-remove:hover{color:#dc2626}.task-staffs-chosen .task-staffs-add{display:flex;align-items:center;gap:0.5rem}.task-staffs-chosen .task-staffs-add .field-staff-select{min-width:12rem}.task-staffs-chosen .task-staffs-add .btn-task-staff-add{padding:0.35rem 0.75rem;font-size:0.9rem;cursor:pointer}.client-detail .company{font-size:1.1rem;color:var(--color-text-muted, #555);margin:0.25rem 0 1rem}.form-section{margin:1.5rem 0;padding:1.25rem;border:1px solid var(--color-border);border-radius:0.5rem;background:var(--color-bg-muted, #f9f9f9)}.form-section legend{font-size:1rem;font-weight:600;padding:0 0.5rem}.form-section .form-section-note{font-size:0.875rem;color:var(--color-text-muted);margin:0.5rem 0 1rem;line-height:1.5}.client-monitored-sites-preview{margin-top:0.75rem}.client-section{margin:1.5rem 0}.client-section .section-title{font-size:1rem;font-weight:600;margin:0 0 0.5rem;padding-bottom:0.35rem;border-bottom:1px solid var(--color-border)}.client-section .section-note{font-size:0.875rem;color:var(--color-text-muted);margin-bottom:1rem;line-height:1.5}.client-section .sub-section-title{font-size:0.95rem;font-weight:500;margin:0.75rem 0 0.5rem}.client-monitored-sites .monitored-sites-list,.client-monitored-sites-edit .monitored-sites-list{list-style:none;padding:0;margin:0 0 1rem}.client-monitored-sites .monitored-sites-list li,.client-monitored-sites-edit .monitored-sites-list li{padding:0.5rem 0;border-bottom:1px solid var(--color-border);display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem}.client-monitored-sites .monitored-sites-list li .monitored-site-status,.client-monitored-sites-edit .monitored-sites-list li .monitored-site-status{font-size:0.8rem;color:var(--color-text-muted)}.client-monitored-sites .monitored-sites-list li .link-edit,.client-monitored-sites-edit .monitored-sites-list li .link-edit{margin-left:auto}.client-monitored-sites .empty,.client-monitored-sites-edit .empty{color:var(--color-text-muted);margin-bottom:0.75rem}.notice-client{padding:0.5rem 0.75rem;background:rgba(var(--color-primary-rgb, 59, 130, 246), 0.1);border-radius:0.5rem;margin-bottom:1rem;font-size:0.9rem}.clients-table .actions a,.clients-table .actions form{display:inline-block;margin-right:0.5rem}.clients-table .btn-delete input{background:none;border:none;color:#c00;cursor:pointer;text-decoration:underline;padding:0;font-size:inherit}.todo-new-form,.todo-edit-form{margin-bottom:1.5rem}.todo-new-form .todo-new-form__content-row,.todo-edit-form .todo-new-form__content-row{width:100%;margin-bottom:1.25rem}.todo-new-form .todo-new-form__meta-row,.todo-edit-form .todo-new-form__meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:0.75rem 1rem;margin-top:0.25rem;margin-bottom:1.25rem}.todo-new-form .todo-description-row,.todo-edit-form .todo-description-row{width:100%;margin-bottom:0.5rem}.todo-new-form .todo-description-row label,.todo-edit-form .todo-description-row label{display:block;font-size:0.9rem;color:var(--color-text-muted, #64748b);margin-bottom:0.25rem}.todo-description-input{width:100%;box-sizing:border-box;padding:0.6rem 0.75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:0.95rem;resize:vertical;min-height:4.5em}.todo-description-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,0.2)}.todo-due-date{display:flex;align-items:center;gap:0.35rem}.todo-due-date label{font-size:0.9rem;color:var(--color-text-muted)}.todo-due-date-input{padding:0.35rem 0.5rem;border:1px solid var(--color-border);border-radius:4px;font-size:0.9rem}.todo-due{font-size:0.85rem;color:var(--color-text-muted);min-width:5rem}.todo-input{width:100%;box-sizing:border-box;padding:0.6rem 0.75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:1rem}.todo-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,0.2)}.btn-add-todo{padding:0.6rem 1.25rem;background:#2563eb;color:white;border:none;border-radius:6px;cursor:pointer;font-weight:500}.btn-add-todo:hover{background:#1d4ed8}.todo-list{list-style:none;margin:0;padding:0}.todo-item{display:flex;align-items:center;gap:0.75rem;padding:0.6rem 0;border-bottom:1px solid #f1f5f9}.todo-item.completed .todo-content{color:#94a3b8;text-decoration:line-through}.todo-toggle-form{display:flex;margin:0}.todo-checkbox{width:1.2rem;height:1.2rem;cursor:pointer}.todo-content{flex:1}.todo-staff-select-wrap{display:flex;align-items:center;gap:0.5rem;flex:0 0 auto}.todo-staff-select-wrap label{font-size:0.9rem;color:var(--color-text-muted, #64748b)}.todo-staff-select,.field-staff-select{min-width:140px;max-width:200px;height:auto;padding:0.35rem 0.5rem;font-size:0.9rem;border-radius:var(--radius-sm, 4px);border:1px solid var(--color-border, #e2e8f0)}.todo-staff-checkboxes{display:flex;flex-wrap:wrap;gap:0.35rem 0.75rem;align-items:center;flex:0 0 auto;min-width:180px;max-width:320px;max-height:4rem;overflow-y:auto;padding:0.25rem 0}.todo-staff-checkboxes .todo-staff-label{font-size:0.9rem;color:var(--color-text-muted, #64748b);margin-right:0.25rem;flex:0 0 auto}.todo-staff-checkboxes .staff-checkbox-label{font-size:0.85rem;white-space:nowrap}.todo-staff{font-size:0.85rem;color:var(--color-text-muted)}.todo-task{font-size:0.85rem;color:#64748b}.todo-task a{color:#64748b;text-decoration:none}.todo-task a:hover{text-decoration:underline}.task-todos{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.task-todos h2{font-size:1.1rem;margin:0 0 1rem}.task-todos .todo-new-form{margin-bottom:1rem}.btn-add-to-todo{padding:0.5rem 1rem;background:#0ea5e9;color:white;border:none;border-radius:6px;cursor:pointer;font-size:0.9rem}.btn-add-to-todo:hover{background:#0284c7}.todo-delete-form{display:inline;margin:0}.todo-delete-form input{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:0.9rem;text-decoration:underline}.todo-delete-form input:hover{color:#dc2626}.todo-count{margin-top:1rem;font-size:0.9rem;color:#64748b}.todo-proposals{margin-bottom:1.5rem;padding:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.todo-proposals-heading{font-size:1.05rem;font-weight:600;margin:0 0 0.25rem}.todo-proposals-desc{font-size:0.9rem;color:var(--color-text-muted);margin:0 0 0.75rem}.todo-proposals-actions{display:flex;flex-wrap:wrap;align-items:center;gap:0.75rem;margin-bottom:0.75rem}.todo-proposals-actions .btn-todo-propose{padding:0.5rem 1rem;font-size:0.95rem;font-weight:500;background:var(--color-primary, #2563eb);color:white;border:none;border-radius:var(--radius);cursor:pointer}.todo-proposals-actions .btn-todo-propose:hover:not(:disabled){opacity:0.9}.todo-proposals-actions .btn-todo-propose:disabled{opacity:0.6;cursor:not-allowed}.todo-proposals-actions .todo-proposals-loading{color:var(--color-muted);font-size:0.9rem}.todo-proposals-actions .todo-proposals-error{color:#dc2626;font-size:0.9rem}.todo-proposals-result{margin-top:0.5rem}.todo-proposal-list{list-style:none;margin:0;padding:0}.todo-proposal-item{display:flex;align-items:center;gap:0.75rem;padding:0.5rem 0;border-bottom:1px solid var(--color-border)}.todo-proposal-item:last-child{border-bottom:none}.todo-proposal-form{display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem;margin:0;width:100%}.todo-proposal-content{flex:1;min-width:0;font-size:0.95rem}.todo-proposal-due{font-size:0.85rem;color:var(--color-text-muted)}.btn-todo-proposal-add{padding:0.35rem 0.75rem;font-size:0.9rem;background:#22c55e;color:white;border:none;border-radius:var(--radius);cursor:pointer}.btn-todo-proposal-add:hover{background:#16a34a}.inquiry-detail .meta{color:#64748b;margin-bottom:1rem}.inquiry-detail .body{white-space:pre-wrap}.inquiry-detail .memo{background:#f8fafc;padding:0.75rem;border-radius:4px}.inquiry-line-reply{margin-top:1.5rem;padding:1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius, 8px)}.inquiry-line-reply h2{margin:0 0 0.75rem;font-size:1rem;font-weight:600}.inquiry-line-reply .field{margin-bottom:0.75rem}.inquiry-line-reply textarea{width:100%;max-width:400px;padding:0.5rem 0.65rem;border:1px solid var(--color-border);border-radius:4px;font-size:0.95rem}.unread-row{background:#fef9c3}.reservation-source-type-badge{margin:0 0 1rem;padding:0.35rem 0.75rem;display:inline-block;background:var(--color-primary-bg, #ecfdf5);color:var(--color-primary, #166534);border-radius:var(--radius-sm, 4px);font-size:0.95rem;font-weight:600}.source-category-label{font-size:0.9rem;color:var(--color-text-muted, #64748b)}.reservation-category-cards{display:grid;grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));gap:1.25rem;margin-top:1.5rem}.reservation-category-card{display:block;padding:1.5rem;border:2px solid var(--color-border, #e2e8f0);border-radius:var(--radius-md, 8px);text-decoration:none;color:inherit;transition:border-color 0.2s, box-shadow 0.2s}.reservation-category-card:hover{border-color:var(--color-primary, #166534);box-shadow:0 4px 12px rgba(22,101,52,0.12)}.reservation-category-card__title{font-size:1.15rem;margin:0 0 0.5rem;color:var(--color-text);display:flex;align-items:center;gap:0.5rem}.reservation-category-card__title .la{font-size:1.35rem;flex-shrink:0;margin-right:4px}.reservation-category-card__desc{font-size:0.9rem;color:var(--color-text-muted, #64748b);margin:0}.reservation-link-with-icon{display:inline-flex;align-items:center;gap:0.35rem}.reservation-link-with-icon .la{font-size:1rem}.reservations-by-source{margin-bottom:2rem}.reservations-by-source:last-child{margin-bottom:0}.reservations-by-source__title{font-size:1.1rem;font-weight:600;margin:0 0 0.5rem;color:var(--color-text)}.sync-section{margin-bottom:1.5rem}.sync-section h2{font-size:1rem;margin-bottom:0.5rem}.sync-section .sync-hint{color:var(--color-text-muted, #64748b);font-size:0.9rem;margin:0 0 0.75rem}.sync-section .sync-badge{font-size:0.8rem;color:var(--color-warning, #b45309)}.sync-list{list-style:none;padding:0;margin:0}.sync-list li{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.5rem}.btn-sync{padding:0.35rem 0.75rem;background:#166534;color:white;border:none;border-radius:4px;cursor:pointer;font-size:0.9rem}.btn-sync:hover{background:#15803d}.reservations-table tr.cancelled{opacity:0.7;background:var(--color-background-muted, #f8fafc)}.reservations-table .status-cancelled{color:var(--color-text-muted, #64748b);font-style:italic}.reservations-table .raw-data,.reservation-detail .raw-data{background:#f1f5f9;padding:1rem;border-radius:4px;font-size:0.85rem;overflow-x:auto;max-height:300px;overflow-y:auto}.reservation-detail .raw-data{margin-top:0.5rem}.hint{font-size:0.875rem;color:#64748b;margin-top:0.25rem}.form--accommodation-facility .form-section{margin-bottom:1.5rem}.form--accommodation-facility .form-section__title{font-size:1rem;font-weight:600;margin:0 0 0.75rem;color:var(--color-text)}.form--accommodation-facility .form-divider{border:none;border-top:1px solid var(--color-border, #e2e8f0);margin:1.5rem 0}.form--accommodation-facility .form-section--optional .form-section__title{font-size:0.95rem;color:var(--color-text-muted, #64748b)}.form--accommodation-reservation .form-section{margin-bottom:1.5rem}.form--accommodation-reservation .form-section__title{font-size:1rem;font-weight:600;margin:0 0 0.75rem;color:var(--color-text)}.form--accommodation-reservation .form-divider{border:none;border-top:1px solid var(--color-border, #e2e8f0);margin:1.5rem 0}.form--accommodation-reservation .input-readonly{background:var(--color-background-muted, #f1f5f9);cursor:not-allowed}.field--file{margin-bottom:1rem}.field--file input[type="file"]{display:block;margin-top:0.35rem;padding:0.5rem;min-width:280px;font-size:1rem;border:1px solid var(--color-border, #e2e8f0);border-radius:4px;background:var(--color-background, #fff)}.field--file input[type="file"]::file-selector-button{padding:0.35rem 0.75rem;margin-right:0.75rem;font-size:0.9rem;border:1px solid var(--color-border, #e2e8f0);border-radius:4px;background:var(--color-background-muted, #f1f5f9);cursor:pointer}.field--file .hint{margin-top:0.35rem}.csv-import-errors{margin-bottom:1.5rem;padding:1rem 1.25rem;background:#fef2f2;border:1px solid #fecaca;border-radius:6px}.csv-import-errors__title{font-size:1rem;font-weight:600;margin:0 0 0.5rem;color:#b91c1c}.csv-import-errors__list{margin:0;padding-left:1.25rem;font-size:0.9rem;color:#991b1b}.csv-import-errors__list li{margin-bottom:0.25rem}.cash-envelopes-table .uncollected{background:#fef9c3}.cash-envelopes-table .actions{white-space:nowrap}.cash-envelopes-table .inline-collect-form{display:inline-flex;align-items:center;gap:0.5rem;margin-right:0.5rem}.cash-envelopes-table .inline-collect-form label{font-size:0.85rem}.cash-envelopes-table .inline-collect-form input[type="number"]{width:100px}.cash-envelopes-table .btn-delete input{background:none;border:none;color:#c00;cursor:pointer;text-decoration:underline;padding:0;font-size:inherit}.btn-collect{padding:0.35rem 0.75rem;background:#166534;color:white;border:none;border-radius:4px;cursor:pointer;font-size:0.9rem}.btn-collect:hover{background:#15803d}.cash-envelope-detail .actions .btn-collect{margin-right:1rem}.lesson-fees-table .lesson-fee-inline-form{display:inline-flex;align-items:center;gap:0.35rem;margin-top:0.25rem}.lesson-fees-table .lesson-fee-inline-form input[type="date"]{width:10rem;padding:0.35rem}.lesson-fees-table .lesson-fee-inline-form input[type="submit"]{padding:0.35rem 0.6rem;font-size:0.85rem}.lesson-fees-table .lesson-fee-check-form{display:inline}.lesson-fees-table .lesson-fee-transfer-check{display:inline-flex;align-items:center;gap:0.35rem;cursor:pointer;font-size:0.9rem}.lesson-fees-table .lesson-fee-received{color:var(--color-success);font-size:0.9rem}.lesson-fees-table .btn-collect{padding:0.35rem 0.75rem;background:var(--color-success);color:white;border:none;border-radius:4px;cursor:pointer;font-size:0.9rem}.lesson-fees-table .btn-collect:hover{opacity:0.9}.form-section{margin-bottom:2rem}.form-section .form-section-title{font-size:1.1rem;margin:0 0 0.75rem;padding-bottom:0.35rem;border-bottom:1px solid var(--color-border, #e2e8f0)}.check-sheet-section .check-sheet-description{color:var(--color-text-muted, #64748b);font-size:0.9rem;margin:-0.5rem 0 1rem}.radio-group,.checkbox-group{display:flex;flex-direction:column;gap:0.35rem;margin-top:0.25rem}.radio-label,.checkbox-label{display:flex;align-items:center;gap:0.5rem;cursor:pointer;font-weight:normal}.radio-label input[type="radio"],.radio-label input[type="checkbox"],.checkbox-label input[type="radio"],.checkbox-label input[type="checkbox"]{margin:0;flex-shrink:0}.inline-after-radio,.inline-after-checkbox{margin-left:0.5rem;width:12rem;max-width:100%}.check-sheet-label{display:block;font-weight:600;margin-bottom:0.25rem}.field-hint{font-size:0.85rem;color:var(--color-text-muted, #64748b);margin:0.25rem 0 0.35rem}.check-sheet-detail{margin:1.5rem 0}.check-sheet-detail h2{font-size:1rem;margin:0 0 0.75rem}.parent-message-section{margin:1.5rem 0;padding:1rem;background:var(--color-bg-subtle, #f8fafc);border-radius:8px}.parent-message-section h2{font-size:1rem;margin:0 0 0.75rem}.parent-message-section .parent-message-body{white-space:pre-wrap;margin-bottom:0.75rem;line-height:1.6}.parent-message-section .parent-message-empty{color:var(--color-text-muted, #64748b);margin-bottom:0.75rem}.parent-message-section .parent-message-actions{margin:0}.parent-message-section .btn-inline input{padding:0.35rem 0.75rem;font-size:0.9rem;background:var(--color-primary, #26b7b7);color:#fff;border:none;border-radius:4px;cursor:pointer}.parent-message-section .btn-generate-message input,.parent-message-section .btn-generate-message{padding:0.5rem 1rem;font-size:1rem;background:var(--color-primary, #26b7b7);color:#fff;border:none;border-radius:4px;cursor:pointer}.parent-message-section .btn-generate-message:disabled{opacity:0.7;cursor:not-allowed}.parent-message-generate-row .field-actions{margin-top:0.5rem}.parent-message-generate-row .generate-message-status{margin-top:0.5rem;font-size:0.9rem}.parent-message-generate-row .generate-message-status--success{color:var(--color-success, #059669)}.parent-message-generate-row .generate-message-status--error{color:var(--color-error, #dc2626)}.lesson-report-detail .detail-list{margin:1rem 0}.lesson-report-images-preview{list-style:none;margin:0.5rem 0 0;padding:0}.lesson-report-images-preview li{margin-bottom:0.25rem}.lesson-report-images-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:1rem}.lesson-report-images-list li{display:flex;flex-direction:column;align-items:flex-start;gap:0.25rem}.lesson-report-images-list .lesson-report-image-name{font-size:0.85rem;color:var(--color-text-muted, #64748b)}.settings-sections{display:flex;flex-direction:column;gap:2rem}.settings-section{padding:1.25rem;background:#f8fafc;border:1px solid var(--color-border);border-radius:var(--radius)}.settings-section-title{margin:0 0 0.35rem;font-size:1.1rem;font-weight:600;color:var(--color-text)}.settings-section-desc{margin:0 0 0.75rem;font-size:0.9rem;color:var(--color-text-muted)}.settings-section .btn-new,.settings-section .btn-secondary{margin-right:0.5rem;margin-bottom:0.75rem}.settings-table{margin-top:0.5rem}.settings-table .btn-sync{padding:0.35rem 0.75rem;background:var(--color-success);color:white;border:none;border-radius:4px;cursor:pointer;font-size:0.9rem}.settings-table .btn-delete input{background:none;border:none;color:#c00;cursor:pointer;text-decoration:underline;padding:0;font-size:inherit}.settings-section .empty{margin:0.5rem 0 0}.inquiry-api-url-form{margin-bottom:0.75rem}.inquiry-api-url-form .field{margin-bottom:0.5rem}.inquiry-api-url-form .inquiry-api-url-input{width:100%;max-width:560px;padding:0.5rem 0.65rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:0.95rem}.inquiry-api-url-form .actions{margin-top:0.75rem}.settings-subsection{padding-top:1rem;border-top:1px solid var(--color-border)}.settings-subsection-title{margin:0 0 0.35rem;font-size:1rem;font-weight:600;color:var(--color-text)}.inquiry-form-url-wrap{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap}.inquiry-form-url-wrap .inquiry-form-url{flex:1;min-width:0;font-size:0.85rem;padding:0.4rem 0.6rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);word-break:break-all}.btn-copy-url{padding:0.4rem 0.75rem;font-size:0.875rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text)}.btn-copy-url:hover{background:#f1f5f9;border-color:var(--color-main-teal)}.settings-embed-details{margin-top:1rem;font-size:0.9rem}.settings-embed-details summary{cursor:pointer;color:var(--color-primary)}.settings-embed-code{margin-top:0.5rem;padding:1rem;background:#f1f5f9;border-radius:var(--radius-sm)}.settings-embed-code .embed-label{margin:0.75rem 0 0.25rem;font-weight:500;color:var(--color-text-muted)}.settings-embed-code .embed-label:first-child{margin-top:0}.settings-embed-code pre{margin:0;padding:0.5rem 0.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;overflow-x:auto;font-size:0.8rem}.line-settings-form{margin-bottom:0.75rem}.line-settings-form .field{margin-bottom:0.5rem}.line-settings-form .line-setting-input{width:100%;max-width:400px;padding:0.5rem 0.65rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:0.95rem}.line-settings-form .line-webhook-url-display{display:block;margin-top:0.25rem;padding:0.5rem 0.65rem;background:#f1f5f9;border-radius:4px;font-size:0.85rem;word-break:break-all}.line-settings-form .actions{margin-top:0.75rem}.schedule-calendar{width:100%;border-collapse:collapse;table-layout:fixed;margin-top:0.5rem}.schedule-calendar .cal-dow{width:14.28%;padding:0.5rem;text-align:center;font-weight:600;background:#f1f5f9;border:1px solid #e2e8f0;font-size:0.9rem}.schedule-calendar .cal-day{vertical-align:top;padding:0.35rem;border:1px solid #e2e8f0;min-height:90px;height:100px;font-size:0.85rem}.schedule-calendar .cal-day.other-month{background:#f8fafc}.schedule-calendar .cal-day.today{background:#f0fdf4}.schedule-calendar .cal-day.holiday{background:#fef2f2}.schedule-calendar .cal-day.holiday .cal-day-num .date-link{color:#dc2626}.cal-holiday-name{font-size:0.7rem;color:#dc2626;margin-bottom:0.2rem;line-height:1.2}.cal-day-num{margin-bottom:0.25rem}.cal-day-num .date-link{font-weight:600;font-size:1rem;text-decoration:none;color:#0f172a}.cal-day-num .date-link:hover{text-decoration:underline;color:#2563eb}.cal-entries{list-style:none;margin:0;padding:0}.cal-entries li{margin-bottom:0.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-entries .cal-time{color:#64748b;margin-right:0.25rem;font-size:0.75rem}.cal-entries .cal-staff{font-size:0.7rem;color:var(--color-text-muted);margin-left:0.2rem}.cal-entries .cal-title{font-size:0.8rem}.cal-more{color:#64748b;font-size:0.75rem}.cal-add{display:inline-block;margin-top:0.25rem;color:#64748b;font-size:0.9rem;text-decoration:none}.cal-add:hover{color:#2563eb}.cal-rest{font-size:0.75rem;color:#94a3b8;margin-top:0.25rem;display:inline-block}.day-rest-notice{color:#dc2626;margin-bottom:1rem;font-weight:500}.schedule-list{list-style:none;margin:0;padding:0}.schedule-list li{display:flex;align-items:center;flex-wrap:wrap;gap:0.35rem;margin-bottom:0.35rem;font-size:0.95rem}.schedule-list li .time{color:#64748b;min-width:5rem}.schedule-list .schedule-staff{font-size:0.85rem;color:var(--color-text-muted)}.schedule-list .link-edit{font-size:0.85rem}.schedule-list .btn-delete-inline{display:inline}.schedule-list .btn-delete-inline input{background:none;border:none;color:#c00;cursor:pointer;text-decoration:underline;padding:0;font-size:0.85rem}.no-entry{color:#94a3b8}.schedule-detail .meta{color:#64748b;margin-bottom:1rem}.day-header{margin-bottom:1rem;font-size:1.1rem}.day-header .day-holiday-name{margin-left:0.5rem;color:#dc2626;font-weight:500}.day-header .btn-back{margin-left:1rem;font-size:0.9rem}.schedule-day-table .col-time{width:8rem;vertical-align:top}.schedule-day-table .col-entries{min-width:240px}.schedule-day-table .col-actions{width:11rem;white-space:nowrap}.schedule-day-table .hour-label{font-weight:500;color:#334155}.schedule-day-table tr.current-hour{background:#dbeafe}.btn-add-hour{font-size:0.9rem}.schedule-staffs-chosen .schedule-staffs-list{display:flex;flex-wrap:wrap;gap:0.35rem;margin-bottom:0.5rem;min-height:1.5rem}.schedule-staffs-chosen .schedule-staff-chip{display:inline-flex;align-items:center;gap:0.25rem;padding:0.2rem 0.5rem;background:#e0f2fe;border:1px solid #0ea5e9;border-radius:4px;font-size:0.9rem}.schedule-staffs-chosen .schedule-staff-chip .schedule-staff-remove{padding:0 0.15rem;margin:0;border:none;background:transparent;color:#0369a1;cursor:pointer;font-size:1.1rem;line-height:1}.schedule-staffs-chosen .schedule-staff-chip .schedule-staff-remove:hover{color:#dc2626}.schedule-staffs-chosen .schedule-staffs-add{display:flex;align-items:center;gap:0.5rem}.schedule-staffs-chosen .schedule-staffs-add .field-staff-select{min-width:12rem}.schedule-staffs-chosen .schedule-staffs-add .btn-schedule-staff-add{padding:0.35rem 0.75rem;font-size:0.9rem;cursor:pointer}.shift-calendar-header{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.25rem}.shift-calendar-nav{display:flex;align-items:center;gap:0.75rem}.shift-calendar-title{font-weight:600;min-width:8rem;text-align:center}.shift-calendar-jump{display:flex;align-items:center;gap:0.35rem}.shift-calendar{border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;background:var(--color-surface)}.shift-calendar-weekdays{display:grid;grid-template-columns:0.7fr repeat(6, 1fr);background:#1e293b;color:white;font-size:0.8rem;font-weight:600}.shift-calendar-dow{padding:0.5rem;text-align:center;border-right:1px solid rgba(255,255,255,0.15)}.shift-calendar-dow:last-child{border-right:none}.shift-calendar-week{display:grid;grid-template-columns:0.7fr repeat(6, 1fr);min-height:100px}.shift-calendar-day{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);min-height:100px;display:flex;flex-direction:column;background:white}.shift-calendar-day:nth-child(7n){border-right:none}.shift-calendar-day.other-month{background:#f8fafc;visibility:hidden;min-height:0;border-color:#e2e8f0}.shift-calendar-day.today{background:#f0fdf4;outline:2px solid #22c55e;outline-offset:-2px;z-index:1}.shift-calendar-day.holiday{background:#fef2f2}.shift-calendar-day.holiday .shift-calendar-day-num{color:#dc2626}.shift-calendar-holiday-name{font-size:0.65rem;color:#dc2626;padding:1rem 0.35rem;margin-bottom:0.2rem;line-height:1.2}.shift-calendar-day-header{padding:0.25rem 0.35rem;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:#f8fafc}.shift-calendar-day-num{font-weight:600;font-size:0.95rem}.shift-calendar-dow-mini{font-size:0.7rem;color:var(--color-text-muted)}.shift-calendar-day:nth-child(7n + 1) .shift-calendar-dow-mini{color:#dc2626}.shift-calendar-day:nth-child(7n) .shift-calendar-dow-mini{color:#2563eb}.shift-calendar-day-body{flex:1;padding:0.35rem;overflow-y:auto;min-height:0}.shift-calendar-item{font-size:0.8rem;padding:0.2rem 0.35rem;margin-bottom:0.2rem;background:#f1f5f9;border-radius:4px;display:flex;flex-wrap:wrap;align-items:center;gap:0.25rem}.shift-calendar-item form.shift-calendar-item-approve,.shift-calendar-item form.shift-calendar-item-delete{background:none !important;border:none !important;box-shadow:none !important}.shift-calendar-item form.shift-calendar-item-approve button,.shift-calendar-item form.shift-calendar-item-approve input,.shift-calendar-item form.shift-calendar-item-delete button,.shift-calendar-item form.shift-calendar-item-delete input{background:none !important;border:none !important;box-shadow:none !important}.shift-calendar-item .shift-calendar-item-name{font-weight:500;min-width:0}.shift-calendar-item .shift-calendar-item-name a{color:inherit;text-decoration:none}.shift-calendar-item .shift-calendar-item-name a:hover{text-decoration:underline}.shift-calendar-item .shift-calendar-item-time{color:var(--color-text-muted);font-size:0.75rem}.shift-calendar-item .shift-calendar-item-right{display:inline-flex;align-items:center;gap:0.35rem;margin-left:auto;flex-shrink:0}.shift-calendar-item .shift-calendar-item-actions{display:inline-flex;align-items:center;gap:0.01rem;flex-shrink:0}.shift-calendar-item>.shift-calendar-item-actions{margin-left:auto}.shift-calendar-item .shift-calendar-item-edit{display:inline-flex;align-items:center;justify-content:center;font-size:0.7rem;color:var(--color-primary);text-decoration:none;background:none !important;border:none !important;box-shadow:none !important}.shift-calendar-item .shift-calendar-item-edit:hover{color:var(--color-primary-hover, var(--color-primary))}.shift-calendar-item .shift-calendar-item-delete{display:inline-flex;margin:0;padding:0;background:none;border:none;box-shadow:none}.shift-calendar-item .shift-calendar-item-delete input,.shift-calendar-item .shift-calendar-item-delete button{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;padding:0;background:none !important;border:none !important;box-shadow:none !important;color:#dc2626;cursor:pointer;font-size:0.875rem}.shift-calendar-item .shift-calendar-item-approve{display:inline-flex;margin:0;padding:0;background:none !important;border:none !important;box-shadow:none !important}.shift-calendar-item .shift-calendar-item-approve input,.shift-calendar-item .shift-calendar-item-approve button{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;padding:0;font-size:0.875rem;background:none !important;border:none !important;box-shadow:none !important;color:var(--color-primary, #26b7b7);cursor:pointer}.shift-calendar-item--requested{background:#e0f2fe}.shift-calendar-day-add{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;margin-top:0.25rem;font-size:0.875rem;color:var(--color-text-muted);text-decoration:none;background:none !important;border:none !important;box-shadow:none !important}.shift-calendar-day-add:hover{color:var(--color-primary)}.shift-calendar-day-rest{font-size:0.7rem;color:var(--color-text-muted);margin-top:0.25rem;display:block}.shift-list{list-style:none;margin:0;padding:0}.shift-list li{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.25rem;font-size:0.95rem}.shift-list li .time{color:#64748b;margin-right:0.25rem}.shift-list .link-edit{font-size:0.85rem}.shift-list .btn-delete-inline{display:inline}.shift-list .btn-delete-inline input{background:none;border:none;color:#dc2626;cursor:pointer;text-decoration:underline;padding:0;font-size:0.85rem}.no-shift{color:#94a3b8}.shift-proposals{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.shift-proposals-heading{font-size:1.1rem;font-weight:600;margin-bottom:0.35rem}.shift-proposals-desc{color:var(--color-muted, #64748b);font-size:0.9rem;margin-bottom:1rem}.shift-proposals-actions{display:flex;flex-wrap:wrap;align-items:center;gap:0.75rem;margin-bottom:1rem}.shift-proposals-actions .btn-propose-shift{padding:0.5rem 1rem;font-size:0.95rem;font-weight:500;background:var(--color-primary, #2563eb);color:white;border:none;border-radius:var(--radius);cursor:pointer}.shift-proposals-actions .btn-propose-shift:hover:not(:disabled){opacity:0.9}.shift-proposals-actions .btn-propose-shift:disabled{opacity:0.6;cursor:not-allowed}.shift-proposals-actions .shift-proposals-loading{color:var(--color-muted, #64748b);font-size:0.9rem}.shift-proposals-actions .shift-proposals-error{color:#dc2626;font-size:0.9rem}.shift-proposals-result{display:flex;flex-direction:column;gap:1.5rem}.shift-proposal-pattern{border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;background:var(--color-surface)}.shift-proposal-pattern-name{font-size:1rem;font-weight:600;padding:0.6rem 1rem;margin:0;background:#f1f5f9;border-bottom:1px solid var(--color-border)}.shift-proposal-table{width:100%;border-collapse:collapse;font-size:0.9rem}.shift-proposal-table th,.shift-proposal-table td{padding:0.5rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}.shift-proposal-table th{font-weight:600;background:#f8fafc}.shift-proposal-table tbody tr:last-child td{border-bottom:none}.documents-table .actions a,.documents-table .actions form{display:inline-block;margin-right:0.5rem}.documents-table .btn-delete input{background:none;border:none;color:#c00;cursor:pointer;text-decoration:underline;padding:0;font-size:inherit}.document-detail .meta-line{color:#64748b;margin-bottom:1rem}.document-detail .file-section,.document-detail .content-text-section{margin-top:1.5rem}.document-detail .file-section h2,.document-detail .content-text-section h2{font-size:1rem;margin-bottom:0.5rem}.document-detail .btn-download{font-weight:500}.document-detail .content-text{background:#f8fafc;padding:1rem;border-radius:6px;white-space:pre-wrap;word-break:break-all;max-height:60vh;overflow-y:auto;font-size:0.9rem}.document-detail .current-file,.document-detail .hint{font-size:0.875rem;color:#64748b;margin-top:0.25rem}.monitored-sites-table .actions a,.monitored-sites-table .actions form{display:inline-block;margin-right:0.5rem}.monitored-sites-table .btn-analyze{color:#166534;font-weight:500}.monitored-sites-table .btn-delete input{background:none;border:none;color:#c00;cursor:pointer;text-decoration:underline;padding:0;font-size:inherit}.monitored-site-detail .url{margin:0.25rem 0 0.5rem;font-size:0.95rem}.monitored-site-detail .client{margin-bottom:1rem;color:#555}.monitored-site-detail .btn-analyze{padding:0.5rem 1rem;background:#166534;color:white;border:none;border-radius:6px;cursor:pointer;font-size:1rem}.monitored-site-detail .btn-analyze:hover{background:#15803d}.site-checks-table .result-row td{background:#f8fafc;padding:1rem;vertical-align:top}.result-json,.result-raw{margin:0;padding:1rem;background:#f1f5f9;border-radius:4px;font-size:0.85rem;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.description.hint{font-size:0.85rem;color:#64748b}
