*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;-webkit-font-smoothing:antialiased}
.app{max-width:540px;margin:0 auto;padding:16px;background:#f2f2f7;min-height:100vh;min-height:100dvh;padding-bottom:calc(env(safe-area-inset-bottom,16px) + 90px)}
.branding{background:#1a1a1a;border-radius:14px;padding:16px 18px;margin-bottom:14px;display:flex;align-items:center;gap:14px}
.branding-logo{width:52px;height:37px;object-fit:contain;flex-shrink:0}
.branding>div{min-width:0;flex:1}
.branding-title{font-size:18px;font-weight:600;color:#fff;line-height:1.2}
.branding-sub{font-size:13px;color:#aaa;margin-top:2px}
.branding-event{font-size:14px;color:#fff;font-weight:500;margin-top:4px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.branding-event:empty{display:none}
.branding-new-event{flex-shrink:0;align-self:flex-start;background:transparent;border:1px solid #5a2020;color:#f9a8a8;font-size:13px;font-weight:600;font-family:inherit;padding:8px 12px;border-radius:99px;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}
.branding-new-event:active{opacity:.7}
.branding-new-event.hidden{display:none}
.event-card{background:#fff;border-radius:14px;padding:14px 18px;margin-bottom:14px}
.event-name-input{font-size:20px;font-weight:600;background:transparent;border:none;outline:none;color:#111;width:100%;padding:4px 0}
.event-name-input::placeholder{color:#bbb}
.event-field-row{display:flex;align-items:center;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid #f0f0f0}
.event-field-label{font-size:15px;color:#888;flex-shrink:0;width:60px;font-weight:500}
.event-field-input{font-size:16px;background:transparent;border:none;outline:none;color:#111;flex:1;font-family:inherit;padding:4px 0}
.event-field-input::placeholder{color:#bbb}
.tabs{display:flex;gap:6px;margin:0 -16px 14px;padding:8px 16px;background:#f2f2f7;position:sticky;top:0;z-index:50}
.tab{flex:1;padding:12px 6px;font-size:15px;border:none;border-radius:10px;background:#ddd;color:#666;cursor:pointer;text-align:center;font-family:inherit;font-weight:500}
.tab.active{background:#fff;color:#111;font-weight:600;box-shadow:0 1px 4px rgba(0,0,0,.1)}
.section{display:none}.section.active{display:block}
.card{background:#fff;border-radius:14px;padding:16px 18px;margin-bottom:12px}
.card-title{font-size:13px;font-weight:700;color:#888;margin-bottom:12px;text-transform:uppercase;letter-spacing:.06em}
.row{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.row:last-child{margin-bottom:0}
input[type="text"],input[type="time"],input[type="date"],select,textarea{font-size:16px;background:#f2f2f7;border:1px solid #e0e0e0;border-radius:10px;padding:12px 14px;color:#111;outline:none;font-family:inherit}
input:focus,select:focus,textarea:focus{border-color:#666;background:#fff}
textarea{width:100%;resize:vertical;min-height:100px}
.btn{padding:12px 18px;border-radius:10px;border:1px solid #ddd;background:#fff;color:#111;font-size:16px;cursor:pointer;white-space:nowrap;font-family:inherit;font-weight:500;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.btn:active{transform:scale(.97);opacity:.85}
.btn:disabled,.btn[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}
.btn-primary:disabled,.btn-primary[disabled]{background:#f2f2f7;color:#bbb;border-color:#e0e0e0}
.btn-primary{background:#e8f0fe;color:#1a56db;border-color:#b8d0f9}
.btn-danger{background:#fde8e8;color:#b91c1c;border-color:#f9c5c5}
.btn-success{background:#dcfce7;color:#15803d;border-color:#a7f3c0}
.btn-warning{background:#fef9c3;color:#a16207;border-color:#fde68a}
.btn-sm{font-size:14px;padding:8px 14px;min-height:44px}
.badge{font-size:13px;padding:4px 10px;border-radius:99px;font-weight:600}
.badge-in{background:#dcfce7;color:#15803d}
.badge-out{background:#f2f2f7;color:#888}
.badge-break{background:#fef9c3;color:#a16207}
.staff-row{padding:14px 0;border-bottom:1px solid #f0f0f0}
.staff-row:last-child{border-bottom:none}
.staff-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.staff-name{font-size:17px;font-weight:600;color:#111}
.staff-actions{display:flex;gap:8px;align-items:center}
.staff-detail{margin-top:8px}
.time-line{font-size:14px;color:#666;margin-top:6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.break-list{margin-top:6px}
.break-item{font-size:14px;color:#666;padding:4px 0;display:flex;align-items:center;gap:8px}
.dur-pill{font-size:13px;padding:3px 9px;border-radius:99px;background:#f2f2f7;color:#888;font-weight:500}
.dur-pill-warn{background:#fde8e8;color:#b91c1c}
.dur-pill-long{background:#fef9c3;color:#a16207}
.radio-line{font-size:14px;margin-top:8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.radio-assign-row{margin-top:8px;display:flex;gap:8px;align-items:center}
.radio-badge{font-size:13px;padding:4px 10px;border-radius:99px;font-weight:600;background:#e8f0fe;color:#1a56db}
.radio-badge-ret{background:#f2f2f7;color:#888;text-decoration:line-through}
.equip-badge{font-size:13px;padding:4px 10px;border-radius:99px;font-weight:500;background:#f2f2f7;color:#555;border:1px solid #e0e0e0}
.equip-badge-ret{opacity:.5;text-decoration:line-through}
.equip-list{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px}
.equip-item{display:flex;align-items:center;gap:6px}
.equip-ret-btn{font-size:13px;padding:4px 10px;border-radius:99px;cursor:pointer;border:1px solid #ddd;background:#fff;color:#666;font-family:inherit;min-height:44px}
.edit-icon{font-size:22px;cursor:pointer;color:#1a56db;padding:6px 8px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.edit-panel{background:#f8f8f8;border:1px solid #eee;border-radius:10px;padding:14px;margin-top:10px}
.edit-panel label{font-size:14px;color:#888;display:block;margin-bottom:4px;margin-top:10px}
.edit-panel label:first-child{margin-top:0}
.edit-panel input[type="time"],.edit-panel input[type="text"]{width:100%}
.edit-panel textarea{min-height:80px}
.edit-row{display:flex;align-items:center;gap:8px;margin-top:6px}
.edit-row input{flex:1}
.staff-note{font-size:15px;color:#555;margin-top:8px;padding:10px 12px;background:#fffbeb;border-radius:10px;border-left:3px solid #fde68a;line-height:1.5}
.muted{color:#bbb;font-size:14px;cursor:pointer;padding:4px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.empty{font-size:16px;color:#bbb;text-align:center;padding:24px 0}
.flex-1{flex:1}
.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.stat{background:#fff;border-radius:12px;padding:16px}
.stat-val{font-size:30px;font-weight:700;color:#111}
.stat-label{font-size:14px;color:#888;margin-top:3px}
.log-item{font-size:15px;color:#666;padding:8px 0;border-bottom:1px solid #f2f2f7}
.log-item:last-child{border-bottom:none}
.log-time{color:#bbb;font-size:13px;margin-right:6px}
.report-box{width:100%;font-size:14px;min-height:240px;margin-top:12px;font-family:'Courier New',monospace;background:#f8f8f8;border:1px solid #e0e0e0;border-radius:10px;padding:14px;color:#111;resize:vertical;line-height:1.6}
.copy-confirm{font-size:15px;color:#15803d;text-align:center;margin-top:10px;min-height:22px;font-weight:500}
.inc-card{padding:14px 0;border-bottom:1px solid #f2f2f7}
.inc-card:last-child{border-bottom:none}
.inc-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.inc-time-label{font-size:14px;font-weight:600;color:#888}
.inc-notes{font-size:16px;color:#111;line-height:1.5}
.inc-footer{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}
.inc-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}
.form-badge{font-size:14px;padding:8px 14px;border-radius:99px;font-weight:600;cursor:pointer;border:none;font-family:inherit;min-height:44px}
.form-yes{background:#fde8e8;color:#b91c1c}
.form-no{background:#dcfce7;color:#15803d}
.del-btn{font-size:18px;color:#bbb;cursor:pointer;padding:6px 8px;background:none;border:none;font-family:inherit;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.cb-box{width:32px;height:32px;border-radius:8px;border:2px solid #ccc;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px;color:#15803d;font-weight:700;position:relative}.cb-box::before{content:"";position:absolute;top:-6px;left:-6px;right:-6px;bottom:-6px}
.cb-box.checked{background:#dcfce7;border-color:#15803d}
.toggle-label{font-size:16px;color:#111;font-weight:500}
.toggle-sub{font-size:14px;color:#888;margin-top:2px}
.intro-card{background:#f8f8f8;border-radius:14px;padding:16px 18px;margin-bottom:12px;border:1px solid #e8e8e8}
.intro-text{font-size:16px;color:#333;line-height:1.6;margin-bottom:8px}
.intro-text:last-child{margin-bottom:0}
.guide-card{background:#fffbeb;border:1px solid #fde68a;border-radius:14px;padding:16px 18px;margin-bottom:12px}
.guide-major-label{font-size:13px;font-weight:700;color:#a16207;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.guide-item{font-size:15px;color:#333;line-height:1.5;padding:6px 0;padding-left:22px;position:relative}
.guide-item::before{content:attr(data-n);position:absolute;left:0;color:#a16207;font-weight:700;font-size:14px;top:7px}
.guide-footer{font-size:15px;font-weight:700;color:#a16207;margin-top:10px;padding-top:10px;border-top:1px solid #fde68a}
.inc-edit-panel{background:#f8f8f8;border:1px solid #eee;border-radius:10px;padding:14px;margin-top:10px}
.inc-edit-panel label{font-size:14px;color:#888;display:block;margin-bottom:4px;margin-top:10px}
.inc-edit-panel label:first-child{margin-top:0}
.inc-edit-panel input[type="time"]{width:100%}
.inc-edit-panel textarea{width:100%;font-size:16px;min-height:90px;resize:vertical}
.inc-edit-cb-row{display:flex;align-items:center;gap:12px;margin-top:12px}
.notes-area{width:100%;min-height:240px;font-size:16px;line-height:1.7;resize:vertical}
.notes-hint{font-size:14px;color:#aaa;margin-top:8px}

/* Pass 2 additions */
.time-with-now{display:flex;gap:8px;align-items:center}
.time-with-now input{flex:1}
.fab{position:fixed;bottom:24px;right:16px;background:#b91c1c;color:#fff;border:none;border-radius:99px;padding:14px 20px;font-size:15px;font-weight:600;cursor:pointer;box-shadow:0 6px 16px rgba(185,28,28,.35);z-index:200;display:flex;align-items:center;gap:8px;font-family:inherit;min-height:48px}
.fab:active{transform:scale(.96);box-shadow:0 3px 8px rgba(185,28,28,.4)}
.fab.hidden{display:none}
.fab-icon{font-size:18px;line-height:1}
.fab-label{line-height:1}
.import-empty-cta{background:#e8f0fe!important;border:1px solid #b8d0f9}
.import-empty-cta .card-title{color:#1a56db}
.import-card-mini{background:transparent;padding:0;margin-bottom:8px;border:none}
.import-card-mini>.card-title{display:none}
.import-card-mini #import-collapsed button{background:transparent;border:none;color:#1a56db;padding:6px 0;font-weight:500;font-size:14px}
.import-card-mini #import-expanded{background:#fff;border-radius:14px;padding:14px 18px;margin-top:8px}
.ttl-notice{background:#fffbeb;border:1px solid #fde68a;border-radius:14px;padding:14px 16px;margin-bottom:12px;font-size:14px;color:#a16207;line-height:1.5}
.ttl-notice strong{color:#78350f}
.transfer-disabled{opacity:.4;cursor:not-allowed;pointer-events:none}
.empty-cta-btn{background:#e8f0fe;color:#1a56db;border:1px solid #b8d0f9;padding:10px 18px;border-radius:10px;font-size:15px;font-weight:500;cursor:pointer;font-family:inherit;margin-top:8px;min-height:44px}
.empty-cta-btn:active{opacity:.85}
.log-search-wrap{margin-bottom:10px}
.log-search-wrap input{width:100%;font-size:15px}
.pending-prompt{background:#fde8e8;border:1px solid #f9c5c5;border-radius:14px;padding:12px 16px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer}
.pending-prompt:active{opacity:.85}
.pending-prompt-text{font-size:15px;color:#b91c1c;font-weight:600;line-height:1.3}
.pending-prompt-sub{font-size:13px;color:#b91c1c;opacity:.8;font-weight:400;margin-top:2px}
.pending-prompt-arrow{font-size:22px;color:#b91c1c;flex-shrink:0}
.inc-card-flash{animation:flashHighlight 1.6s ease-out 1}
@keyframes flashHighlight{0%{background:#fde8e8}50%{background:#fde8e8}100%{background:transparent}}
.moved-badge{display:inline-block;font-size:13px;color:#fff;background:#1a56db;font-weight:600;padding:2px 9px;border-radius:99px;margin-left:4px}
.toast{position:fixed;bottom:96px;left:50%;transform:translateX(-50%) translateY(8px);background:#15803d;color:#fff;padding:11px 18px;border-radius:99px;font-size:15px;font-weight:500;z-index:300;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;box-shadow:0 4px 14px rgba(0,0,0,.25);max-width:calc(100% - 32px);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.incidents-help{margin-bottom:12px}
.incidents-help-header{width:100%;text-align:left;padding:12px 18px;background:#fff;border:1px solid #e8e8e8;border-radius:14px;font-size:15px;font-weight:600;color:#111;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px}
.incidents-help-header:active{opacity:.85}
.incidents-help-title{flex:1}
.incidents-help-chevron{font-size:16px;color:#888;transition:transform .2s;flex-shrink:0}
.incidents-help.collapsed .incidents-help-chevron{transform:rotate(-90deg)}
.incidents-help.collapsed .incidents-help-body{display:none}
.incidents-help-body{margin-top:8px}
.incidents-help-body .intro-card,.incidents-help-body .guide-card{margin-bottom:8px}
.incidents-help-body .intro-card:last-child,.incidents-help-body .guide-card:last-child{margin-bottom:0}
.app-footer{text-align:center;padding:14px 0 6px;margin-top:8px;font-size:14px}
.app-footer a{color:#1a56db;text-decoration:none;font-weight:500;padding:10px 14px;min-height:44px;display:inline-flex;align-items:center}
.app-footer a:active{opacity:.7}
.stepper{display:flex;gap:4px;margin-bottom:16px}
.step-dot{flex:1;height:4px;border-radius:99px;background:#e0e0e0;transition:background .2s}
.step-dot.done{background:#15803d}
.step-dot.active{background:#1a56db}
.step-section{display:none}
.step-section.active{display:block}
.step-label{font-size:18px;font-weight:700;color:#111;margin-bottom:4px}
.step-sub{font-size:14px;color:#888;margin-bottom:14px}
.field-label{font-size:14px;color:#666;font-weight:500;margin-bottom:4px;margin-top:12px;display:block}
.field-label:first-child{margin-top:0}
.step-nav{display:flex;gap:10px;margin-top:16px}
.step-nav .btn{flex:1}
.review-section{margin-top:8px}
.review-row{padding:8px 0;border-bottom:1px solid #f0f0f0;font-size:15px;color:#111}
.review-row:last-child{border-bottom:none}
.review-label{font-size:13px;color:#888;font-weight:500}
.inc-detail-grid{margin-top:8px}
.inc-detail-row{font-size:14px;color:#666;padding:3px 0}
.inc-detail-row span{color:#111;font-weight:500}
.cb-grid{margin-top:6px}
.cb-grid-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #f0f0f0;cursor:pointer}
.cb-grid-item:last-child{border-bottom:none}
.cb-grid-label{font-size:16px;color:#111}
.writing-tips{background:#f8f8f8;border:1px solid #e8e8e8;border-radius:10px;padding:12px 14px;margin-top:12px}
.writing-tips p{font-size:14px;color:#666;line-height:1.5;margin-bottom:6px}
.writing-tips p:last-child{margin-bottom:0}
.writing-tips strong{color:#444}
.staff-pos{font-size:14px;color:#1a56db;font-weight:500}
.sched-row{padding:10px 0;border-bottom:1px solid #f0f0f0}
.sched-row:last-child{border-bottom:none}
.sched-name{font-size:16px;font-weight:600;color:#111}
.sched-reassign{margin-top:8px;padding:10px;background:#f8f8f8;border:1px solid #eee;border-radius:10px}
.sched-reassign select{width:100%;font-size:16px;padding:10px 12px;border-radius:10px;border:1px solid #e0e0e0;background:#fff;font-family:inherit}
