:root{--primary:#1E40AF;--primary-hover:#1A3696;--primary-soft:#E8ECF7;--header:#0F172A;--header-text:#E2E8F0;--header-muted:#94A3B8;--bg:#F0F3FA;--card:#FFFFFF;--surface-sub:#F8FAFC;--border:#E2E8F0;--divider:#EEF1F6;--text:#1E293B;--text-2:#64748B;--danger:#B91C1C;--danger-bg:#FEF2F2;--warn:#B45309;--warn-bg:#FEF3C7;--success:#059669;--success-bg:#D1FAE5;--idle:#475569;--idle-bg:#F1F5F9;--radius-card:16px;--radius-lg:18px;--radius-btn:12px;--radius-pill:999px;--shadow-card:0 1px 2px rgba(15,23,42,.04), 0 4px 14px rgba(15,23,42,.05);--shadow-pop:0 12px 40px rgba(15,23,42,.2);--font-sans:"Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;--font-num:var(--font-sans);--btn-h:44px;--btn-h-lg:56px;--ink:var(--text);--muted:var(--text-2);--paper:var(--bg);--paper-raised:var(--card);--line:var(--border);--pine:var(--header);--pine-light:#334155;--brass:var(--primary);--brass-soft:var(--primary-soft);--rust:var(--danger);--rust-soft:var(--danger-bg);--amber:var(--warn);--amber-soft:var(--warn-bg);--good:var(--success);--good-soft:var(--success-bg);--plan1:#0E7490;--plan1-soft:#CFFAFE;--plan2:#6D28D9;--plan2-soft:#EDE9FE;--vacant:var(--idle);--vacant-soft:var(--idle-bg);--occupied:var(--success);--occupied-soft:var(--success-bg);--repair:var(--warn);--repair-soft:var(--warn-bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),select,textarea{border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text)}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),select{min-height:40px}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:-1px;border-color:var(--primary)}input[type=checkbox],input[type=radio]{accent-color:var(--primary)}a{color:var(--primary)}.app-shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:var(--header);color:var(--header-text);padding:28px 18px;display:flex;flex-direction:column}.brand{font-weight:700;font-size:17px;margin-bottom:4px;line-height:1.3;color:#fff}.brand-tagline{font-size:13px;color:var(--header-muted);letter-spacing:.08em;margin-bottom:28px}.nav-group-label{font-size:11.5px;color:var(--header-muted);margin:0 0 10px 4px;letter-spacing:.05em}.nav-item{display:flex;align-items:center;min-height:var(--btn-h);padding:0 14px;border-radius:var(--radius-btn);font-size:14.5px;color:var(--header-text);margin-bottom:4px;cursor:pointer;text-decoration:none}.nav-item:hover{background:#ffffff12}.nav-item.active{background:var(--primary);color:#fff;font-weight:700}.loc-nav{margin-top:8px}.loc-item{display:block;padding:11px 14px;border-radius:var(--radius-btn);margin-bottom:6px;cursor:pointer;text-decoration:none}.loc-item:hover{background:#ffffff12}.loc-item .loc-name{font-size:14.5px;font-weight:700;color:#fff;display:block}.loc-item .loc-meta{font-size:11.5px;color:var(--header-muted)}.back-link{font-size:13px;color:var(--header-muted);margin-bottom:18px;cursor:pointer;display:flex;align-items:center;gap:6px;text-decoration:none;min-height:var(--btn-h)}.loc-header{margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.12)}.loc-header .name{font-size:19px;font-weight:700;color:#fff}.loc-header .meta{font-size:12px;color:var(--header-muted);margin-top:4px}.loc-header .plan-badge{display:inline-block;margin-top:8px;font-size:11px;font-weight:700;padding:3px 10px;border-radius:var(--radius-pill)}.plan-badge.plan2{background:#ede9fe29;color:#ddd6fe}.plan-badge.mixed{background:#fef3c729;color:#fde68a}.switch-loc{margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}.switch-loc-label{font-size:11.5px;color:var(--header-muted);margin-bottom:8px}.switch-item{display:flex;align-items:center;min-height:var(--btn-h);font-size:13.5px;color:var(--header-text);padding:0 10px;border-radius:10px;cursor:pointer;text-decoration:none}.switch-item:hover{background:#ffffff12}.sidebar-foot{margin-top:auto;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:12.5px;color:var(--header-muted);line-height:1.8}.sidebar-foot strong{color:#fff;font-weight:600}.main{padding:36px 44px 60px;max-width:1680px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:24px}.topbar h1{font-weight:700;font-size:26px;margin:0 0 6px;color:var(--text)}.topbar .sub,.date{font-size:13.5px;color:var(--text-2)}.add-btn,.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--btn-h);padding:0 18px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-btn);font-size:14px;font-weight:600;cursor:pointer;font-family:var(--font-sans);text-decoration:none;transition:background .15s;white-space:nowrap}.add-btn:hover,.btn:hover{background:var(--primary-hover)}.add-btn:disabled,.btn:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{background:var(--card);color:var(--primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--primary-soft)}.btn-danger{background:var(--danger)}.btn-lg{min-height:var(--btn-h-lg);font-size:16px;border-radius:var(--radius-card);width:100%}.bottom-action{position:sticky;bottom:0;z-index:20;padding:12px 0 calc(12px + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--border);margin:0 -16px;padding-left:16px;padding-right:16px}.month-picker{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-btn);padding:0 14px;min-height:var(--btn-h);font-size:13.5px;font-weight:600}.month-picker .arrow{color:var(--text-2);cursor:pointer;font-size:14px;padding:8px}.section{margin-bottom:32px}.section-label{font-size:13px;color:var(--text-2);font-weight:700;letter-spacing:.04em;margin-bottom:14px}.panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow-x:auto;overflow-y:hidden}.card{background:var(--card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);border:1px solid var(--border)}.filters{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:12px 14px;margin-bottom:20px;flex-wrap:wrap}.chip-group{display:flex;gap:6px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;font-size:13px;font-weight:600;border-radius:var(--radius-pill);border:1px solid var(--border);color:var(--text-2);cursor:pointer;background:var(--card);-webkit-user-select:none;user-select:none}.chip:hover{border-color:var(--primary);color:var(--primary)}.chip.active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.divider-v{width:1px;height:24px;background:var(--border);margin:0 4px}.search{flex:1;min-width:160px;border:1px solid var(--border);border-radius:var(--radius-btn);padding:0 14px;min-height:var(--btn-h);font-size:14px;color:var(--text);background:var(--surface-sub)}table{width:100%;border-collapse:collapse}thead th{text-align:left;font-size:12px;color:var(--text-2);font-weight:600;padding:12px 18px;border-bottom:1px solid var(--border);background:var(--surface-sub);white-space:nowrap}tbody td{padding:14px 18px;font-size:13.5px;border-bottom:1px solid var(--divider);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:#f8fafc}.billing-table thead th{padding:12px;font-size:12px}.billing-table tbody td{padding:12px;font-size:13.5px}.room-cell{display:flex;align-items:center;gap:10px}.room-photo{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);flex-shrink:0}.room-name{font-weight:600}.badge{display:inline-block;font-size:12px;font-weight:600;padding:3px 10px;border-radius:var(--radius-pill);white-space:nowrap}.badge.plan1{background:var(--plan1-soft);color:var(--plan1)}.badge.plan2{background:var(--plan2-soft);color:var(--plan2)}.badge.vacant,.badge.idle{background:var(--idle-bg);color:var(--idle)}.badge.occupied,.badge.success{background:var(--success-bg);color:var(--success)}.badge.repair,.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.danger{background:var(--danger-bg);color:var(--danger)}.tenant-name{font-weight:500}.tenant-none{color:var(--text-2);font-style:italic}.amount{font-family:var(--font-num);font-size:13.5px;font-weight:500}.rate{font-family:var(--font-num);font-size:12.5px;color:var(--text-2)}.row-actions span{display:inline-flex;align-items:center;min-height:36px;font-size:13px;color:var(--primary);font-weight:600;cursor:pointer;margin-right:12px}.pagination{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-top:1px solid var(--border);font-size:12.5px;color:var(--text-2)}.loading,.error-box,.empty-box{padding:40px;text-align:center;color:var(--text-2);font-size:13.5px}.error-box{color:var(--danger)}.print-template-hidden{position:absolute;left:-99999px;top:0}@media print{.sidebar,.no-print{display:none!important}.print-only{display:inline!important}.app-shell{display:block!important}.main{padding:0!important;max-width:100%!important}#printable-area{display:none!important}.print-template-hidden{position:static!important;left:auto!important;display:block!important}body{background:#fff!important}.panel,.card{box-shadow:none!important}}.home-account{text-align:right;font-size:14px;color:var(--text-2);line-height:1.7}.home-account b{color:var(--primary)}.home-logout{font-size:13px;color:var(--text-2);text-decoration:underline;cursor:pointer;display:inline-flex;align-items:center;min-height:32px}.seg-pills{display:flex;gap:8px;margin:0 0 26px;flex-wrap:wrap}.seg-pill{min-height:var(--btn-h);padding:0 22px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--card);color:var(--text-2);font-size:14.5px;font-weight:600;cursor:pointer;font-family:inherit}.seg-pill:hover{border-color:var(--primary);color:var(--primary)}.seg-pill.active{background:var(--primary);border-color:var(--primary);color:#fff}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.section-head .section-label{margin:0;display:flex;align-items:center;gap:8px;font-size:15px;color:var(--text)}.section-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;border-radius:var(--radius-pill);background:var(--danger);color:#fff;font-size:12.5px;font-weight:700}.section-link{font-size:14px;font-weight:600;color:var(--primary);text-decoration:none;display:inline-flex;align-items:center;min-height:var(--btn-h)}.occ-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.occ-card{display:block;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:16px 18px;text-decoration:none;color:inherit;transition:border-color .15s}.occ-card:hover{border-color:var(--primary)}.occ-card.is-active{border:2px solid var(--primary);background:var(--primary-soft);padding:15px 17px}.occ-name{font-size:14px;font-weight:700;color:var(--text)}.occ-rate{font-size:30px;font-weight:700;color:var(--primary);line-height:1.2;margin:6px 0 10px}.occ-rate small{font-size:15px;margin-left:2px}.occ-bar{height:8px;border-radius:var(--radius-pill);background:var(--divider);overflow:hidden}.occ-bar span{display:block;height:100%;border-radius:var(--radius-pill);background:var(--primary)}.occ-meta{font-size:12.5px;color:var(--text-2);margin-top:8px}.occ-meta b{color:var(--text)}.attn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px;align-items:start}.attn-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden}.attn-head{display:flex;align-items:center;gap:12px;padding:14px 16px}.attn-title{flex:1;min-width:0;font-size:15px;font-weight:700;color:var(--text)}.attn-sub{font-size:12.5px;font-weight:400;color:var(--text-2);margin-top:2px}.attn-card.is-clear{box-shadow:none}.attn-card.is-clear .attn-title{font-size:14px}.icon-tile{width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.count-pill{min-width:32px;height:28px;padding:0 10px;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:700}.tone-danger{background:var(--danger-bg);color:var(--danger)}.tone-warn{background:var(--warn-bg);color:var(--warn)}.tone-success{background:var(--success-bg);color:var(--success)}.tone-idle{background:var(--idle-bg);color:var(--idle)}.attn-list{border-top:1px solid var(--divider)}.attn-item{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 16px;border-bottom:1px solid var(--divider);text-decoration:none;color:inherit}.attn-item:last-child{border-bottom:none}.attn-item:hover{background:var(--surface-sub)}.attn-item-main{flex:1;min-width:0;display:flex;flex-direction:column}.attn-room{font-size:14.5px;font-weight:600;color:var(--text)}.attn-who{font-size:12.5px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attn-item .badge{font-size:12.5px;padding:4px 10px}.attn-chev{color:var(--text-2);font-size:18px;line-height:1}.attn-more{display:block;width:100%;min-height:var(--btn-h);border:none;border-top:1px solid var(--divider);background:var(--surface-sub);color:var(--primary);font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}.activity-item{padding:13px 18px;border-bottom:1px solid var(--divider);font-size:13.5px;line-height:1.6}.activity-item:last-child{border-bottom:none}.activity-tag{display:inline-block;font-size:12px;font-weight:600;padding:1px 8px;border-radius:6px;background:var(--primary-soft);color:var(--primary);margin-right:6px}.activity-meta{color:var(--text-2);font-size:12px;margin-top:2px}.only-mobile{display:none!important}.tone-primary{background:var(--primary-soft);color:var(--primary)}.tone-text-primary{color:var(--primary)}.tone-text-success{color:var(--success)}.stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.stat-card{display:block;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:14px 18px;text-decoration:none;color:inherit;min-width:0}a.stat-card:hover{border-color:var(--primary)}.stat-label{font-size:13px;color:var(--text-2);font-weight:600}.stat-value{font-size:26px;font-weight:700;line-height:1.3;margin-top:4px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-value small{font-size:13px;font-weight:600}.stat-value.tone-text-primary{color:var(--primary)}.stat-value.tone-text-success{color:var(--success)}.stat-hint{font-size:12px;color:var(--text-2);margin-top:2px}.room-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:10px}.room-card{display:flex;align-items:center;gap:12px;min-height:72px;padding:12px 14px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);cursor:pointer;transition:border-color .15s}.room-card:hover{border-color:var(--primary)}.room-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.drag-handle{color:var(--text-2);cursor:grab;font-size:16px;margin-right:-4px}.room-no{min-width:52px;height:52px;padding:0 6px;border-radius:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center;text-align:center;font-size:16px;font-weight:700;line-height:1.15;word-break:break-all}.room-no-lg{min-width:64px;height:64px;font-size:20px;border-radius:16px}.room-main{flex:1;min-width:0}.room-tenant{font-size:15.5px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-tenant.is-empty{color:var(--text-2);font-weight:600}.room-sub{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:13px;color:var(--text-2);margin-top:3px}.room-chev{color:var(--text-2);font-size:20px;line-height:1}.list-count{font-size:12.5px;color:var(--text-2);text-align:center;margin:14px 0}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0f172a73;display:flex;justify-content:flex-end}.sheet{width:min(520px,100%);height:100%;background:var(--bg);display:flex;flex-direction:column;box-shadow:var(--shadow-pop);animation:sheet-in .2s ease-out}@keyframes sheet-in{0%{transform:translate(24px);opacity:.6}to{transform:none;opacity:1}}.sheet-header{display:flex;align-items:center;gap:8px;background:var(--header);color:#fff;padding:8px;padding-top:calc(8px + env(safe-area-inset-top));flex-shrink:0}.sheet-back{width:44px;height:44px;border:none;background:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:12px}.sheet-back:hover{background:#ffffff14}.sheet-back-spacer{width:44px}.sheet-title{flex:1;text-align:center;font-size:17px;font-weight:700}.sheet-body{flex:1;overflow-y:auto;padding:16px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.sheet-footer{flex-shrink:0;background:var(--card);border-top:1px solid var(--border);padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.detail-hero{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);padding:16px;margin-bottom:12px}.detail-hero-name{font-size:19px;font-weight:700;color:var(--text)}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.quick-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:84px;padding:10px 4px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);font-size:13.5px;font-weight:600;color:var(--text);text-decoration:none;cursor:pointer;font-family:inherit}.quick-btn:hover{border-color:var(--primary);color:var(--primary)}.detail-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);padding:14px 16px;margin-bottom:12px;scroll-margin-top:12px}.detail-card-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--text);margin-bottom:10px}.detail-card-sub{font-size:12.5px;font-weight:500;color:var(--text-2)}.detail-card-link{margin-left:auto;font-size:13.5px;font-weight:600;color:var(--primary);text-decoration:none}.detail-empty{font-size:13.5px;color:var(--text-2)}.detail-empty a{color:var(--primary);font-weight:600;text-decoration:none}.detail-field{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;font-size:14px;padding:6px 0}.detail-field-label{color:var(--text-2);flex-shrink:0}.detail-field-value{font-weight:500;text-align:right;min-width:0;overflow-wrap:anywhere}.detail-tel{display:inline-flex;align-items:center;gap:4px;color:var(--primary);font-weight:600;text-decoration:none}.detail-line{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13.5px;padding:9px 0;border-top:1px solid var(--divider)}.detail-card-title+.detail-line{border-top:none}.detail-line>span:first-child{min-width:0;display:flex;flex-direction:column}.detail-line-meta{font-size:12.5px;color:var(--text-2)}.bill-total{display:flex;justify-content:space-between;font-size:15.5px;font-weight:700;color:var(--text);padding:10px 0 6px;margin-top:4px;border-top:1px dashed var(--border)}.bill-status{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}.bill-status a{font-size:13.5px;font-weight:600;color:var(--primary);text-decoration:none}.detail-links{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 8px}.detail-links a,.detail-links button{display:inline-flex;align-items:center;min-height:var(--btn-h);padding:0 14px;border-radius:var(--radius-btn);background:var(--card);border:1px solid var(--border);color:var(--primary);font-size:13.5px;font-weight:600;text-decoration:none;cursor:pointer;font-family:inherit}.detail-links .is-danger{color:var(--danger)}.line-bind{padding:16px 22px;border-bottom:1px solid var(--line)}.line-bind-title{font-size:12px;color:var(--muted);font-weight:600;margin:0 0 12px}.line-bind-status{display:flex;align-items:center;gap:8px;margin-bottom:6px}.line-bind-name{font-size:14.5px;font-weight:600}.line-bind-note{font-size:12.5px;color:var(--text-2);line-height:1.6;margin-bottom:10px}.line-bind-note.is-error{color:var(--warn)}.line-bind-code{font-size:30px;font-weight:700;letter-spacing:.18em;color:var(--primary);margin:4px 0 6px;font-variant-numeric:tabular-nums}.line-bind-actions{display:flex;flex-wrap:wrap;gap:8px}.line-bind-btn{font-size:13.5px}.line-bind-card .line-bind{padding:0;border:none}.line-bind-card .line-bind-title{font-size:15px;font-weight:700;color:var(--text);margin-bottom:10px}.line-admins-hint{padding:12px 20px;font-size:12.5px;line-height:1.7;color:var(--text-2);background:var(--surface-sub);border-bottom:1px solid var(--border)}.line-admin-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 20px;border-bottom:1px solid var(--divider)}.line-admin-row:last-child{border-bottom:none}.line-admin-main{flex:1;min-width:160px}.line-admin-name{font-size:14.5px;font-weight:600}.line-admin-meta{font-size:12px;color:var(--text-2);margin-top:2px}.line-admin-toggle{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;min-height:var(--btn-h);cursor:pointer}.line-admin-toggle input{width:20px;height:20px}.line-admin-remove{color:var(--danger)}.line-admin-row.is-pending{background:var(--warn-bg)}.line-admin-code{font-weight:700;letter-spacing:.12em;color:var(--primary);font-variant-numeric:tabular-nums}.line-admin-locs{display:flex;flex-wrap:wrap;gap:6px}.line-admin-locs .chip{min-height:34px;padding:0 12px;font-size:12.5px;font-family:inherit}.line-admin-field{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--text-2);margin-bottom:10px}.line-admin-field input{max-width:280px;padding:0 12px;font-size:14px}.line-admin-new{padding:16px 20px;border-bottom:1px solid var(--border);background:var(--surface-sub)}.line-admin-new-title{font-size:14.5px;font-weight:700;margin-bottom:12px}.notify-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.notify-locs{display:flex;flex-wrap:wrap;gap:8px}.notify-count{margin-top:14px;font-size:14px;line-height:1.7}.notify-num{font-size:22px;color:var(--primary);margin:0 2px}.notify-warn{font-size:13px;color:var(--warn)}.notify-error{font-size:13.5px;color:var(--danger)}.notify-link{border:none;background:none;padding:6px 0;color:var(--primary);font-weight:600;font-size:13.5px;cursor:pointer;font-family:inherit;min-height:36px}.notify-recipients{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.notify-textarea{width:100%;padding:12px 14px;font-size:15px;line-height:1.7;resize:vertical;min-height:160px}.notify-len{text-align:right;font-size:12px;color:var(--text-2);margin-top:4px}.notify-result{padding:12px 16px;border-radius:var(--radius-btn);font-size:14px;font-weight:600;margin-bottom:12px}.notify-result.is-ok{background:var(--success-bg);color:var(--success)}.notify-result.is-error{background:var(--danger-bg);color:var(--danger)}.notify-send .btn-lg{max-width:420px}.notify-preview{position:sticky;top:20px}.line-chat{border-radius:var(--radius-card);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-card)}.line-chat-head{background:var(--header);color:#fff;font-weight:700;font-size:14px;padding:12px 16px}.line-chat-body{background:#8cabd9;padding:18px 14px 26px;min-height:220px}.line-bubble{background:#fff;border-radius:18px;padding:10px 14px;font-size:14px;line-height:1.6;white-space:pre-wrap;word-break:break-word;max-width:92%;color:#111}.notify-history-item{padding:12px 18px;border-bottom:1px solid var(--divider)}.notify-history-item:last-child{border-bottom:none}.notify-history-meta{font-size:12px;color:var(--text-2);margin-bottom:4px}.notify-history-msg{font-size:14px;white-space:pre-wrap;word-break:break-word}.billing-line-bulk{margin-left:auto;font-size:13.5px}.billing-line-btn{min-height:36px;padding:0 12px;font-size:13px}.billing-line-muted{font-size:12.5px;color:var(--text-2)}.billing-moveout-row,.billing-moveout-row td{background:#fffbeb}.billing-moveout-note{padding:10px 18px;font-size:12.5px;line-height:1.6;color:var(--warn);background:var(--warn-bg);border-top:1px solid var(--border)}.billing-flow-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 22px;border-bottom:1px solid var(--border);font-size:13.5px}.billing-flow-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:11px 22px;border-bottom:1px solid var(--divider);font-size:13.5px}.billing-flow-amounts{display:flex;gap:16px;flex-wrap:wrap}.billing-flow-row.is-excluded{color:var(--text-2)}.billing-flow-row.is-excluded .amount{text-decoration:line-through}.billing-line-sent{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.billing-line-time{font-size:11.5px;color:var(--text-2)}.billing-line-again{border:none;background:none;padding:4px 0;color:var(--primary);font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;text-decoration:underline}.repair-photos{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.repair-photos img{width:84px;height:84px;object-fit:cover;border-radius:10px;border:1px solid var(--border);display:block}.tenant-detail-header,.modal-mobile-header{display:none}.tenant-detail{min-width:0}@media (max-width: 900px){.tenant-layout{grid-template-columns:1fr!important}}@media (max-width: 768px){.app-shell{display:block}.sidebar{padding:12px 16px 10px;padding-top:calc(12px + env(safe-area-inset-top));flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px}.brand{font-size:16px;margin:0}.brand-tagline{font-size:12px;margin:0 auto 0 4px}.nav-group-label{display:none}.sub-nav,.loc-nav{display:flex;flex-wrap:wrap;gap:6px;width:100%;margin:0}.sidebar .nav-item,.loc-item{flex:1 0 calc(33.333% - 6px);justify-content:center;text-align:center;min-height:40px;padding:0 6px;font-size:13.5px;margin:0}.sidebar .nav-item:not(.active),.loc-item{background:#ffffff12}.sub-nav:has(>.nav-item:nth-child(4):last-child) .nav-item{flex-basis:calc(50% - 6px)}.loc-item{display:flex;align-items:center}.loc-item .loc-meta{display:none}.sidebar-foot{width:100%;margin:2px 0 0;padding-top:8px;line-height:1.5}.back-link{margin:0;min-height:36px}.loc-header{margin:0 auto 0 8px;padding:0;border:none}.loc-header .name{font-size:16px}.loc-header .meta,.loc-header .plan-badge,.switch-loc{display:none}.app-shell{overflow-x:clip}.main{padding:18px 16px 40px;overflow-wrap:break-word}.topbar{margin-bottom:16px;align-items:flex-start}.topbar h1{font-size:22px}.filters{padding:10px}.search{min-width:100%}.main table:not([style]),.main table:not([style]) tbody{display:block;width:100%}.main table:not([style]) thead{display:none}.main table:not([style]) tr{display:block;padding:12px 16px;border-bottom:1px solid var(--divider)}.main table:not([style]) tbody tr:last-child{border-bottom:none}.main table:not([style]) td{display:block;position:relative;border:none;padding:5px 0 5px 6.5em;min-height:28px;white-space:normal;font-size:14px;text-align:left}.main table:not([style]) td:before{content:attr(data-label);position:absolute;left:0;top:6px;width:6em;font-size:12.5px;color:var(--text-2);font-weight:500}.main table:not([style]) td:first-child{padding-left:0;font-size:15px;font-weight:600;padding-bottom:8px}.main table:not([style]) td:first-child:before,.main table:not([style]) td[data-label=""]:before{display:none}.main table:not([style]) td[data-label=""]{padding-left:0}.main table:not([style]) td.td-full,.main table:not([style]) td.empty-box{padding:24px 0;text-align:center}.pagination{flex-wrap:wrap;gap:8px}.app-shell [style*=grid-template-columns]:not(.print-template-hidden *):not([id^=move-in] *){grid-template-columns:minmax(0,1fr)!important}.app-shell [style*=grid-template-columns][style*="repeat(4"]:not(.print-template-hidden *):not([id^=move-in] *),.app-shell [style*=grid-template-columns][style*="repeat(5"]:not(.print-template-hidden *):not([id^=move-in] *){grid-template-columns:repeat(2,minmax(0,1fr))!important}.month-picker{white-space:nowrap}.home-account{font-size:13px;line-height:1.5}.seg-pills{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:20px}.seg-pill{padding:0 4px;font-size:14px}.occ-grid{gap:8px}.occ-card{padding:12px 10px}.occ-card.is-active{padding:11px 9px}.occ-name{font-size:13px}.occ-rate{font-size:24px;margin:4px 0 8px}.occ-rate small{font-size:13px}.occ-meta{font-size:11.5px}.attn-grid,.notify-layout{grid-template-columns:minmax(0,1fr)}.notify-preview{position:static;order:-1;display:none}.notify-send{position:sticky;bottom:0;z-index:20;background:var(--card);border-top:1px solid var(--border);margin:0 -16px;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.notify-send .btn-lg{max-width:none}.only-desktop{display:none!important}.only-mobile{display:block!important}.stat-row{gap:8px}.stat-card{padding:12px}.stat-label{font-size:12.5px}.stat-value{font-size:21px}.stat-value small{font-size:11.5px}.stat-hint{font-size:11px}.room-list{grid-template-columns:minmax(0,1fr);gap:8px}.room-card{padding:12px;gap:10px}.room-no{min-width:48px;height:48px;font-size:15px}.sheet{width:100%}.sheet-body{padding:12px}.quick-btn{min-height:78px;font-size:13px}.bottom-action{margin-top:16px}.tenant-detail{display:none}.tenant-detail.is-open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:var(--bg);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:0 12px calc(24px + env(safe-area-inset-bottom));animation:sheet-in .2s ease-out}.tenant-detail.is-open .tenant-detail-header{display:flex;align-items:center;gap:8px;position:sticky;top:0;z-index:2;margin:0 -12px 12px;padding:8px;padding-top:calc(8px + env(safe-area-inset-top));background:var(--header);color:#fff}.tenant-detail-header .sheet-title{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-overlay{padding:0!important;align-items:stretch!important;justify-content:stretch!important}.panel.modal-panel{width:100%!important;max-width:none!important;height:100%;max-height:none!important;border:none!important;border-radius:0!important;box-shadow:none!important;background:var(--card);padding:0 16px calc(28px + env(safe-area-inset-bottom))!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;animation:sheet-in .2s ease-out}.modal-mobile-header{display:flex;align-items:center;gap:8px;position:sticky;top:0;z-index:5;margin:0 -16px 16px;padding:8px;padding-top:calc(8px + env(safe-area-inset-top));background:var(--header);color:#fff}.modal-mobile-header .sheet-title{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell .panel[style*=width]:not(.modal-panel){max-width:calc(100vw - 24px)!important}}
