html,body{margin:0;min-height:100%}body{font-family:Avenir Next,Segoe UI,sans-serif}*{box-sizing:border-box}app-root .placeholder-block{min-height:64px;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:#ffffff85}app-root .placeholder-empty{margin:0;color:var(--muted)}app-root .placeholder-summary{display:grid;gap:10px}app-root .placeholder-summary-header{display:flex;flex-wrap:wrap;align-items:center;gap:10px}app-root .placeholder-summary-title{font-size:1rem;font-weight:700;color:var(--ink)}app-root .placeholder-summary-file{padding:.35rem .7rem;border:1px solid rgba(46,107,82,.16);border-radius:999px;background:#dff1e6cc;color:#2b6a4f;font-size:.82rem;font-weight:600}app-root .placeholder-summary-table-wrap,app-root .table-wrap{overflow-x:auto}app-root .placeholder-summary-table-wrap{border:1px solid rgba(46,107,82,.12);border-radius:14px;background:#fffc}app-root .placeholder-summary-table{min-width:640px}app-root .table-card,app-root .empty-card{border:1px solid rgba(255,255,255,.7);border-radius:20px;background:var(--surface-strong);box-shadow:var(--shadow);overflow:hidden}app-root table{width:100%;border-collapse:collapse;min-width:480px}app-root th,app-root td{padding:13px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}app-root th{position:sticky;top:0;background:#f2f8f3;font-size:.8rem;font-weight:600;letter-spacing:.02em;color:var(--muted)}app-root .placeholder-summary-table th,app-root .placeholder-summary-table td{padding:10px 12px;border-bottom:1px solid rgba(36,76,56,.08);white-space:nowrap}app-root .placeholder-summary-table th{position:static;background:#f2f8f3f2}app-root .sort-button{display:inline-flex;align-items:center;gap:10px;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}app-root .sort-button:focus-visible{outline:2px solid rgba(46,107,82,.28);outline-offset:4px;border-radius:8px}app-root .sort-button:hover,app-root .sort-button.is-active{color:var(--ink)}app-root .sort-indicator{display:inline-flex;flex-direction:column;gap:1px;color:#6680728c;font-size:.64rem;line-height:.8}app-root .sort-indicator[data-direction=asc] span:first-child,app-root .sort-indicator[data-direction=desc] span:last-child{color:var(--accent)}app-root .table-wrap tbody tr{cursor:pointer;transition:background-color .14s ease}app-root .table-wrap tbody tr:hover{background:#2e6b520d}app-root .check-column{width:64px;text-align:center}app-root .check-column input{width:18px;height:18px;accent-color:var(--accent)}app-root .row-complete td{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1.5px;background:#2e6b520d}app-root .row-complete .check-column{text-decoration:none}app-root .error-banner{margin-bottom:16px;padding:12px 14px;border:1px solid rgba(188,83,83,.22);border-radius:14px;color:#8a1f1f;background:#fff4f4eb}app-root .empty-card,app-root .empty-state{padding:28px 20px;text-align:center;color:var(--muted)}app-root .bottom-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:24px;height:20px;padding:10px clamp(20px,3vw,36px);border-top:1px solid rgba(24,49,38,.08);background:#fff;color:var(--muted);font-size:.78rem}@media(max-width:820px){app-root .toolbar{padding:14px}app-root .import-row{align-items:stretch}app-root .bottom-bar{flex-direction:column;align-items:flex-start}}@media(max-width:640px){app-root .import-actions,app-root .actions{align-items:stretch;width:100%}app-root .actions{margin-left:0;justify-content:stretch}app-root .drive-button,app-root .save-button,app-root .clear-search-button{width:100%}app-root .search-actions{align-items:stretch}}
