*{box-sizing:border-box}body{margin:0;background:#f4f6f8;color:#202428;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:14px}a{color:#1769aa;text-decoration:none}a:hover{text-decoration:underline}.header{height:64px;background:#fff;border-bottom:1px solid #dfe3e6;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:10}.header nav{display:flex;gap:18px;align-items:center}.brand,.header strong{font-size:18px;color:#222}.header .muted{margin-left:12px}.container{max-width:1200px;margin:0 auto;padding:32px 24px 64px}.container.narrow{max-width:860px}.page_head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px}h1{font-size:28px;margin:8px 0}h2{font-size:18px;margin:0 0 16px}.muted,.help{color:#6c757d}.small{font-size:12px;color:#6c757d;margin-top:6px}.back{display:inline-block;margin-bottom:8px}.project_grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}.card,.panel{background:#fff;border:1px solid #e0e4e7;border-radius:10px;padding:22px;box-shadow:0 1px 2px rgba(0,0,0,.03)}.card_head{display:flex;justify-content:space-between;gap:10px}.card dl{display:flex;gap:30px;margin:22px 0}.card dl div{display:flex;flex-direction:column}.card dt{font-size:12px;color:#7a8188}.card dd{font-size:22px;font-weight:600;margin:3px 0 0}.status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:12px;background:#eceff1;color:#60676d}.status.on{background:#e8f6ed;color:#25713b}.status.off,.status.error{background:#fdecec;color:#9c2f2f}.status.pending{background:#fff5df;color:#8a6424}.actions{display:flex;gap:10px;align-items:center;margin-top:18px}.button,button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:7px;background:#1e6fc8;color:#fff;padding:10px 15px;font-weight:600;cursor:pointer}.button:hover{text-decoration:none;opacity:.9}.button.secondary{background:#eef3f7;color:#245d8f}.danger{background:#b64545}.form{display:grid;gap:18px;margin-bottom:22px}.form label{display:grid;gap:7px;font-weight:600}.form input[type=text],.form input[type=email],.form input[type=password],.form textarea,.login_card input{width:100%;border:1px solid #cfd5da;border-radius:7px;padding:11px 12px;font:inherit;background:#fff}.form .check{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:8px;font-weight:400}.panel{margin-bottom:20px}.table_wrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #e8ebed;vertical-align:top}th{font-size:12px;color:#666;background:#fafbfc}code{font-family:SFMono-Regular,Consolas,monospace;background:#f4f5f6;padding:2px 5px;border-radius:4px;word-break:break-all}.folder_row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:14px 0;border-bottom:1px solid #e8ebed}.folder_row:last-child{border-bottom:0}.alert{border-radius:7px;padding:12px 14px;margin:12px 0}.alert.error{background:#fdecec;color:#8c2828}.alert.success{background:#e8f6ed;color:#226f39}.error_text{color:#a12828}.empty{background:#fff;border:1px dashed #ccd2d7;border-radius:10px;padding:40px;text-align:center;color:#777}.login_body{min-height:100vh;display:grid;place-items:center;padding:20px}.login_card{width:min(420px,100%);background:#fff;border:1px solid #e0e4e7;border-radius:12px;padding:30px;box-shadow:0 10px 30px rgba(0,0,0,.05)}.login_card h1{margin-top:0}.login_card form{display:grid;gap:16px}.login_card label{display:grid;gap:7px;font-weight:600}@media(max-width:700px){.header{padding:0 16px}.header .muted,.header nav span{display:none}.container{padding:24px 16px}.project_grid{grid-template-columns:1fr}.folder_row{align-items:flex-start;flex-direction:column}}

/* Photo Search - 除外フォルダ設定追加分 */

.folder_block {
    padding: 0 0 18px;
    margin: 0 0 18px;
    border-bottom: 2px solid #eef1f3;
}

.folder_block:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: 0;
}

.exclude_box {
    margin: 0 0 0 18px;
    padding: 16px 18px;
    background: #f8fafb;
    border: 1px solid #e5e9ec;
    border-radius: 8px;
}

.exclude_box h3 {
    margin: 0 0 8px;
    font-size: 15px;
}

.exclude_list {
    margin: 12px 0;
}

.exclude_row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px solid #e5e9ec;
}

.exclude_row:last-child {
    border-bottom: 0;
}

.exclude_add_form {
    display: flex;
    gap: 10px;
    margin-top: 12px;
}

.exclude_add_form input[type="text"] {
    flex: 1;
    min-width: 0;
    border: 1px solid #cfd5da;
    border-radius: 7px;
    padding: 10px 12px;
    font: inherit;
    background: #fff;
}

.button.mini,
button.mini {
    padding: 7px 10px;
    font-size: 12px;
}

.exclude_tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

@media (max-width: 700px) {
    .exclude_box {
        margin-left: 0;
    }

    .exclude_add_form {
        flex-direction: column;
    }
}

/* Photo Search V2 - 写真一覧・詳細 */
.compact_panel{padding:16px 20px}.compact_panel summary{cursor:pointer;font-weight:600}.details_table{margin-top:16px}.photo_section{margin-top:26px}.photo_toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px}.photo_toolbar>div{display:flex;align-items:baseline;gap:10px}.photo_toolbar h2{margin:0}.photo_count{color:#6c757d}.photo_filters{display:flex;gap:8px}.photo_filters select{border:1px solid #cfd5da;border-radius:7px;background:#fff;padding:9px 30px 9px 10px;font:inherit}.photo_grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.photo_card{display:block;min-width:0;background:#fff;border:1px solid #e0e4e7;border-radius:9px;overflow:hidden;color:#202428;transition:transform .12s ease,box-shadow .12s ease}.photo_card:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 5px 16px rgba(0,0,0,.07)}.photo_thumb{position:relative;aspect-ratio:4/3;background:#e8ecef;display:flex;align-items:center;justify-content:center;color:#8a9198;overflow:hidden}.photo_thumb img{width:100%;height:100%;object-fit:cover;display:block}.photo_card_body{display:grid;gap:4px;padding:10px}.photo_card_body strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.photo_card_body span{font-size:11px;color:#727981}.pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:26px}.pagination a,.pagination span{background:#fff;border:1px solid #dce1e5;border-radius:7px;padding:8px 12px}.photo_detail{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:22px;align-items:start}.photo_detail_image{display:flex;align-items:center;justify-content:center;min-height:420px;padding:16px;background:#17191b;border-radius:10px;overflow:hidden}.photo_detail_image img{display:block;max-width:100%;max-height:76vh;width:auto;height:auto}.photo_placeholder{color:#aaa}.photo_detail_info{margin:0}.photo_detail_info h1{font-size:22px;word-break:break-all}.meta_list{margin:0}.meta_list>div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:12px;padding:9px 0;border-bottom:1px solid #eceff1}.meta_list dt{color:#747b82}.meta_list dd{margin:0;min-width:0;word-break:break-word}@media(max-width:800px){.photo_toolbar{align-items:flex-start;flex-direction:column}.photo_filters{width:100%}.photo_filters select{flex:1;min-width:0}.photo_grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo_detail{grid-template-columns:1fr}.photo_detail_image{min-height:260px}.photo_detail_info{width:100%}}@media(max-width:420px){.photo_filters{flex-direction:column}.photo_grid{gap:8px}.photo_card_body{padding:8px}.meta_list>div{grid-template-columns:85px minmax(0,1fr)}}
