:root{font-family:Noto Sans JP,system-ui,-apple-system,sans-serif;line-height:1.6;font-weight:400;color:#2d3748;background-color:#f5f7fa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;min-width:320px;min-height:100vh}a{color:#4472c4;text-decoration:none}a:hover{text-decoration:underline}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:#1a365d;color:#fff;padding:0;box-shadow:0 2px 8px #00000026;position:sticky;top:0;z-index:100}.header-content{max-width:1400px;margin:0 auto;padding:.75rem 2rem;display:flex;align-items:center;gap:2rem}.header-content h1{font-size:1.25rem;white-space:nowrap;margin:0}.main-nav{display:flex;gap:.25rem;flex:1}.nav-link{color:#ffffffbf;text-decoration:none;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;transition:all .2s}.nav-link:hover{color:#fff;background:#ffffff1a;text-decoration:none}.nav-link.active{color:#fff;background:#fff3}.user-info{display:flex;align-items:center;gap:.75rem;white-space:nowrap}.user-name{font-weight:600;font-size:.9rem}.user-role{font-size:.75rem;background:#fff3;padding:.15rem .5rem;border-radius:4px}.logout-button{background:transparent;color:#ffffffbf;border:1px solid rgba(255,255,255,.3);padding:.35rem .75rem;border-radius:6px;cursor:pointer;font-size:.8rem;transition:all .2s}.logout-button:hover{color:#fff;border-color:#fff}.app-main{flex:1;max-width:1400px;width:100%;margin:0 auto;padding:2rem}.app-footer{background:#2d3748;color:#a0aec0;text-align:center;padding:.75rem;font-size:.8rem}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a365d,#2d3748)}.login-card{background:#fff;border-radius:12px;padding:2.5rem;width:100%;max-width:400px;box-shadow:0 10px 40px #0003;text-align:center}.login-card h2{margin-bottom:.25rem;color:#1a365d}.login-subtitle{color:#718096;margin-bottom:1.5rem}.search-form,.create-form-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000000f;margin-bottom:2rem}.search-form h2,.create-form-card h3{margin-top:0;margin-bottom:.5rem;color:#1a365d}.form-group{margin-bottom:1.25rem;text-align:left}.form-group label{display:block;margin-bottom:.4rem;font-weight:600;color:#4a5568;font-size:.9rem}.form-group input,.form-group select{width:100%;padding:.6rem .75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.95rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#4472c4;box-shadow:0 0 0 3px #4472c41a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.page-description{color:#718096;margin-bottom:1.5rem;font-size:.9rem}.submit-button{width:100%;padding:.75rem;background:#4472c4;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.submit-button:hover:not(:disabled){background:#3761ad}.submit-button:disabled{opacity:.6;cursor:not-allowed}.btn{padding:.5rem 1rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:.85rem;transition:all .2s;text-decoration:none;display:inline-block}.btn-primary{background:#4472c4;color:#fff}.btn-primary:hover{background:#3761ad}.btn-secondary{background:#e2e8f0;color:#4a5568}.btn-secondary:hover{background:#cbd5e0}.btn-success{background:#48bb78;color:#fff}.btn-success:hover{background:#38a169}.btn-danger{background:#fc8181;color:#fff}.btn-danger:hover{background:#f56565}.btn-sm{padding:.25rem .5rem;border:none;border-radius:4px;font-size:.8rem;cursor:pointer;font-weight:500;transition:all .2s;text-decoration:none;display:inline-block;margin-right:.25rem}.btn-sm.btn-primary{background:#4472c4;color:#fff}.btn-sm.btn-secondary{background:#e2e8f0;color:#4a5568}.btn-sm.btn-outline{background:transparent;color:#4472c4;border:1px solid #4472C4}.btn-sm.btn-outline:hover{background:#4472c4;color:#fff}.btn-sm.btn-danger{background:#fc8181;color:#fff}.btn-sm.btn-link{background:transparent;color:#4472c4}.btn-sm.btn-link:hover{text-decoration:underline}.progress-display{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000000f;margin-top:1.5rem}.progress-display h3{margin-top:0;color:#1a365d}.status-info{margin-bottom:.75rem}.status-badge{display:inline-block;padding:.2rem .6rem;border-radius:12px;font-size:.8rem;font-weight:600}.status-running,.status-pending{background:#bee3f8;color:#2c5282}.status-completed{background:#c6f6d5;color:#22543d}.status-error{background:#fed7d7;color:#742a2a}.current-step{color:#4a5568;font-size:.9rem;margin-top:.5rem}.progress-bar-container{margin:.75rem 0}.progress-bar-bg{width:100%;height:24px;background:#e2e8f0;border-radius:12px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#4472c4,#48bb78);transition:width .3s ease}.progress-text{text-align:center;margin-top:.35rem;color:#718096;font-size:.85rem;font-weight:600}.result-count{font-size:.95rem;color:#2d3748;font-weight:600;margin-top:.5rem}.results-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.results-header h2{margin:0;color:#1a365d}.results-header p{color:#718096;font-size:.9rem;margin-top:.25rem}.results-actions{display:flex;gap:.5rem;flex-wrap:wrap}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.page-header h2{margin:0;color:#1a365d}.tab-bar{display:flex;gap:0;margin-bottom:1rem;border-bottom:2px solid #e2e8f0}.tab{padding:.6rem 1.5rem;background:none;border:none;font-size:.9rem;font-weight:600;color:#718096;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.tab:hover{color:#4a5568}.tab-active{color:#4472c4;border-bottom-color:#4472c4}.table-wrapper{overflow-x:auto;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f}.result-table{width:100%;border-collapse:collapse;font-size:.85rem}.result-table th{background:#f7fafc;padding:.6rem .75rem;text-align:left;font-weight:600;color:#4a5568;border-bottom:2px solid #e2e8f0;white-space:nowrap;font-size:.8rem}.result-table td{padding:.5rem .75rem;border-bottom:1px solid #edf2f7;color:#4a5568;vertical-align:middle}.result-table tr:hover{background:#f7fafc}.result-table input[type=checkbox]{width:auto;cursor:pointer}.property-name{font-weight:600;color:#2d3748}.price{font-weight:600;color:#4472c4}.station{font-size:.8rem}.detail-link{color:#4472c4;font-weight:600}.detail-link:hover{text-decoration:underline}.exclusion-reason{color:#e53e3e;font-size:.8rem}.no-data{text-align:center;padding:2rem;color:#a0aec0}.actions-cell{white-space:nowrap}.phone-edit{display:flex;gap:.25rem;align-items:center}.phone-edit input{width:120px;padding:.2rem .4rem;border:1px solid #e2e8f0;border-radius:4px;font-size:.85rem}.row-warning{background:ivory}.row-disabled{opacity:.5}.text-muted{color:#a0aec0}.warning-badge{color:#d69e2e;font-weight:600}.role-badge{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.role-admin{background:#fed7d7;color:#742a2a}.role-manager{background:#bee3f8;color:#2c5282}.role-operator{background:#c6f6d5;color:#22543d}.status-dot{font-size:.8rem;font-weight:600}.status-dot.active{color:#38a169}.status-dot.active:before{content:""}.status-dot.inactive{color:#a0aec0}.error-message{padding:.75rem;background:#fed7d7;color:#742a2a;border-radius:6px;margin-bottom:1rem;font-size:.9rem}.warning-text{margin-top:.4rem;padding:.5rem .75rem;background:#fefcbf;color:#744210;border-radius:6px;font-size:.85rem;line-height:1.4}.loading{display:flex;justify-content:center;align-items:center;padding:3rem;color:#718096;font-size:1rem}.search-page h2{color:#1a365d;margin-top:0}.label-sub{font-weight:400;color:#a0aec0;font-size:.8rem;margin-left:.4rem}.city-actions{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem}.selection-count{font-size:.8rem;color:#718096;margin-left:.25rem}.city-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.35rem;max-height:280px;overflow-y:auto;padding:.75rem;border:1px solid #e2e8f0;border-radius:6px;background:#f7fafc}.city-checkbox-item{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:#4a5568;cursor:pointer;font-weight:400;padding:.2rem .3rem;border-radius:4px;transition:background .15s}.city-checkbox-item:hover{background:#edf2f7}.city-checkbox-item input[type=checkbox]{width:auto;margin:0;cursor:pointer;accent-color:#4472C4}.inline-checkbox-group{display:flex;flex-wrap:wrap;gap:.5rem}.loading-text{color:#a0aec0;font-size:.9rem;padding:.5rem 0}.fixed-conditions{background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.75rem 1rem}.fixed-condition-row{display:flex;align-items:center;gap:1rem;padding:.25rem 0;font-size:.9rem}.fixed-label{font-weight:600;color:#718096;min-width:100px;font-size:.85rem}.fixed-value{color:#4a5568}.saved-search-panel{background:#eef2fb;border:1px solid #c3d0e8;border-radius:8px;padding:.9rem 1.1rem;margin-bottom:1.5rem}.saved-search-title{font-weight:700;color:#2c4a8c;font-size:.88rem;margin-bottom:.65rem;display:block}.saved-search-load-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.saved-search-select{flex:1;min-width:200px;padding:.4rem .6rem;border:1px solid #c3d0e8;border-radius:6px;font-size:.88rem;background:#fff;color:#4a5568}.saved-search-select:focus{outline:none;border-color:#4472c4}.saved-search-divider{border:none;border-top:1px solid #c3d0e8;margin:.65rem 0}.saved-search-save-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.saved-search-save-label{font-size:.85rem;font-weight:600;color:#4a5568;white-space:nowrap}.saved-search-name-input{flex:1;min-width:160px;padding:.35rem .6rem;border:1px solid #c3d0e8;border-radius:6px;font-size:.88rem;background:#fff;color:#4a5568}.saved-search-name-input:focus{outline:none;border-color:#4472c4}.saved-search-shared-label{display:flex;align-items:center;gap:.3rem;font-size:.85rem;color:#4a5568;white-space:nowrap;cursor:pointer;font-weight:400}.saved-search-shared-label input[type=checkbox]{cursor:pointer;accent-color:#4472C4;width:auto;margin:0}.saved-search-error{color:#c53030;font-size:.8rem;margin-top:.35rem;margin-bottom:0}.page-container{max-width:1200px}.page-header{margin-bottom:1.5rem}.page-header h2{margin:0 0 .35rem;color:#1a365d}.page-desc{color:#718096;font-size:.9rem;margin:0}.readonly-notice{color:#e53e3e;font-weight:600;margin-left:.5rem}.filter-bar{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;background:#fff;padding:.75rem 1rem;border-radius:8px;box-shadow:0 1px 4px #0000000f}.filter-bar label{font-weight:600;font-size:.875rem;color:#4a5568}.filter-select{padding:.4rem .6rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem;color:#4a5568}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table th{background:#f7fafc;padding:.6rem .75rem;text-align:left;font-weight:600;color:#4a5568;border-bottom:2px solid #e2e8f0;white-space:nowrap;font-size:.8rem}.data-table td{padding:.55rem .75rem;border-bottom:1px solid #edf2f7;color:#4a5568;vertical-align:middle}.data-table tr:hover{background:#f7fafc}.data-table .shared-row{background:#f0f7ff}.table-footer{text-align:right;padding:.5rem .75rem;color:#718096;font-size:.8rem;border-top:1px solid #edf2f7}.empty-message{text-align:center;padding:3rem;color:#a0aec0;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f}.badge{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;white-space:nowrap}.badge-shinchiku{background:#bee3f8;color:#2c5282}.badge-chuko{background:#c6f6d5;color:#22543d}.badge-shared{background:#d6bcfa;color:#553c9a}.badge-private{background:#edf2f7;color:#718096}.btn-primary{padding:.5rem 1.25rem;background:#4472c4;color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.875rem;cursor:pointer;transition:background .2s}.btn-primary:hover:not(:disabled){background:#3761ad}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:.5rem 1.25rem;background:#e2e8f0;color:#4a5568;border:none;border-radius:6px;font-weight:600;font-size:.875rem;cursor:pointer;transition:background .2s}.btn-secondary:hover:not(:disabled){background:#cbd5e0}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-danger-sm{padding:.2rem .55rem;background:#fc8181;color:#fff;border:none;border-radius:4px;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-danger-sm:hover{background:#f56565}.success-message{padding:.75rem;background:#c6f6d5;color:#22543d;border-radius:6px;margin-bottom:1rem;font-size:.9rem}.action-bar{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.permissions-table{width:100%;border-collapse:collapse;font-size:.875rem}.permissions-table th{background:#1a365d;color:#fff;padding:.6rem 1rem;text-align:center;font-weight:600;border:1px solid #2d3748}.permissions-table .screen-col{text-align:left;min-width:180px;background:#2d3748}.permissions-table .role-header{border-left:2px solid #4a5568}.permissions-table .action-header{font-size:.78rem;font-weight:500;background:#2c5282}.permissions-table td{padding:.55rem .75rem;border:1px solid #e2e8f0;vertical-align:middle}.permissions-table .screen-label{font-weight:600;color:#2d3748;background:#f7fafc}.permissions-table .checkbox-cell{text-align:center}.permissions-table .checkbox-cell input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#4472C4}.permissions-table .checkbox-cell input:disabled{cursor:default;opacity:.6}.permissions-table tr:nth-child(2n) td{background:#f7fafc}.permissions-table tr:nth-child(2n) .screen-label{background:#edf2f7}.permissions-note{background:#fffaf0;border:1px solid #f6e05e;border-radius:8px;padding:1rem 1.25rem;margin-top:1.5rem;font-size:.875rem}.permissions-note h4{margin:0 0 .5rem;color:#744210;font-size:.875rem}.permissions-note ul{margin:0;padding-left:1.25rem;color:#744210}.permissions-note li{margin-bottom:.25rem}.history-summary{max-width:320px;color:#4a5568;font-size:.85rem}.user-name-link{font-weight:600;font-size:.9rem;color:#ffffffe6;text-decoration:none;transition:color .2s}.user-name-link:hover{color:#fff;text-decoration:underline}.badge-completed{background:#c6f6d5;color:#22543d}.badge-running{background:#bee3f8;color:#2c5282}.badge-failed{background:#fed7d7;color:#742a2a}.badge-pending{background:#fefcbf;color:#744210}.dashboard-welcome{margin-bottom:2rem}.dashboard-welcome h2{margin:0 0 .4rem;color:#1a365d;font-size:1.5rem}.dashboard-section{margin-bottom:2rem}.section-title{font-size:1rem;font-weight:700;color:#2d3748;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #e2e8f0}.dashboard-cards{display:flex;gap:1rem;flex-wrap:wrap}.dashboard-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem 2rem;cursor:pointer;transition:all .2s;text-align:center;min-width:160px;box-shadow:0 1px 4px #0000000f}.dashboard-card:hover{border-color:#4472c4;box-shadow:0 4px 12px #4472c426;transform:translateY(-2px)}.card-icon{font-size:2rem}.card-label{font-weight:700;color:#1a365d;font-size:.95rem}.card-desc{font-size:.8rem;color:#718096}.dashboard-more{margin-top:.75rem;text-align:right}.btn-link{background:none;border:none;color:#4472c4;font-size:.875rem;font-weight:600;cursor:pointer;padding:0;text-decoration:none}.btn-link:hover{text-decoration:underline}.empty-text{color:#a0aec0;font-size:.9rem;padding:1.5rem;text-align:center;background:#fff;border-radius:8px}.page-title{margin:0 0 1.5rem;color:#1a365d;font-size:1.4rem}.profile-sections{display:flex;flex-direction:column;gap:1.5rem;max-width:600px}.profile-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000000f}.profile-card .section-title{margin-bottom:1rem}.profile-info-table{width:100%;border-collapse:collapse;font-size:.9rem}.profile-info-table th{width:140px;padding:.5rem .75rem;text-align:left;font-weight:600;color:#718096;vertical-align:top;border-bottom:1px solid #edf2f7}.profile-info-table td{padding:.5rem .75rem;color:#2d3748;border-bottom:1px solid #edf2f7}.profile-form{display:flex;flex-direction:column;gap:0}.form-input{width:100%;padding:.6rem .75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.95rem;transition:border-color .2s;box-sizing:border-box}.form-input:focus{outline:none;border-color:#4472c4;box-shadow:0 0 0 3px #4472c41a}.required{color:#e53e3e;font-size:.8rem}@media(max-width:768px){.header-content{flex-direction:column;gap:.75rem;padding:.75rem 1rem}.main-nav{flex-wrap:wrap;justify-content:center}.app-main{padding:1rem}.form-row{grid-template-columns:1fr}.results-header{flex-direction:column}.results-actions{width:100%}}
