:root{--bg: #f3f1eb;--ink: #0a0a0a;--muted: #666;--surface: #ffffff;--border: #d8d4cb;--accent: #111111;--lime: #d8ff4f;--danger: #e85d4c;--radius: 10px;--font-display: "Barlow Condensed", "Helvetica Neue", sans-serif;--font-body: "Noto Sans JP", system-ui, sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);line-height:1.5}a{color:var(--accent)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--ink);color:#f5f5f5;flex-wrap:wrap}.topbar h1{margin:0;font-family:var(--font-display);font-size:1.35rem;letter-spacing:.04em}.topbar-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.user-badge{display:inline-flex;align-items:center;gap:8px;max-width:min(240px,40vw)}.user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid rgba(255,255,255,.35)}.user-avatar-fallback{display:grid;place-items:center;background:var(--lime);color:var(--ink);font-size:.85rem;font-weight:700}.btn{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:8px;padding:8px 12px;font:inherit;cursor:pointer}.btn-primary{background:var(--lime);border-color:var(--ink);font-weight:600}.btn-ghost{background:transparent;border-color:#555;color:#f5f5f5}.btn-danger{border-color:var(--danger);color:var(--danger)}.layout{display:grid;grid-template-columns:280px 1fr;gap:16px;padding:16px;flex:1}@media(max-width:900px){.layout{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.panel h2{margin:0 0 10px;font-family:var(--font-display);font-size:1.1rem}.filters input,.filters select,.card-form input,.card-form textarea,.card-form select{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font:inherit;margin-bottom:8px}.tag-board{display:flex;flex-direction:column;gap:12px}.tag-board-toolbar{display:flex;flex-wrap:wrap;gap:8px}.tag-swimlane{padding:0;overflow:hidden}.tag-swimlane-header-row{display:flex;align-items:stretch;gap:0}.tag-swimlane-header{flex:1;display:flex;align-items:center;gap:10px;padding:12px 14px;border:none;background:#faf8f4;font:inherit;font-weight:700;cursor:pointer;text-align:left}.tag-settings-btn{border-radius:0;border-left:1px solid var(--border);min-width:44px}.tag-color-dot{width:12px;height:12px;border-radius:999px;border:1px solid rgba(0,0,0,.12);flex-shrink:0}.tag-create-inline{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-left:auto}.tag-create-inline input[type=text],.tag-create-inline input:not([type=color]){min-width:min(100%,160px);padding:8px 10px;border:1px solid var(--border);border-radius:8px;font:inherit}.tag-color-input{width:44px;height:36px;padding:2px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.stage-editor-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px;align-items:center}.stage-editor-row input{flex:1;min-width:min(100%,200px)}.tag-swimlane-header:hover{background:#f0ece4}.tag-swimlane-title{flex:1;font-family:var(--font-display);font-size:1.05rem}.tag-swimlane-chevron{color:var(--muted);font-size:.9rem}.tag-swimlane-body{padding:0 12px 12px}.tag-swimlane-add{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 12px}.tag-swimlane-add input{flex:1;min-width:min(100%,200px);padding:8px 10px;border:1px solid var(--border);border-radius:8px;font:inherit}.board{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;min-height:280px}.tag-swimlane .board{min-height:220px}.column{flex:0 0 260px;background:#faf8f4;border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;max-height:70vh}.column-header{padding:10px 12px;border-bottom:1px solid var(--border);font-weight:700;display:flex;justify-content:space-between;align-items:center}.column-body{padding:10px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:8px}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px;cursor:grab}.card:active{cursor:grabbing}.card-title{font-weight:600;margin:0 0 6px}.card-created{margin-top:4px}.tag{display:inline-block;font-size:.75rem;background:var(--lime);padding:2px 6px;border-radius:4px;margin-right:4px}.meta{font-size:.8rem;color:var(--muted)}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{max-width:420px;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.login-card h1{font-family:var(--font-display);margin-top:0}.modal-backdrop{position:fixed;inset:0;background:#00000073;display:grid;place-items:center;padding:16px;z-index:20}.modal{width:min(720px,100%);max-height:90vh;overflow:auto;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:16px}.modal header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.comment{border-top:1px solid var(--border);padding:10px 0}.description-field{margin-bottom:12px}.description-field-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.field-label{font-weight:600;font-size:.9rem}.btn-inline{padding:4px 10px;font-size:.85rem}.description-view{text-align:left;min-height:3rem}.description-view-button{width:100%;cursor:text;font:inherit;color:inherit}.description-view-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.markdown-body{font-size:.95rem;line-height:1.6;word-break:break-word}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{font-family:var(--font-display);line-height:1.25;margin:1em 0 .4em}.markdown-body h1{font-size:1.35rem}.markdown-body h2{font-size:1.15rem}.markdown-body h3{font-size:1.05rem}.markdown-body p{margin:.5em 0}.markdown-body ul,.markdown-body ol{margin:.5em 0;padding-left:1.4em}.markdown-body li{margin:.2em 0}.markdown-body li.task-list-item{list-style:none;margin-left:-1.4em}.markdown-body input[type=checkbox]{margin-right:.35em;vertical-align:middle}.markdown-body pre{background:#f5f3ee;border:1px solid var(--border);border-radius:8px;padding:10px 12px;overflow-x:auto;font-size:.85rem}.markdown-body code{font-family:ui-monospace,Cascadia Code,monospace;font-size:.88em;background:#f5f3ee;padding:.1em .35em;border-radius:4px}.markdown-body pre code{background:transparent;padding:0}.markdown-body table{width:100%;border-collapse:collapse;margin:.75em 0;font-size:.9rem}.markdown-body th,.markdown-body td{border:1px solid var(--border);padding:6px 8px;text-align:left}.markdown-body th{background:#faf8f4;font-weight:600}.markdown-body blockquote{margin:.75em 0;padding-left:12px;border-left:3px solid var(--border);color:var(--muted)}.markdown-body-empty{color:var(--muted);font-style:italic}.comment .markdown-body{margin-top:4px}.stat-row{display:flex;justify-content:space-between;padding:4px 0;font-size:.9rem}.tabs{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.tab{padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:transparent;cursor:pointer}.tab-active{background:var(--ink);color:#fff;border-color:var(--ink)}.topbar .tab{border-color:#555;color:#f5f5f5}.topbar .tab-active{background:var(--lime);color:var(--ink);border-color:var(--lime)}.layout-single{grid-template-columns:1fr;max-width:960px;margin:0 auto;width:100%}.layout-with-filters{grid-template-columns:min(280px,100%) 1fr}.main-nav{margin-bottom:0}.ideas-inbox{display:flex;flex-direction:column;gap:16px}.ideas-quick-add label{display:block;margin-bottom:10px;font-size:.9rem}.ideas-quick-add input,.ideas-quick-add textarea{width:100%;margin-top:4px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font:inherit}.ideas-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.idea-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.idea-row-head h3{margin:0;font-size:1.05rem}.idea-status{font-size:.8rem;padding:2px 8px;border-radius:999px;border:1px solid var(--border);white-space:nowrap}.idea-status-pending{background:#f5f5f5}.idea-status-approved{background:#dcfce7;border-color:#86efac}.idea-status-declined{background:#fee2e2;border-color:#fca5a5}.idea-row-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.idea-body-preview{margin-top:8px;font-size:.92rem}.radio-row{display:flex;align-items:center;gap:8px;margin:8px 0}.modal-backdrop{position:fixed;inset:0;background:#00000073;display:grid;place-items:center;padding:16px;z-index:50}.modal{width:min(480px,100%);max-height:90vh;overflow:auto}.expense-modal{width:min(640px,100%)}.expenses-page{display:flex;flex-direction:column;gap:16px}.expenses-toolbar h2{margin-top:0}.expenses-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.expenses-filters label{display:flex;flex-direction:column;gap:4px;font-size:.85rem}.expenses-totals{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;font-size:.95rem}.expense-form label{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.expense-form-actions{display:flex;gap:8px;flex-wrap:wrap}.expenses-table{width:100%;border-collapse:collapse;font-size:.92rem}.expenses-table th,.expenses-table td{border-bottom:1px solid var(--border);padding:10px 8px;text-align:left;vertical-align:top}.expense-amount{font-size:1.4rem;font-weight:700;margin:0 0 12px}.invoice-badge{display:inline-block;font-size:.75rem;padding:2px 8px;border-radius:999px;border:1px solid var(--border);white-space:nowrap}.invoice-badge-qualified{background:#dcfce7;border-color:#86efac}.invoice-badge-unregistered{background:#f5f5f5}.linkish{background:none;border:none;padding:0;color:var(--accent);text-decoration:underline;cursor:pointer;font:inherit}.receipt-list{padding-left:0;list-style:none}.receipt-list-item{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.receipt-list-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}.receipt-preview-image{max-width:100%;max-height:240px;border-radius:var(--radius);border:1px solid var(--border)}.receipt-preview-pdf{width:100%;min-height:280px;border:1px solid var(--border);border-radius:var(--radius)}.receipt-preview-links{margin-top:8px}.expenses-empty{padding:16px}@media(max-width:720px){.expenses-table thead{display:none}.expenses-table tr{display:block;border-bottom:1px solid var(--border);padding:12px 0}.expenses-table td{display:flex;justify-content:space-between;gap:12px;border:none;padding:4px 0}.expenses-table td:before{content:attr(data-label);font-weight:600;color:var(--muted);flex-shrink:0}.expense-row-actions{justify-content:flex-end}}
