:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans CJK JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:#172238;background:#f7f9fc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--primary:#0873ed;--ink:#172238;--muted:#748197;--border:#e7edf4;--surface:#fff;--blue:#075fc7;--blue-bg:#e8f2ff;--orange:#a34c0b;--orange-bg:#fff0df;--pink:#b9295b;--pink-bg:#ffe9f0;--purple:#7540bd;--purple-bg:#f0e9ff;--green:#117952;--green-bg:#e4f6ee;--yellow:#88640b;--yellow-bg:#fff5cd;--gray:#5e6b7c;--gray-bg:#edf0f5}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.6}button{border:0;background:none}a{color:var(--primary);text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #9fcaff;outline-offset:3px}h1,h2,h3,h4,p{margin:0}h1{font-size:25px;font-weight:760;letter-spacing:-.035em;line-height:1.45}h2{font-size:18px;font-weight:730;letter-spacing:-.025em}h3{font-size:16px}small{font-size:12px}input,select,textarea{font-size:16px;color:var(--ink);width:100%;background:#fff;border:1px solid #dce4ee;border-radius:12px;padding:13px 14px;min-height:48px;max-width:100%}input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:20px;padding:0;accent-color:var(--primary);flex-shrink:0}textarea{resize:vertical;line-height:1.7}select{padding-right:24px}input::placeholder,textarea::placeholder{color:#98a3b4}input[type=date],input[type=time]{min-width:0;display:block;-webkit-appearance:none}fieldset{border:0;padding:0;margin:0}legend{padding:0;margin:0 0 12px;font-size:14px;font-weight:650}.icon{flex-shrink:0;vertical-align:middle}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 18px;border-radius:12px;font-size:14px;font-weight:700;line-height:1.4;transition:background .15s,transform .15s}.button:active{transform:scale(.985)}.primary{background:var(--primary);color:white;box-shadow:0 5px 12px #0873ed13}.secondary{background:#fff;color:var(--primary);border:1px solid #cfe0f5}.full{width:100%}.icon-button{width:44px;height:44px;min-width:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:#65738b}.icon-button:hover{background:#edf3fb}.icon-button.small{width:36px;min-width:36px}.blue-button{color:var(--primary);background:var(--blue-bg)}.text-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:4px;color:var(--primary);font-size:13px;font-weight:650;padding:6px 8px}.text-button .icon{width:18px;height:18px}.danger-text{color:#c53551!important}.disabled{background:#f0f3f8;color:#8390a3;pointer-events:none}.subtle{color:var(--muted)}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85;font-size:14px}.divider{height:1px;background:var(--border);margin:20px 0}.eyebrow{font-size:11px;letter-spacing:.1em;font-weight:700;color:#8793a7}.brand{font-weight:850;letter-spacing:-1.8px;font-size:33px;line-height:1;white-space:nowrap;color:#172238}.brand>span{color:var(--primary)}.brand small{letter-spacing:.025em;font-size:12px;font-weight:650;color:#8290a3;margin-left:9px;vertical-align:middle}.brand-button{padding:0;text-align:left}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;width:38px;height:38px;flex-shrink:0;font-size:12px;letter-spacing:-.06em;font-weight:700;border:2px solid #fff;background:#e8edf5;color:#3a516e}.avatar.sm{width:35px;height:35px}.avatar.xs{width:28px;height:28px;font-size:10px}.avatar.large{width:66px;height:66px;font-size:21px;border-width:3px}.av-0{background:#e0edfc;color:#325d92}.av-1{background:#f0e6dc;color:#805d43}.av-2{background:#e6e5f5;color:#676290}.av-3{background:#deece6;color:#41725d}.av-4{background:#f2e2ea;color:#8d5a71}.av-5{background:#e3ebed;color:#436774}.blue{--tone:var(--blue);--soft:var(--blue-bg);background:var(--soft);color:var(--tone)}.orange{--tone:var(--orange);--soft:var(--orange-bg);background:var(--soft);color:var(--tone)}.pink{--tone:var(--pink);--soft:var(--pink-bg);background:var(--soft);color:var(--tone)}.purple{--tone:var(--purple);--soft:var(--purple-bg);background:var(--soft);color:var(--tone)}.green{--tone:var(--green);--soft:var(--green-bg);background:var(--soft);color:var(--tone)}.yellow{--tone:var(--yellow);--soft:var(--yellow-bg);background:var(--soft);color:var(--tone)}.gray{--tone:var(--gray);--soft:var(--gray-bg);background:var(--soft);color:var(--tone)}.badge{display:inline-flex;font-size:11px;font-weight:700;padding:4px 9px;border-radius:6px;line-height:1.4;white-space:nowrap}.kind-icon{height:43px;width:43px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.kind-icon .icon{width:23px;height:23px}.kind-dot,.legend i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--tone);flex-shrink:0}.sync-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#30a27d;margin:0 6px 1px}.sidebar{display:none}.workspace{max-width:760px;margin:auto;min-height:100dvh}.topbar{display:flex;align-items:center;justify-content:space-between;height:68px;padding:12px 22px;background:rgba(255,255,255,.97);border-bottom:1px solid #edf1f6;position:sticky;top:0;z-index:25}.topbar-tools{display:flex;align-items:center;gap:8px}.profile-button{padding:3px;min-width:44px;min-height:44px}.bell-button{position:relative}.bell-button i{position:absolute;right:10px;top:10px;width:6px;height:6px;background:#f06180;border-radius:50%;box-shadow:0 0 0 2px #fff}.demo-banner{text-align:center;font-size:10px;font-weight:600;letter-spacing:.055em;padding:5px 10px;background:#eef3f9;color:#7b899c}.connection-banner{text-align:center;font-size:12px;padding:8px;background:#fff2d4;color:#916712}.connection-banner.offline{background:#fde8ec;color:#b3324f}.page-content{padding:25px 20px 116px;min-height:70vh}.page-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:23px}.page-title p{font-size:12px;color:var(--muted);margin-top:5px;line-height:1.6}.date-heading{display:flex;align-items:center;gap:7px;margin:2px 0 13px;min-height:34px}.date-heading h2{font-size:18px}.date-heading>.subtle{font-size:12px;margin-left:auto}.date-heading>.text-button{margin-left:auto}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:0 0 21px}.week-day{height:65px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;min-width:0}.week-day>span{font-size:11px;color:#8490a4}.week-day strong{font-size:19px;line-height:1.1;letter-spacing:-.03em}.week-day i{height:3px;width:3px;border-radius:50%;background:transparent}.week-day.is-today i{background:var(--primary)}.week-day.selected{background:var(--primary);color:white;box-shadow:0 5px 12px #0873ed25}.week-day.selected>span{color:#ddecff}.week-day.selected i{background:white}.stats-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 22px}.stat{padding:13px 14px;text-align:left;border-radius:14px;min-width:0}.stat>span{font-size:11px;font-weight:650;white-space:nowrap}.stat>strong{display:block;font-size:28px;line-height:1.25;font-weight:760;margin-top:4px;letter-spacing:-.05em}.stat>strong>small{margin-left:4px;font-size:11px;font-weight:500;letter-spacing:0;opacity:.7}.next-card{background:#edf5ff;border:1px solid #dceaff;border-radius:17px;padding:14px 17px 16px;margin-bottom:23px}.next-kicker{display:flex;align-items:center;font-size:10px;color:#3678c4;font-weight:700;gap:6px;letter-spacing:.035em}.next-kicker>span:last-child{margin-left:auto;font-variant-numeric:tabular-nums}.pulse-dot{width:5px;height:5px;background:var(--primary);border-radius:50%}.next-card>button{padding:9px 0 0;display:flex;width:100%;justify-content:space-between;align-items:center;text-align:left}.next-card h2{font-size:17px}.next-card p{font-size:12px;margin:3px 0;color:#526b8d}.next-card small{color:#718bab;font-size:11px;display:flex;align-items:center;gap:3px}.next-card small .icon{height:13px;width:13px}.next-arrow{height:34px;width:34px;background:white;color:var(--primary);border-radius:50%;display:grid;place-items:center}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 14px;scroll-margin-top:85px}.section-heading>span{font-size:12px;color:var(--muted)}.section-heading h2{font-size:16px}.event-list{background:white;border:1px solid var(--border);border-radius:17px;overflow:hidden}.event-card{position:relative;border-bottom:1px solid #edf1f6}.event-card:last-child{border-bottom:0}.event-main{display:flex;align-items:center;width:100%;text-align:left;padding:17px 12px;gap:11px;min-height:98px}.time-col{display:flex;flex-direction:column;gap:5px;min-width:40px;align-self:center}.time-col strong{font-size:13px;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.time-col span{font-size:10px;color:#97a1b0;font-variant-numeric:tabular-nums}.event-copy{min-width:0;flex:1}.event-title{display:flex;align-items:center;gap:7px;justify-content:space-between}.event-title strong{font-size:14px}.event-title .badge{font-size:9px;padding:2px 6px}.event-copy p{font-size:12px;color:#63718a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:4px 0}.event-copy>small{font-size:10px;color:#8b97a8;display:flex;align-items:center;gap:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-copy>small .icon{width:12px;height:12px}.event-main>.chevron{width:15px;height:15px;color:#9aa6b7}.row-phone{position:absolute;right:13px;bottom:9px;min-width:36px;min-height:36px;background:#eff6ff;border-radius:10px;display:grid;place-items:center}.event-card:has(.row-phone) .event-main>.chevron{visibility:hidden}.event-card:has(.row-phone) .event-copy{padding-right:14px}.team-shortcut{display:flex;align-items:center;gap:13px;width:100%;padding:18px 14px;margin-top:19px;text-align:left;border:1px dashed #cad9ed;border-radius:15px;background:#f1f6fc}.team-shortcut>div{flex:1}.team-shortcut strong{font-size:13px}.team-shortcut small{display:block;font-size:11px;color:#8391a5;margin-top:5px}.team-shortcut>.icon{width:17px;color:#7993b4}.icon-circle{height:35px;width:35px;display:grid;place-items:center;background:white;color:var(--primary);border-radius:50%}.bottom-nav{height:calc(76px + env(safe-area-inset-bottom));padding:7px 12px calc(7px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr);align-items:center;background:#ffffffef;backdrop-filter:blur(16px);border-top:1px solid #e7edf5;position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:760px;z-index:30}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#8995a8;min-height:55px;font-size:10px;font-weight:600}.nav-item .icon{height:22px;width:22px}.nav-item.active{color:var(--primary)}.nav-add{width:51px;height:51px;background:var(--primary);color:white;border-radius:17px;display:flex;align-items:center;justify-content:center;justify-self:center;box-shadow:0 5px 13px #0873ed2b}.nav-add .icon{height:27px;width:27px}.segmented{display:flex;background:#eaf0f7;border-radius:11px;padding:4px;gap:3px;width:100%;min-height:45px}.segmented>button{display:flex;flex:1;min-height:37px;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:650;color:#7a89a0;border-radius:8px;white-space:nowrap}.segmented .icon{width:16px;height:16px}.segmented>button.active{background:white;color:var(--primary);box-shadow:0 2px 5px #1e42670d}.filter-row{display:flex;gap:7px;margin:14px 0 18px}.filter-row select{min-width:0;padding:10px 7px;min-height:42px;border-radius:9px;font-size:11px;font-weight:600;flex:1}.filter-row select:first-child{flex:.9}.timeline-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;font-weight:650;margin-bottom:11px}.timeline-meta small{font-size:9px;font-weight:500;color:#8a99ae}.timeline-meta .subtle{font-size:10px;font-weight:500}.timeline-scroll{overflow:auto;border:1px solid #e2e9f2;border-radius:14px;background:white;overscroll-behavior-x:contain;scrollbar-width:thin}.timeline-canvas{width:calc(89px + var(--timeline-width));position:relative}.timeline-header{display:flex;background:#f7fafd;height:40px;position:sticky;top:0;z-index:14;border-bottom:1px solid #e8edf4}.staff-label{width:89px;min-width:89px;position:sticky;left:0;z-index:12;background:#fff;border-right:1px solid #e3ebf5;box-shadow:3px 0 5px #243b5505}.timeline-header .staff-label{background:#f7fafd;font-size:10px;display:flex;align-items:center;padding-left:14px;color:#8a99ae;z-index:15}.hours{position:relative;width:var(--timeline-width);height:40px}.hours>span{position:absolute;top:12px;font-size:10px;font-weight:600;color:#8796aa;transform:translateX(5px)}.timeline-row{display:flex;border-bottom:1px solid #eaf0f6}.timeline-row:last-child{border-bottom:0}.timeline-row>.staff-label{padding:10px 7px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;flex-shrink:0}.staff-label>.avatar{width:29px;height:29px;font-size:9px;margin-bottom:1px}.staff-label>strong{font-size:12px;line-height:1.3}.staff-label>small{font-size:9px;color:#8a98ac;line-height:1.3}.time-track{width:var(--timeline-width);height:100%;position:relative;background:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--hour-width) - 1px),#eaf0f7 calc(var(--hour-width) - 1px),#eaf0f7 var(--hour-width))}.time-block{position:absolute;height:60px;border-radius:8px;padding:6px 7px;text-align:left;display:flex;flex-direction:column;gap:3px;overflow:hidden;border-left:3px solid color-mix(in srgb,var(--tone) 55%,transparent);min-height:44px}.time-block>.block-time{font-size:9px;opacity:.8;font-weight:600;line-height:1.2}.time-block>strong{font-size:11px;white-space:nowrap;font-weight:700;line-height:1.4}.time-block>span:last-child{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.time-block.tentative{border:1px dashed var(--tone);border-left-width:3px}.time-block.absence{background:repeating-linear-gradient(135deg,#f1f3f7,#f1f3f7 6px,#e9edf3 6px,#e9edf3 12px);color:#6f7c8f}.completed{opacity:.56}.now-line{position:absolute;top:0;bottom:0;background:#f27685;width:1px;pointer-events:none;z-index:10}.all-day-line{display:flex;position:absolute;top:6px;left:4px;gap:6px;height:29px}.all-day-chip{font-size:11px;padding:6px 10px;border-radius:6px;min-height:29px}.legend{display:flex;flex-wrap:wrap;gap:10px 14px;margin:19px 0 10px}.legend>span{display:flex;align-items:center;gap:5px;font-size:10px;color:#8190a5}.legend i{width:6px;height:6px}.footnote{font-size:10px;color:#92a0b2;line-height:1.8;margin:14px 0;overflow-wrap:anywhere}.staff-cards{display:grid;gap:13px}.staff-card{background:white;border:1px solid var(--border);border-radius:15px;overflow:hidden}.staff-card-heading{display:flex;width:100%;align-items:center;padding:14px;gap:10px;text-align:left;border-bottom:1px solid #edf1f6}.staff-card-heading>div{flex:1}.staff-card-heading strong{font-size:14px}.staff-card-heading small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.staff-card-heading>span:not(.avatar){font-size:11px;color:#9aa4b3}.staff-card-heading>.icon{height:14px;width:14px;color:#99a8bb}.compact-event{display:flex;width:100%;align-items:center;gap:12px;padding:11px 15px;min-height:57px;text-align:left}.compact-event>span{font-size:12px;min-width:37px;color:#718198}.compact-event>div{display:flex;align-items:center;justify-content:space-between;flex:1;gap:10px;min-width:0}.compact-event strong{font-size:12px}.compact-event small{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.no-events{font-size:12px;color:#8e9aab;padding:16px}.month-card{background:white;border:1px solid var(--border);border-radius:15px;padding:8px}.month-heading{display:flex;align-items:center;justify-content:space-between;padding:4px}.month-heading h2{font-size:16px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;gap:4px}.weekday{font-size:10px;color:#8592a7;padding:10px 0}.month-day{min-height:63px;border-radius:10px;padding:7px 2px;display:flex;align-items:center;flex-direction:column;gap:4px;min-width:0}.month-day strong{font-size:14px}.month-day>span{font-size:8px;height:10px;color:#8c9aac}.month-day>div{display:flex;gap:3px;min-height:4px}.month-day .kind-dot{width:4px;height:4px}.month-day.selected{background:var(--primary);color:white}.month-day.selected>span{color:#d5e9ff}.month-day.muted{opacity:.35}.search-box{display:flex;align-items:center;gap:10px;background:#edf2f8;padding:0 13px;border-radius:12px;margin-bottom:18px}.search-box>.icon{color:#9aa7b9;width:19px}.search-box>input{padding:13px 0;border:0;background:none;font-size:13px;min-width:0;outline:none}.chips{display:flex;gap:7px;overflow:auto;scrollbar-width:none;padding-bottom:3px;margin-bottom:16px}.chip{font-size:12px;min-height:38px;white-space:nowrap;border-radius:9px;padding:9px 13px;background:#edf2f8;color:#8190a6;font-weight:600}.chip.active{background:var(--primary);color:white}.list-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:14px 0;font-size:11px;color:#7d8ba1}.inline-check{display:flex;align-items:center;gap:6px;font-size:11px;white-space:nowrap}.inline-check input{width:16px;height:16px;min-height:16px}.case-list{display:grid;gap:12px}.case-card{display:flex;gap:12px;background:white;border:1px solid var(--border);border-radius:15px;padding:16px 13px;min-width:0;width:100%;text-align:left}.case-car{width:50px;height:50px;border-radius:13px;display:grid;place-items:center;flex-shrink:0}.case-car .icon{height:27px;width:27px}.case-card-copy{flex:1;min-width:0}.case-card-copy>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:5px}.case-card-copy strong{font-size:14px;white-space:nowrap}.case-card-copy strong small{font-weight:400;font-size:10px}.case-card-copy .badge{font-size:9px;padding:4px 6px}.case-card-copy p{font-size:12px;margin:6px 0;color:#62738b}.case-card-copy>small{font-size:10px;color:#94a0b2}.case-card-footer{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:12px;padding-top:10px;border-top:1px solid #eff3f8}.case-card-footer>span{font-size:9px;color:#8c9aaf}.case-card-footer>b{font-size:13px;color:#3b536f;white-space:nowrap}.back-heading{display:flex;align-items:center;justify-content:space-between;margin-top:-13px;margin-bottom:12px}.case-detail-heading{margin-bottom:21px}.case-detail-heading>div{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px}.case-detail-heading h1{font-size:24px}.case-detail-heading h1 small{font-size:14px;font-weight:500}.case-detail-heading p{display:flex;align-items:center;gap:7px;font-size:13px;color:#6f8097;margin-top:9px}.case-detail-heading p .icon{height:18px;width:18px}.contact-actions{display:flex;gap:8px;margin-bottom:20px}.contact-actions .button{flex:1;font-size:12px;padding:11px 7px;white-space:nowrap}.contact-actions .icon{height:17px;width:17px}.detail-tabs{margin-bottom:19px}.detail-card{background:white;border:1px solid var(--border);border-radius:15px;padding:18px;margin:16px 0}.detail-card h2{font-size:14px;margin-bottom:15px}.detail-card h3{font-size:13px;margin-bottom:11px}.data-list{margin:0}.data-list>div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #edf2f7;font-size:12px}.data-list>div:last-child{border-bottom:0;padding-bottom:0}.data-list dt{color:#8b97a9;flex-shrink:0}.data-list dd{margin:0;text-align:right;font-weight:600;overflow-wrap:anywhere}.data-list dd>small{display:block;color:#99a4b4;font-size:9px;margin-top:4px;font-weight:400}.data-list .amount-highlight dd{font-size:18px;color:var(--primary);letter-spacing:-.035em}.data-list .amount-highlight{align-items:center}.detail-card .prewrap{font-size:13px}.follow-next{background:#fff7db;border:1px solid #f7ebbd;border-radius:14px;padding:16px;color:#886a1a;margin:16px 0}.follow-next>span{font-size:11px;display:flex;align-items:center;gap:5px}.follow-next>span .icon{height:15px;width:15px}.follow-next strong{display:block;margin-top:10px;font-size:14px}.follow-next p{font-size:12px;margin-top:7px}.follow-next .text-button{padding-left:0;min-height:35px;color:#8c6a0e}.detail-bottom{position:sticky;bottom:92px;z-index:15;margin-top:23px;padding:4px 0}.history-list{display:grid;gap:14px}.history-card{background:white;border:1px solid var(--border);border-radius:14px;padding:16px}.history-top{display:flex;align-items:center;gap:7px;margin-bottom:13px}.history-top>strong{font-size:11px}.history-top>small{font-size:9px;color:#8999ac;margin-left:auto}.history-card>p{font-size:13px;margin-top:11px}.history-card>small{font-size:11px;display:block;color:#7d8da3;margin-top:10px}.history-money{font-size:13px;font-weight:700;color:var(--primary);margin-top:12px}.audit-panel{font-size:12px;margin-top:20px;color:#7b8da4}.audit-panel>summary{padding:16px 0;cursor:pointer;min-height:44px}.audit-entry{padding:14px;border-bottom:1px solid var(--border);background:#fff;overflow-wrap:anywhere}.audit-entry>strong{display:block;font-size:11px}.audit-entry>small{display:block;margin-top:4px;font-size:9px}.audit-entry p{font-size:10px;line-height:1.7;margin-top:4px}.overdue-banner{display:flex;align-items:center;gap:12px;border-radius:14px;background:#ffeef1;padding:16px;margin-bottom:20px;color:#b74c63}.overdue-banner>div{min-width:0}.overdue-banner strong{display:block;font-size:12px}.overdue-banner small{display:block;margin-top:5px;font-size:10px;line-height:1.5;color:#b58291}.follow-list{display:grid;gap:15px}.follow-card{background:white;border:1px solid var(--border);border-radius:16px;padding:17px}.follow-head,.follow-head>div{display:flex;align-items:center;gap:11px}.follow-head{justify-content:space-between;gap:5px}.follow-head strong{font-size:14px}.follow-head p{font-size:11px;color:#7f8fa5;margin-top:5px}.follow-head .badge{font-size:9px}.follow-note{color:#728399;font-size:12px;line-height:1.7;margin:15px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.follow-meta{display:flex;align-items:center;justify-content:space-between;gap:5px;padding-bottom:14px;font-size:10px;color:#8293aa}.follow-meta span{display:flex;align-items:center;gap:5px}.follow-meta .icon{width:13px;height:13px}.follow-actions{display:flex;gap:9px}.follow-actions .button{flex:1;font-size:12px;min-height:43px;padding:10px}.follow-actions .icon{width:17px;height:17px}.notice-list{background:white;border:1px solid var(--border);border-radius:16px;overflow:hidden}.notification{display:flex;width:100%;align-items:flex-start;text-align:left;padding:18px 15px;gap:12px;border-bottom:1px solid var(--border);position:relative}.notification:last-child{border:0}.notification>div{flex:1;min-width:0}.notification strong{font-size:12px;line-height:1.7}.notification p{font-size:11px;color:#8292a6;margin-top:5px}.notification small{font-size:9px;color:#9aa8ba;display:block;margin-top:4px}.notification.unread{background:#f9fcff}.unread-dot{width:6px;height:6px;border-radius:50%;background:var(--primary);flex-shrink:0;margin-top:9px}.profile-card{text-align:center;background:white;border:1px solid var(--border);border-radius:18px;padding:27px 18px;margin-bottom:20px}.profile-card h2{margin:12px 0 7px;font-size:19px}.profile-card p{font-size:12px;color:#8293a8}.profile-card>span:last-child{display:inline-block;font-size:11px;margin-top:12px;background:#f0f4f9;color:#8b9aaf;border-radius:7px;padding:6px 10px}.menu-list{background:white;border:1px solid var(--border);border-radius:16px;overflow:hidden}.menu-list>button{display:flex;align-items:center;gap:13px;min-height:65px;width:100%;font-size:13px;text-align:left;padding:16px;border-bottom:1px solid var(--border)}.menu-list>button:last-child{border:0}.menu-list>button>.icon:first-child{color:#7589a4;width:20px;height:20px}.menu-list>button>.icon:last-child{margin-left:auto;width:15px;color:#9faabc}.app-info{text-align:center;margin:35px 0 10px}.app-info .brand{font-size:26px}.app-info p{font-size:10px;color:#9ca8b8;margin:9px 0 17px}.app-info>small{font-size:10px;line-height:1.8;color:#9ca8b8}.empty-state{text-align:center;padding:37px 16px;color:#8998ae}.empty-state>.icon{height:38px;width:38px;stroke-width:1.2;margin-bottom:15px;color:#b7c5d8}.empty-state h3{font-size:14px;font-weight:600;color:#6e829e;line-height:1.7}.empty-state p{font-size:11px;margin-top:9px;line-height:1.8}.loading-line{text-align:center;padding:40px 15px;font-size:13px;color:#8a9cb5}.initial-loader{display:flex;min-height:100vh;align-items:center;justify-content:center;flex-direction:column;font-size:42px;letter-spacing:-2px;font-weight:800}.initial-loader>span{display:none}.initial-loader small{display:block;font-weight:400;font-size:12px;color:#7c91aa;letter-spacing:0;margin-top:20px}.field{display:block;margin:0 0 20px;min-width:0}.field>span{display:block;font-size:12px;font-weight:650;margin-bottom:9px;color:#52647d;line-height:1.6}.field em,legend em{font-size:9px;color:#9aa7b8;font-style:normal;font-weight:400;margin-left:4px}.form-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-two .field input{padding-left:10px;padding-right:6px;font-size:15px}.form-error{background:#fff0f3;color:#b53b58;border:1px solid #ffd5df;border-radius:11px;padding:12px 14px;line-height:1.7;font-size:12px;margin-bottom:18px;white-space:pre-wrap}.form-footer{position:sticky;bottom:0;background:linear-gradient(transparent,#fff 16%);padding:17px 0 max(6px,env(safe-area-inset-bottom));margin-top:15px;z-index:5}.form-hint{font-size:11px;color:#8c9bb0;line-height:1.9;margin:12px 0}.notice{display:flex;align-items:center;gap:10px;border-radius:11px;padding:13px;font-size:12px;line-height:1.8;margin-bottom:20px}.notice.info{background:#edf5ff;color:#5380b4}.notice.warning{background:#fff2df;color:#976923}.notice .icon{height:20px;width:20px}.toggle-field{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:52px;margin:0 0 20px;padding:14px;background:#f5f8fc;border:1px solid #ebf0f6;border-radius:11px}.toggle-field>span{font-size:12px;font-weight:600}.toggle-field small{display:block;font-size:10px;color:#8a99ae;line-height:1.7;margin-top:5px;font-weight:400}.toggle-field input{width:20px;height:20px}.warning-toggle{background:#fff8f0;border-color:#f8eadd}.kind-fieldset{margin-bottom:22px}.kind-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.kind-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:80px;border-radius:13px;font-size:11px;font-weight:650}.kind-radio{position:relative;cursor:pointer;border-radius:12px;overflow:hidden}.kind-radio>input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer}.kind-radio>span{min-height:73px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;font-size:10px;font-weight:600;border-radius:12px;border:2px solid transparent}.kind-radio>input:checked+span{border-color:var(--tone);box-shadow:inset 0 0 0 2px white}.kind-radio>input:focus-visible+span{outline:3px solid #9fcaff;outline-offset:-3px}.kind-radio .icon{width:22px;height:22px}.staff-picker{margin:0 0 20px}.staff-picker>div{display:flex;flex-wrap:wrap;gap:8px}.staff-choice{display:flex;align-items:center;gap:7px;border:1px solid #e4eaf3;border-radius:9px;padding:9px;font-size:11px;cursor:pointer;min-height:46px;background:white;flex:1 1 45%}.staff-choice input{width:15px;height:15px;min-height:15px}.staff-choice:has(input:checked){background:#f0f6ff;border-color:#9fc8fc}.staff-choice>.avatar{display:none}.staff-choice small{display:none}.staff-choice span:not(.avatar){white-space:nowrap}.modal-open{overflow:hidden}.modal-backdrop{position:fixed;inset:0;background:#14264266;backdrop-filter:blur(4px);z-index:100;animation:fade-in .15s ease}.sheet{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:620px;max-height:93dvh;background:white;border-radius:24px 24px 0 0;z-index:101;box-shadow:0 -10px 40px #14264212;display:flex;flex-direction:column;animation:sheet-in .2s ease}.sheet-grip{height:4px;width:32px;border-radius:4px;background:#dce4ee;margin:9px auto 0;flex-shrink:0}.sheet-header{display:flex;align-items:center;justify-content:space-between;padding:9px 20px 12px;border-bottom:1px solid #edf1f6;flex-shrink:0}.sheet-header h2{font-size:17px}.sheet-body{padding:21px 20px max(22px,env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain;min-height:0}.sheet-intro{font-size:12px;color:#7c8da6;margin-bottom:18px}.modal-actions{display:flex;gap:10px;margin:22px 0 5px}.modal-actions>.button{flex:1;min-width:0}.event-detail-top{display:flex;align-items:center;gap:12px;margin:0 0 24px}.event-detail-top>div{flex:1;min-width:0}.event-detail-top h2{font-size:17px;margin-top:5px;line-height:1.6;overflow-wrap:anywhere}.event-detail-top .badge{font-size:10px}.detail-info-row{display:flex;align-items:center;gap:16px;padding:15px 0;border-top:1px solid var(--border);font-size:13px}.detail-info-row>.icon{width:21px;height:21px;color:#889bb4}.detail-info-row p{margin-top:5px;color:#7e90a8;font-size:12px}.detail-info-row strong{font-size:13px;line-height:1.7}.text-link{display:flex;align-items:center;gap:5px;font-size:12px;min-height:38px}.text-link .icon{width:14px;height:14px}.assigned-people{display:flex;gap:10px;flex-wrap:wrap}.assigned-people>span{display:flex;align-items:center;gap:6px;font-size:12px}.linked-case{display:flex;align-items:center;text-align:left;gap:11px;width:100%;background:#f3f7fc;border:1px solid #e3edf9;border-radius:12px;padding:16px;margin:17px 0}.linked-case>div{flex:1;min-width:0}.linked-case strong{display:block;font-size:12px;margin-top:5px;line-height:1.6}.linked-case small{font-size:10px;color:#94a3b8}.linked-case>.icon{height:19px;width:19px;color:#7fa0ca}.linked-case>.icon:last-child{height:14px;width:14px}.record-subject{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f4f8fe;padding:15px;border-radius:12px;margin-bottom:22px}.record-subject strong{font-size:14px}.record-subject span{font-size:11px;color:#7e92ac}.next-fields{padding:17px 14px 0;border:1px solid #e3edf9;border-radius:13px;background:#f8fbff;margin-bottom:20px}.staff-profile{text-align:center;margin-bottom:20px}.staff-profile h2{margin-top:12px}.staff-profile p{font-size:12px;color:#8495ad;margin:7px 0 15px}.staff-profile+.section-heading{margin-top:25px}.sheet .event-list{margin-bottom:22px}.confirm-message{font-size:14px;line-height:1.9;white-space:pre-wrap}.success-icon,.install-icon{height:62px;width:62px;display:grid;place-items:center;margin:5px auto 23px;border-radius:20px;color:#219767;background:#e7f8ef}.success-icon .icon,.install-icon .icon{height:32px;width:32px}.sheet-body>p{font-size:13px;line-height:1.9;color:#6d809b;margin-bottom:17px}.sheet-body>h3{margin-bottom:16px}.credentials{background:#f3f7fc;border:1px solid #e0eafa;border-radius:13px;padding:17px}.credentials dt{font-size:11px;color:#8597af;margin:4px 0 9px}.credentials dd{font-size:17px;margin:0 0 18px;font-family:ui-monospace,monospace;font-weight:700;overflow-wrap:anywhere}.credentials dd:last-child{margin-bottom:0}.welcome-change{text-align:center;padding:50px 10px}.welcome-change>.icon{width:44px;height:44px;color:#8cafd7;margin-bottom:25px}.welcome-change h1{font-size:22px}.welcome-change p{font-size:13px;color:#8c9eb5;margin:20px 0 28px;line-height:1.8}.welcome-change>.button{display:flex;margin:10px auto}.admin-list{display:grid;gap:14px;margin-bottom:22px}.account-card{background:#fff;border:1px solid var(--border);border-radius:15px;padding:15px}.account-card>div:first-child{display:flex;align-items:center;gap:11px}.account-card>div:first-child>div{flex:1;min-width:0}.account-card strong{font-size:14px}.account-card small{display:block;font-size:10px;color:#8a9cb2;margin-top:5px}.account-actions{display:flex;justify-content:space-between;padding-top:11px;margin-top:10px;border-top:1px solid var(--border);gap:5px}.account-actions .text-button{font-size:11px;padding:5px 0;min-height:40px}.account-card .badge{font-size:10px}.login-layout{min-height:100dvh;background:white;display:flex}.login-story{display:none}.login-panel{max-width:420px;width:100%;padding:52px 27px 32px;margin:auto}.mobile-login-brand{margin-bottom:55px}.mobile-login-brand .brand{font-size:39px}.login-panel>.eyebrow{font-size:10px;letter-spacing:.15em;color:#92a5be}.login-panel>h1{margin-top:13px;font-size:27px;letter-spacing:-.055em}.login-panel>p{font-size:12px;color:#92a0b3;line-height:1.8;margin-top:12px;margin-bottom:31px}.login-panel form .field{margin-bottom:23px}.login-panel form>.button{margin-top:5px;min-height:51px}.login-panel p.login-help{font-size:10px;line-height:1.8;color:#9aa9bc;margin:20px 0 28px}.demo-login{background:#f5f9ff;border:1px solid #e2edfc;border-radius:13px;padding:17px;margin:25px 0 14px}.demo-login strong{font-size:11px;color:#7791b3}.demo-login p{font-size:10px;color:#9aaabe;margin:7px 0 15px}.demo-login .button{font-size:12px;min-height:42px;padding:10px}.demo-login small{font-size:9px;color:#98aac1;display:block;text-align:center;margin-top:11px;font-family:ui-monospace,monospace}.login-switch{font-size:11px;color:#8ba0bb;margin-top:10px}.login-footer{display:flex;align-items:center;justify-content:center;gap:6px;font-size:9px;color:#afbac9;line-height:1.8;margin-top:31px}.login-footer .icon{width:12px;height:12px}.toast{position:fixed;left:50%;bottom:calc(100px + env(safe-area-inset-bottom));transform:translateX(-50%);background:#203752;color:#fff;padding:13px 20px;border-radius:12px;max-width:calc(100vw - 32px);width:max-content;font-size:12px;line-height:1.8;box-shadow:0 6px 30px #183e632b;z-index:200;animation:fade-in .2s ease}.toast.error{background:#ac3c58}.toast~.toast{bottom:calc(160px + env(safe-area-inset-bottom))}[hidden]{display:none!important}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes sheet-in{from{transform:translate(-50%,25px);opacity:.5}to{transform:translate(-50%,0);opacity:1}}
@media(min-width:600px){.page-content{padding:30px 32px 120px}.topbar{padding-left:33px;padding-right:33px}.event-main{padding:18px 19px}.stats-row{gap:15px}.week-strip{gap:12px}.week-day{height:70px}.kind-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.staff-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.case-list,.follow-list{grid-template-columns:repeat(2,minmax(0,1fr))}.case-card{padding:15px 12px}.case-car{display:none}.sheet{bottom:50%;transform:translate(-50%,50%);border-radius:22px;max-height:88dvh;animation:none}.sheet-grip{display:none}.sheet-header{padding-top:17px}.sheet-body{padding:23px 26px}.staff-picker>div{gap:9px}.event-list .event-copy>small{font-size:11px}.stat{padding:17px 20px}.staff-label>.avatar{width:34px;height:34px;font-size:10px}.event-card .kind-icon{height:46px;width:46px}.case-detail-heading h1{font-size:28px}.case-page .detail-bottom{position:static}.sheet .kind-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sheet .event-list .event-main{padding:16px 12px}}
@media(min-width:1024px){.workspace{max-width:none;margin-left:239px}.topbar{height:79px;padding:16px 44px}.topbar .brand-button{visibility:hidden}.page-content{max-width:1060px;margin:0 auto;padding:37px 44px 80px}.page-title{margin-bottom:30px}.page-title h1{font-size:28px}.page-title p{font-size:13px}.topbar-tools .profile-button{display:flex;align-items:center}.sidebar{width:239px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;background:#fff;border-right:1px solid var(--border);padding:34px 20px;z-index:35}.sidebar>.brand{margin:4px 9px 43px;font-size:36px}.workspace-label{font-size:9px;letter-spacing:.13em;color:#a7b2c3;font-weight:650;margin:0 12px 16px}.side-link{display:flex;align-items:center;gap:13px;width:100%;min-height:49px;padding:13px 15px;border-radius:11px;text-align:left;font-size:13px;font-weight:550;color:#8495ad;margin-bottom:6px}.side-link>.icon{height:19px;width:19px}.side-link.active{background:#eaf3ff;color:var(--primary);font-weight:700}.sidebar>.button{margin-top:26px;min-height:46px;font-size:12px}.sidebar-bottom{margin-top:auto;padding:20px 10px 0;font-size:10px;color:#8297b3;line-height:1.8}.sidebar-bottom p{font-size:10px;color:#b1bdcd;margin-top:7px}.bottom-nav{display:none}.team-page{max-width:none}.team-page .week-strip{max-width:560px}.team-page .date-heading{max-width:560px}.team-controls{width:300px}.team-page .filter-row{max-width:560px;position:absolute;right:44px;top:332px;width:41%}.timeline-header{height:46px}.hours{height:46px}.hours>span{top:15px;font-size:11px}.timeline-canvas{width:calc(132px + var(--timeline-width))}.staff-label{width:132px;min-width:132px}.timeline-row>.staff-label{padding:10px 15px;display:grid;grid-template-columns:34px 1fr;grid-template-rows:20px 18px;column-gap:9px;align-content:center;text-align:left;justify-content:start}.staff-label>.avatar{grid-row:1 / 3;width:34px;height:34px}.staff-label>strong{font-size:13px;align-self:end}.staff-label>small{font-size:10px;align-self:start}.timeline-header .staff-label{font-size:11px;padding-left:18px}.timeline-scroll{margin-top:15px;border-radius:16px}.timeline-meta{margin-top:26px}.time-block>strong{font-size:12px}.time-block>span:last-child{font-size:11px}.event-main{padding:19px 22px;gap:18px}.time-col{min-width:57px}.time-col strong{font-size:15px}.event-copy p{font-size:13px}.event-title{justify-content:flex-start;gap:15px}.event-copy>small{margin-top:7px}.case-list{grid-template-columns:repeat(2,minmax(0,1fr))}.case-car{display:grid}.case-card{padding:21px 18px}.case-card-copy strong{font-size:16px}.case-card-copy p{font-size:13px;margin-top:8px}.case-card-copy .badge{font-size:10px}.case-card-footer>b{font-size:15px}.case-card-footer>span{font-size:10px}.stats-row{max-width:620px}.next-card{max-width:620px}.page-content:not(.team-page) .week-strip{max-width:620px}.team-shortcut{max-width:620px}.follow-card{padding:23px}.follow-actions>.button{min-height:47px}.case-page{max-width:830px}.login-panel{max-width:480px;padding:50px 36px}.login-story{width:47%;background:#f0f6fe;display:flex;flex-direction:column;padding:62px 8vw 60px 6vw}.login-story>div:first-child{display:flex;flex-direction:column;gap:24px}.login-story>div:first-child>span:last-child{font-size:9px;letter-spacing:.16em;color:#98adc9}.login-story>h1{font-size:43px;line-height:1.65;letter-spacing:-.055em;margin:85px 0 25px}.login-story>p{font-size:15px;color:#839cbb;line-height:2}.login-story>small{font-size:11px;color:#9cafc8;margin-top:auto;padding-top:40px;letter-spacing:.14em}.mobile-login-brand{display:none}.story-visual{margin-top:45px;display:flex;flex-direction:column;gap:15px}.story-visual>span{display:flex;align-items:center;gap:15px;background:white;border-radius:13px;padding:20px;font-size:12px;color:#7993b5;box-shadow:0 8px 30px #6c8fb712;white-space:nowrap}.story-visual>span:nth-child(2){margin-left:25px}.story-visual>span:nth-child(3){margin-left:10px}.story-visual .icon{color:#779ed1}.issuer-workspace{margin:auto;max-width:740px}.issuer-workspace .topbar .brand-button{visibility:visible}.issuer-workspace .page-content{padding:35px}.issuer-workspace .topbar{border:0}.toast{bottom:35px}.staff-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.month-card{max-width:750px}.month-day{min-height:75px}.month-day>span{font-size:10px}.month-day strong{font-size:16px}.account-card>div:first-child>div strong{font-size:15px}.admin-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:365px){.page-content{padding-left:14px;padding-right:14px}.topbar{padding-left:16px;padding-right:16px}.brand{font-size:30px}.week-strip{gap:3px}.week-day{height:60px}.page-title h1{font-size:23px}.page-title p{font-size:11px}.stat{padding:12px}.stat>span{font-size:10px}.event-main{gap:7px;padding-left:9px;padding-right:9px}.kind-icon{width:38px;height:38px}.event-copy p{font-size:11px}.event-title strong{font-size:13px}.case-card-copy strong{font-size:12px}.case-car{width:40px;height:40px}.case-card-copy .badge{font-size:8px}.sheet-body{padding-left:16px;padding-right:16px}.record-subject{display:block}.record-subject span{display:block;margin-top:5px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(min-width:1024px){.team-controls{display:inline-flex;vertical-align:middle}.team-page .filter-row{position:static;display:inline-flex;width:calc(100% - 325px);max-width:560px;margin:0 0 0 20px;vertical-align:middle}.timeline-meta{margin-top:24px}}

/* Mobile-first density: useful schedule information before decoration. */
.time-block{height:56px;padding-top:5px;padding-bottom:5px}
.search-box>input{font-size:16px}.form-two .field input{font-size:16px}
@media(max-width:1023px){
 .topbar{height:60px}.page-content{padding-top:20px}.page-title{margin-bottom:17px}
 .home-page .week-strip,.home-page .next-card{display:none}
 .home-page .date-heading{margin-bottom:13px}.home-page .stats-row{margin-bottom:17px}
 .home-page .stat{padding:12px 14px}.home-page .stat>strong{font-size:26px}
 .home-page .section-heading{margin:16px 0 12px}.home-page .event-main{min-height:84px;padding-top:13px;padding-bottom:13px}
 .team-page{padding-top:15px}.team-page .page-title{margin-bottom:7px}.team-page .page-title p{display:none}
 .team-page .date-heading{margin-bottom:8px}.team-page .date-heading h2{font-size:16px}
 .team-page .week-strip{margin-bottom:13px}.team-page .week-day{height:50px;border-radius:12px;gap:3px}
 .team-page .week-day>strong{font-size:17px}.team-page .week-day>span{font-size:10px}
 .team-page .filter-row{margin-top:10px;margin-bottom:12px}.team-page .timeline-meta{margin-bottom:9px}
 .timeline-scroll{max-height:calc(100dvh - 375px);min-height:260px}
 .timeline-row>.staff-label{padding:5px;gap:2px}.staff-label>.avatar{width:24px;height:24px;font-size:8px}
 .staff-label>strong{font-size:11px}.staff-label>small{font-size:8px}
}

.time-block.short-block{padding:6px 2px;border-left-width:2px;align-items:center}.time-block.short-block>.block-time{font-size:8px;letter-spacing:-.04em;line-height:1.25}.short-symbol{display:flex;align-items:center;justify-content:center;margin-top:5px}.short-symbol .icon{height:17px;width:17px}

/* Profile photos: all existing avatar surfaces share this component. */
.avatar {position:relative;overflow:hidden;flex-shrink:0}
.avatar img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.avatar-initials {position:relative;z-index:0}
.person-inline {display:inline-flex;align-items:center;gap:8px}
.profile-photo-button {border:0;background:none;position:relative;padding:0;display:inline-flex;align-items:center;justify-content:center;min-width:88px;min-height:88px;cursor:pointer}
.profile-photo-button .avatar.large {width:88px;height:88px;font-size:27px}
.photo-camera {position:absolute;right:0;bottom:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:var(--blue,#087bff);color:#fff;border:3px solid #fff;border-radius:50%}
.photo-camera .icon {width:16px;height:16px}
.photo-change-label {display:block;margin:10px auto 0;min-height:44px}
.photo-person {display:flex;align-items:center;gap:12px;margin-bottom:16px}
.photo-person strong,.photo-person small {display:block}
.photo-person small {color:#71809a;margin-top:3px;font-size:13px}
.photo-intro {font-size:15px;line-height:1.7;margin:0 0 20px;color:#53647b}
.photo-empty {text-align:center;padding:12px 0 4px}
.photo-empty .avatar.large {width:104px;height:104px;font-size:28px}
.photo-empty p {font-size:13px;line-height:1.6;color:#71809a;margin:16px 0}
.avatar-crop-frame {width:min(256px,100%);aspect-ratio:1;margin:0 auto;border-radius:50%;overflow:hidden;background:#eef3fa;outline:3px solid #087bff;outline-offset:4px}
#avatar-canvas {display:block;width:100%;height:100%;border-radius:50%;touch-action:none;cursor:grab}
#avatar-canvas:active {cursor:grabbing}
#avatar-canvas:focus-visible {outline:4px solid #153957;outline-offset:-5px}
.crop-help {text-align:center;color:#71809a;font-size:13px;margin:16px 0 20px}
.photo-zoom {display:flex;align-items:center;gap:12px}
.photo-zoom input[type=range] {width:100%;min-height:44px;accent-color:#087bff;padding:0}
.photo-zoom>span {font-size:22px;color:#71809a}
.photo-file-label {position:relative;cursor:pointer;overflow:hidden;margin-top:8px;min-height:48px}
.photo-file-label input {position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.photo-file-label:focus-within {outline:3px solid #087bff;outline-offset:3px}
.photo-hint {font-size:12px;line-height:1.7;color:#71809a;text-align:center;margin:12px 0 18px}
.photo-privacy {display:flex;align-items:flex-start;gap:8px;padding:12px;border-radius:12px;background:#f0f6ff;font-size:12px;line-height:1.6;color:#46617f}
.photo-privacy .icon {width:16px;min-width:16px;height:16px;margin-top:2px}
.photo-form .form-footer {margin-top:12px}

/* v0.3 — login and the four-field account management page only. */
.password-input{position:relative;width:100%;display:flex;align-items:center;min-width:0}
.password-input>input{width:100%;padding-right:52px!important;min-height:52px;font-size:16px!important}
.password-toggle{position:absolute;right:4px;top:4px;bottom:4px;width:44px;min-height:44px;display:grid;place-items:center;color:#7789a1;border-radius:9px;background:transparent}
.password-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
.password-toggle .icon{width:21px;height:21px}
.login-layout{background:#fff}
.login-panel{padding:34px 26px 24px;max-width:440px;margin:auto}
.mobile-login-brand{margin:0 0 38px;display:flex;align-items:baseline;gap:14px}
.mobile-login-brand .brand{font-size:38px}
.mobile-login-brand>span{font-size:9px;font-weight:700;letter-spacing:.13em;color:#91a2b8}
.login-mode-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#edf5ff;color:var(--primary);margin-bottom:22px}
.login-mode-icon .icon{width:27px;height:27px}
.login-panel>.eyebrow{color:#667b96;font-size:10px;font-weight:700}
.login-panel>h1{font-size:28px;margin-top:10px;letter-spacing:-.04em}
.login-panel>p{font-size:13px;line-height:1.9;color:#6e8099;margin:12px 0 26px}
.login-panel .field>span{font-size:14px;color:#344762;margin-bottom:10px}
.login-panel .field input{font-size:16px;min-height:52px;background:#f9fbfe;border-color:#dbe4ef;border-radius:12px}
.login-panel form .field{margin-bottom:20px}
.login-panel form>.button{margin-top:8px;font-size:16px;min-height:54px;border-radius:12px;box-shadow:0 6px 18px #006cff1f}
.login-panel p.login-help{color:#72849c;font-size:12px;margin:22px 0 18px;text-align:center}
.login-switch{font-size:12px;font-weight:600;min-height:44px;color:#3f6fba;margin-top:0}
.login-footer{margin-top:17px;font-size:11px;color:#8092a9}
.login-footer .icon{width:14px;height:14px}
.demo-login{padding:0;border:0;background:transparent;margin:24px 0 0;color:#73859f}
.demo-login summary{font-size:11px;text-align:center;cursor:pointer;padding:10px;border-top:1px solid #edf1f6}
.demo-login[open]{background:#f6f9fe;padding:10px;border-radius:12px}
.demo-login[open] summary{border:0}
.demo-login p{font-size:11px;line-height:1.7}
.issuer-workspace{background:#f6f8fc;min-height:100dvh}
.issuer-workspace .topbar{background:#fff;border-bottom:1px solid #e8edf5}
.issuer-workspace .page-content{padding-bottom:40px}
.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 26px}
.admin-heading .eyebrow{font-size:9px;font-weight:750;letter-spacing:.11em;color:#7187a5;display:block;margin-bottom:11px}
.admin-heading h1{font-size:24px;line-height:1.4;letter-spacing:-.05em;margin:0}
.admin-heading p{font-size:12px;color:#6d809a;line-height:1.8;margin-top:8px}
.admin-heading .icon-button{background:#fff;border:1px solid #e1e8f2;flex-shrink:0}
.admin-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:10px;margin-bottom:26px}
.admin-toolbar .search-box{margin:0;min-height:48px;padding:0 12px;background:white;border:1px solid #dfe7f2;border-radius:11px;min-width:0}
.admin-toolbar .search-box>.icon{width:18px;flex-shrink:0}
.admin-toolbar .search-box>input{font-size:14px;padding:0;min-width:0;width:100%;color:#253a55}
.admin-toolbar>select{font-size:12px;color:#3e5575;border:1px solid #dfe7f2;background:#fff;min-height:48px;border-radius:11px;padding:0 9px;min-width:0}
.admin-toolbar>.button{grid-column:1/-1;min-height:50px;font-size:14px;border-radius:11px}
.admin-list-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 13px}
.admin-list-title h2{font-size:14px;display:flex;align-items:center;gap:9px}
.admin-list-title h2>span{font-size:12px;background:#e7effb;color:#315c94;padding:4px 8px;border-radius:6px;font-weight:700}
.admin-list-title>small{display:flex;gap:4px;align-items:center;font-size:10px;color:#8090a8}
.admin-list-title>small .icon{height:13px;width:13px}
.account-table-heading{display:none}
.admin-list{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:17px}
.account-record{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'name store' 'id id' 'password password' 'actions actions';gap:0;padding:17px 16px 12px;border:1px solid #e0e7f0;border-radius:15px;box-shadow:0 2px 5px #19375803}
.account-record>.account-store-cell{grid-area:store;display:flex!important;align-items:center;justify-content:flex-end;gap:4px;font-size:11px;color:#57708e;align-self:center}
.account-store-cell>.icon{width:15px;height:15px}
.account-name-cell{grid-area:name;display:flex;align-items:center;gap:10px;min-width:0}
.account-name-cell>div{min-width:0}
.account-name-cell strong{font-size:15px;color:#243955;line-height:1.6;display:block;overflow-wrap:anywhere}
.account-name-cell .badge{margin-top:4px;display:inline-flex}
.account-name-cell .avatar{width:36px;height:36px;flex-shrink:0}
.account-record>.account-id-cell,.account-record>.account-password-cell{display:flex;align-items:center;min-width:0;gap:9px;min-height:45px}
.account-id-cell{grid-area:id;margin-top:13px;padding-top:8px;border-top:1px solid #edf1f6}
.account-id-cell code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;font-weight:650;letter-spacing:.03em;color:#344d70;overflow-wrap:anywhere;min-width:0}
.account-record .mobile-cell-label{display:block;color:#71839b;font-size:12px;width:78px;min-width:78px}
.copy-id-button{width:40px;height:40px;min-width:40px;display:grid;place-items:center;color:#8295ad;border-radius:9px;margin-left:auto}
.copy-id-button .icon{width:17px;height:17px}
.account-password-cell{grid-area:password}
.masked-password{font-size:17px;letter-spacing:.12em;color:#8b9cb2;line-height:1}
.account-password-cell .text-button{font-size:12px;min-height:44px;margin-left:auto;white-space:nowrap;padding:7px 4px;color:var(--primary)}
.account-record>.account-actions{grid-area:actions;display:flex;gap:12px;align-items:center;justify-content:space-between;margin:7px 0 0;padding:12px 0 0;border-top:1px solid #edf1f6}
.account-actions>.button.secondary{font-size:12px;min-height:42px;min-width:108px;padding:7px 14px;border-radius:9px;background:#f8faff;border-color:#e1e9f5;color:#4b678c}
.account-actions>.button.secondary .icon{width:15px;height:15px}
.account-record .account-actions>.text-button{min-height:44px;padding:6px 4px;font-size:11px}
.account-security-note{display:flex;align-items:flex-start;gap:7px;color:#7e8fa7;font-size:11px;line-height:1.9;padding:4px}
.account-security-note .icon{width:14px;height:14px;margin-top:4px;flex-shrink:0}
.admin-bottom{margin-top:16px;text-align:center}
.admin-bottom .text-button{font-size:12px;color:#6a81a0;min-height:44px}
.account-form .field{margin-bottom:18px}
.account-form .field>span{font-size:14px;color:#354b68;margin-bottom:9px}
.account-form .field>span small{font-size:11px;font-weight:400;margin-left:5px;color:#7d8fa7}
.account-form .field input{min-height:52px;font-size:16px;border-radius:11px;background:#fafcff;border-color:#dce5f1}
.account-form-intro{font-size:13px;line-height:1.8;color:#73859d;margin:0 0 22px}
.password-options{display:flex;align-items:center;justify-content:space-between;margin-top:-12px;margin-bottom:9px;gap:15px}
.password-options>span{font-size:11px;color:#8696aa}
.password-options .text-button{font-size:12px;min-height:44px;padding:6px 3px;color:var(--primary)}
.password-options .icon{width:15px;height:15px}
.account-password-note{font-size:11px;line-height:1.9;color:#768ba5;background:#f3f7fd;border-radius:10px;padding:12px;margin:0}
.account-form .form-footer{margin-top:23px}
.account-form .form-footer>.button{font-size:15px;min-height:52px;border-radius:11px}
.reset-person{display:flex;gap:12px;align-items:center;background:#f5f8fd;padding:16px;border-radius:12px;margin-bottom:24px}
.reset-person strong{display:block;font-size:16px;margin-bottom:6px}
.reset-person small{font-size:12px;color:#7b8fa8}
.credential-heading{text-align:center;font-size:17px;margin-bottom:15px}
.credentials{background:#f7faff;padding:15px 17px;margin:0 0 17px}
.credentials>div{display:flex;align-items:center;gap:10px;min-height:46px;flex-wrap:wrap}
.credentials dt{font-size:12px;min-width:88px;margin:0;color:#71839c}
.credentials dd{font-size:15px;margin:0!important;flex:1;font-family:inherit;min-width:0}
.credentials dd.credential-id{font-family:ui-monospace,SFMono-Regular,monospace;letter-spacing:.035em}
.credentials>div:last-child{display:block;padding-top:9px}
.credentials>div:last-child dt{margin-bottom:8px}
.credentials .password-input>input{background:#fff;font-family:ui-monospace,SFMono-Regular,monospace;min-height:52px;border:1px solid #dce5f1;border-radius:9px;padding-left:12px}
@media(min-width:1024px){
 .login-panel{padding:46px 36px;max-width:460px}.mobile-login-brand{display:none}.login-mode-icon{margin-bottom:24px}
 .issuer-workspace{max-width:1240px;margin:0 auto}.issuer-workspace .page-content{max-width:none;padding:36px 44px 55px}.issuer-workspace .topbar{padding:20px 44px}
 .admin-heading h1{font-size:29px}.admin-heading p{font-size:13px}.admin-heading{margin-bottom:30px}
 .admin-toolbar{grid-template-columns:minmax(240px,1fr) 185px 180px;gap:12px;margin-bottom:31px}.admin-toolbar>.button{grid-column:auto}.admin-toolbar .search-box>input{font-size:15px}.admin-toolbar>select{font-size:13px}
 .account-table-heading{display:grid;grid-template-columns:125px minmax(170px,1.2fr) minmax(150px,1fr) 158px 175px;gap:16px;padding:14px 20px;background:#edf2f8;border-radius:12px 12px 0 0;font-size:12px;font-weight:650;color:#7789a2;border:1px solid #dfe7f1;border-bottom:0}
 .admin-list{display:block;border:1px solid #dfe7f1;border-radius:0 0 12px 12px;overflow:hidden}
 .account-record{display:grid;grid-template-columns:125px minmax(170px,1.2fr) minmax(150px,1fr) 158px 175px;grid-template-areas:'store name id password actions';gap:16px;align-items:center;padding:18px 20px;border:0;border-radius:0;box-shadow:none;border-bottom:1px solid #edf1f6;min-height:85px}
 .account-record:last-child{border-bottom:0}.account-record>.account-store-cell{justify-content:flex-start;font-size:12px}.account-name-cell strong{font-size:14px}.account-record .mobile-cell-label{display:none}.account-id-cell{margin:0;padding:0;border:0}.account-id-cell code{font-size:12px}.copy-id-button{height:36px;width:32px;min-width:32px;margin-left:0}.account-password-cell{gap:5px!important}.masked-password{font-size:15px}.account-password-cell .text-button{font-size:11px;margin-left:0}
 .account-record>.account-actions{border:0;margin:0;padding:0;gap:8px}.account-actions>.button.secondary{min-width:73px;padding:7px 11px}.account-record .account-actions>.text-button{font-size:11px}
 .admin-list-title h2{font-size:16px}.admin-list-title>small{font-size:11px}
}
@media(max-width:365px){.login-panel{padding:26px 21px 20px}.mobile-login-brand{margin-bottom:25px}.login-mode-icon{margin-bottom:17px}.admin-heading h1{font-size:22px}.admin-toolbar{grid-template-columns:minmax(0,1fr) 123px}.admin-toolbar .search-box>input{font-size:12px}.account-record{padding:15px 13px 10px}.account-name-cell strong{font-size:14px}.account-store-cell>span{font-size:10px}}
.mobile-login-brand>.brand{color:#17233d;letter-spacing:-.055em}

/* 1.0: touch-first finishing; timetable deliberately scrolls rather than shrinking text. */
.timeline-quick{display:flex;align-items:center;gap:6px}.timeline-quick .text-button{min-height:44px;padding:4px 8px;font-size:12px}
.timeline-meta>span{flex-wrap:wrap}.timeline-meta small{font-size:11px}
.unplanned-section{margin-top:28px}.unplanned-card{display:flex;align-items:center;gap:12px;padding:16px;background:white;border:1px solid var(--border);border-radius:14px;margin-top:10px}
.unplanned-card>button:first-child{flex:1;text-align:left;min-width:0}.unplanned-card strong,.unplanned-card span{display:block}.unplanned-card strong{font-size:14px}.unplanned-card span{font-size:12px;color:var(--muted);margin-top:5px}.unplanned-card .button{font-size:12px;white-space:nowrap}
input,textarea,select{scroll-margin-top:90px}.time-block:focus-visible{z-index:5}.sheet-body{overscroll-behavior:contain}
@media(max-width:600px){
 .team-page .week-strip{margin-bottom:8px}.team-page .week-day{min-height:44px}
 .team-page .page-title h1{font-size:23px}.team-page .filter-row select{min-height:44px;font-size:12px;padding-left:10px;padding-right:23px}
 .team-page .segmented>button{min-height:44px}.timeline-row .staff-label>strong{font-size:12px}.timeline-row .staff-label>small{font-size:10px}
 .timeline-row .staff-label>.avatar{width:28px;height:28px;font-size:10px}.timeline-scroll{max-height:calc(100dvh - 360px);min-height:280px}
 .time-block.short-block>.block-time{font-size:10px;letter-spacing:-.04em}.timeline-quick .icon-button{min-width:44px;min-height:44px}
 .team-page .timeline-meta{gap:5px}.team-page .timeline-meta>span{font-size:12px}
 .form-two{min-width:0}.form-two .field{min-width:0}.form-two input{min-width:0;max-width:100%}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
