@import"https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@500;700;900&family=Noto+Sans+TC:wght@400;500;700&family=Roboto+Mono:wght@400;500;700&display=swap";.liff-theme{--bg-blueprint: #16283d;--blueprint-line: rgba(111, 168, 201, .1);--paper: #ede6d3;--paper-dim: #e1d8be;--paper-line: #cfc3a2;--stamp-red: #a63a2e;--ledger-gold: #b8923f;--ink: #26221b;--muted: #8c9ba5;--muted-dark: #7a6f58;--success: #3c7a5e;--font-display: "Noto Serif TC", serif;--font-body: "Noto Sans TC", sans-serif;--font-mono: "Roboto Mono", monospace;background:var(--bg-blueprint);background-image:linear-gradient(var(--blueprint-line) 1px,transparent 1px),linear-gradient(90deg,var(--blueprint-line) 1px,transparent 1px);background-size:28px 28px;font-family:var(--font-body);color:var(--ink)}.liff-theme .app-header{background:var(--bg-blueprint);border-bottom:1px solid var(--blueprint-line)}.liff-theme .app-header__brand{font-family:var(--font-display)}.liff-theme .app-header__nav{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.liff-theme .app-header__nav a{white-space:nowrap}.liff-theme .app-main{max-width:480px}.liff-theme .page,.liff-theme .app-main{background:var(--paper);border-radius:1.4rem;border:1px solid var(--paper-line);padding:1.1rem 1.2rem;box-shadow:0 20px 40px #00000059}.liff-theme .page h1{font-family:var(--font-display);color:var(--ink);font-size:1.3rem}.liff-theme .card,.liff-theme .approval-card,.liff-theme .add-user-form{background:var(--paper-dim);border:1px solid var(--paper-line);border-radius:1rem;color:var(--ink)}.liff-theme .stat-grid__item{background:var(--paper-dim);border:1px solid var(--paper-line);border-radius:.85rem}.liff-theme .stat-grid__value{font-family:var(--font-mono);color:var(--ink)}.liff-theme .stat-grid__label,.liff-theme .hint{color:var(--muted-dark)}.liff-theme button{font-family:var(--font-body);border-radius:.7rem;border:1px solid var(--paper-line);background:var(--paper-dim);color:var(--ink)}.liff-theme button:hover{background:var(--paper-line)}.liff-theme button[type=submit],.liff-theme .btn--approve{background:var(--stamp-red);border-color:var(--stamp-red);color:var(--paper);font-weight:700}.liff-theme .btn--reject,.liff-theme .btn--danger{background:transparent;border-color:var(--stamp-red);color:var(--stamp-red)}.liff-theme .btn--return{background:transparent;border-color:var(--ledger-gold);color:var(--ledger-gold)}.liff-theme .status-badge--success{background:var(--success)}.liff-theme .status-badge--danger{background:var(--stamp-red)}.liff-theme .status-badge--pending,.liff-theme .status-badge--warning{background:var(--ledger-gold);color:var(--ink)}.liff-theme .status-badge--info,.liff-theme .status-badge--neutral{background:var(--bg-blueprint)}.liff-theme table.specs-table th{background:var(--paper-line);color:var(--ink)}.liff-theme table.specs-table th,.liff-theme table.specs-table td{border-color:var(--paper-line)}.liff-theme .total-line,.liff-theme .detail-grid dd{font-family:var(--font-mono)}.liff-theme a{color:var(--stamp-red)}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Microsoft JhengHei,system-ui,sans-serif;background:#f4f5f7;color:#1f2430}a{color:#2757c6}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:.75rem 1.5rem;background:#1f2b45;color:#fff}.app-header a{color:#fff;text-decoration:none}.app-header__brand{font-weight:700;font-size:1.1rem;margin-right:1rem}.app-header__nav{display:flex;gap:1rem;flex:1}.app-header__nav a.active{text-decoration:underline}.app-header__user{background:#ffffff14;padding:.5rem .75rem;border-radius:6px}.app-main{flex:1;padding:1.5rem;max-width:1000px;width:100%;margin:0 auto}.page h1{margin-top:0}.card{background:#fff;border:1px solid #dde1e8;border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.25rem}.detail-grid{display:grid;grid-template-columns:10rem 1fr;gap:.35rem 1rem;margin:0}.detail-grid dt{font-weight:600;color:#555}.detail-grid dd{margin:0}.order-form fieldset{border:1px solid #dde1e8;border-radius:8px;margin-bottom:1rem;padding:1rem}.order-form label,.add-user-form label{display:block;margin-bottom:.75rem;font-weight:600;font-size:.9rem}.order-form input,.order-form select,.order-form textarea,.add-user-form input,.add-user-form select{display:block;width:100%;margin-top:.25rem;padding:.4rem .5rem;border:1px solid #c6ccd6;border-radius:4px;font:inherit}.checkbox-label{display:flex!important;align-items:center;gap:.5rem;font-weight:500!important}.checkbox-label input{width:auto!important}table.specs-table{width:100%;border-collapse:collapse;margin-bottom:.75rem}table.specs-table th,table.specs-table td{border:1px solid #e2e5eb;padding:.4rem .55rem;text-align:left}table.specs-table th{background:#f0f2f6}.total-line{text-align:right;font-size:1.05rem;padding-top:.25rem}.status-badge{display:inline-block;padding:.15rem .6rem;border-radius:999px;font-size:.8rem;font-weight:700;color:#fff}.status-badge--neutral{background:#6b7280}.status-badge--pending{background:#d97706}.status-badge--success{background:#15803d}.status-badge--danger{background:#b91c1c}.status-badge--warning{background:#a16207}.status-badge--info{background:#1d4ed8}.error-banner{background:#fdecea;border:1px solid #f2b8b5;color:#a11e1e;padding:.6rem .85rem;border-radius:6px;margin:.5rem 0;white-space:pre-wrap}.warning-banner{background:#fff7e6;border:1px solid #f2d38a;color:#7a5300;padding:.6rem .85rem;border-radius:6px;margin:.5rem 0}.success-banner{background:#ecfdf3;border:1px solid #86efac;color:#15803d;padding:.6rem .85rem;border-radius:6px;margin:.5rem 0}.error-list{color:#a11e1e;background:#fdecea;border:1px solid #f2b8b5;border-radius:6px;padding:.6rem .85rem .6rem 1.6rem;margin:.5rem 0}.hint{color:#5b6472;font-size:.85rem}button{font:inherit;cursor:pointer;border:1px solid #c6ccd6;background:#f0f2f6;border-radius:5px;padding:.4rem .85rem}button:hover{background:#e4e8f0}button:disabled{opacity:.6;cursor:not-allowed}.link-button{border:none;background:none;color:#2757c6;text-decoration:underline;padding:0}.btn--approve{background:#dcfce7;border-color:#86efac}.btn--return{background:#fef3c7;border-color:#fcd34d}.btn--reject,.btn--danger{background:#fee2e2;border-color:#fca5a5}.action-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-start}.chip-list{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:.5rem 0}.chip{display:inline-flex;align-items:center;gap:.35rem;background:#eef1f6;border:1px solid #c6ccd6;border-radius:999px;padding:.2rem .4rem .2rem .75rem;font-size:.85rem}.chip__remove{border:none;background:none;color:#a11e1e;font-size:1rem;line-height:1;padding:0 .35rem;border-radius:999px}.chip__remove:hover{background:#fee2e2}.confirm-action__panel,.approval-actions__panel{margin-top:.5rem;display:flex;flex-direction:column;gap:.5rem;max-width:24rem}.confirm-action__panel textarea,.approval-actions__panel textarea{width:100%;font:inherit;padding:.4rem;border:1px solid #c6ccd6;border-radius:4px}.approval-actions__panel-buttons,.approval-actions__buttons{display:flex;gap:.5rem}.user-switcher{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem}.user-switcher label{display:flex;align-items:center;gap:.5rem}.user-switcher select{color:#1f2430}.user-switcher__meta{display:flex;gap:.75rem;flex-wrap:wrap;font-size:.78rem;opacity:.9}.add-user-form{background:#fff;color:#1f2430;padding:.75rem;border-radius:6px;margin-top:.4rem;max-width:22rem}.error-text{color:#b91c1c;font-size:.8rem}.scope-picker{margin:.75rem 0}.scope-picker__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.3rem;margin:.5rem 0}.approval-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.approval-card{background:#fff;border:1px solid #dde1e8;border-radius:8px;padding:.85rem 1rem}.approval-card__header{display:flex;align-items:center;gap:.75rem;margin-bottom:.35rem}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.6rem;margin:.5rem 0}.stat-grid__item{background:#f7f8fb;border:1px solid #e2e5eb;border-radius:6px;padding:.5rem .7rem}.stat-grid__label{font-size:.78rem;color:#5b6472}.stat-grid__value{font-size:1.2rem;font-weight:700}.unit-floor-group{margin-bottom:1.25rem}.unit-floor-group h3{margin-bottom:.5rem;padding-bottom:.25rem;border-bottom:1px solid #dde1e8}.budget-bar{display:flex;align-items:center;gap:.5rem;min-width:8rem}.budget-bar__track{flex:1;height:.55rem;background:#e2e5eb;border-radius:999px;overflow:hidden}.budget-bar__fill{height:100%;border-radius:999px}.budget-bar__fill--approved{background:#1d4ed8}.budget-bar__fill--paid{background:#15803d}.budget-bar__fill--committed{background:#b8902e}.budget-bar__label{font-size:.78rem;color:#5b6472;white-space:nowrap;min-width:3.2rem;text-align:right}.budget-category-card{border-radius:10px;overflow:hidden;border:1px solid #d8cca0;margin-bottom:.85rem}.budget-category-card__header{background:#16223a;color:#f2ecd9;padding:.6rem .9rem;display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;flex-wrap:wrap}.budget-category-card__header strong{font-size:.95rem}.budget-category-card__header span{font-size:.8rem;opacity:.85}.budget-category-card__body{background:#fffdf7;padding:.75rem .9rem}.budget-category-card__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;text-align:center;margin-bottom:.6rem}.budget-category-card__stat-value{font-family:Roboto Mono,ui-monospace,monospace;font-weight:700;font-size:.9rem;color:#1c2436}.budget-category-card__stat-value--committed{color:#8a7024}.budget-category-card__stat-value--paid{color:#a5342c}.budget-category-card__stat-label{font-size:.7rem;color:#5b6472;margin-top:.1rem}.budget-category-card__amount-edit{display:flex;align-items:center;gap:.4rem;margin-top:.5rem;font-size:.8rem}.budget-category-card__amount-edit input{width:8rem}.budget-item-row{padding:.6rem 0;border-top:1px solid #ece3c8}.budget-item-row__toggle{display:block;width:100%;background:none;border:none;padding:0;text-align:left;font:inherit;color:inherit;cursor:default}.budget-item-row__toggle:not(:disabled){cursor:pointer}.budget-item-row__name{display:flex;align-items:center;gap:.35rem;font-size:.85rem;font-weight:600;color:#1c2436;margin-bottom:.35rem}.budget-item-row__chevron{font-size:.7rem;color:#8a7024}.budget-item-row__orders{margin:.4rem 0 .2rem;padding:.5rem .6rem;background:#f5f0dd;border-radius:6px;display:flex;flex-direction:column;gap:.35rem}.budget-item-row__order{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;gap:.5rem}.subtype-manage-list{display:flex;flex-direction:column;gap:.4rem}.subtype-manage-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.subtype-manage-row__name{min-width:5rem;font-size:.85rem}.subtype-manage-row__amount{width:7rem}
