:root{font-family:Inter,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:#1c2d42;background:#f6f8fb;font-synthesis:none;-webkit-font-smoothing:antialiased;--navy:#152a41;--indigo:#426cda;--border:#e6eaf0;--muted:#8490a1;--shadow:0 3px 16px rgba(18,40,70,.035)}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}a{color:inherit} .hidden{display:none!important}.app-shell{display:flex;min-height:100vh}.sidebar{width:254px;background:var(--navy);color:#e9f0fc;display:flex;flex-direction:column;flex-shrink:0;min-height:100vh;padding:29px 16px 24px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 51px}.brand-icon{width:39px;height:39px;background:#3e6ad0;display:grid;place-items:center;border-radius:12px;font-size:28px;font-weight:800;color:#fff;line-height:1}.brand-name{font-size:17px;letter-spacing:.2px;font-weight:780;white-space:nowrap}.brand-subtitle{font-size:10.5px;margin-top:6px;color:#9dadc1;letter-spacing:1.1px}.sidebar-label{padding:0 16px 15px;color:#7891aa;font-size:10px;letter-spacing:2px;font-weight:750}.nav-links{display:grid;gap:5px}.nav-link{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:12px 13px;border-radius:9px;color:#aebdd0;background:transparent;border:0;font-size:12.5px;font-weight:650}.nav-link:hover{background:#213a56;color:#fff}.nav-link.selected{background:#294563;color:#fff}.nav-glyph{width:22px;text-align:center;font-size:17px;color:#99b2d0}.nav-link.selected .nav-glyph{color:#9ec2ff}.nav-count{margin-left:auto;background:rgba(255,255,255,.09);color:#d4dfef;border-radius:6px;padding:3px 7px;font-size:10px;min-width:24px;text-align:center}.sidebar-bottom{margin-top:auto}.tip-box{padding:18px 15px;margin:0 3px 23px;background:#203a55;border:1px solid #2a4863;border-radius:10px}.tip-symbol{color:#91b5f2;font-size:18px;margin-bottom:12px}.tip-box strong{font-size:12px}.tip-box p{font-size:11px;color:#9fb1c6;line-height:1.9;margin:7px 0 0}.sidebar-action{border:0;color:#c2d1e1;background:transparent;padding:12px;width:100%;text-align:left;font-size:12px;display:flex;gap:10px;align-items:center}.sidebar-action:hover{color:white}.sidebar-action span{font-size:19px}.storage-pill{font-size:10px;color:#82b69e;margin:15px 0 0 13px}.main-content{flex:1;min-width:0}.topbar{height:74px;border-bottom:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 46px;color:#909bae}.breadcrumb{font-size:11.5px}.breadcrumb span{padding:0 10px;color:#b9c2cc}.topbar-right{display:flex;align-items:center;gap:18px;font-size:11px}.icon-button,.mobile-settings{width:30px;height:30px;border:1px solid #e8ecf1;background:#fff;border-radius:7px;font-size:19px;color:#728198}.mobile-settings{display:none}.content-wrap{max-width:1580px;padding:39px 46px 32px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:31px}.eyebrow{letter-spacing:2px;color:#8398b1;font-size:10px;font-weight:700;margin-bottom:9px}h1,h2,h3,p{margin-top:0}.page-heading h1{font-size:27px;letter-spacing:-.8px;margin-bottom:10px;line-height:1.3}.heading-dot{color:#5280e9}.page-heading p{color:#8996a7;font-size:12px;margin:0}.heading-actions{display:flex;gap:9px;flex-shrink:0}.button{border-radius:8px;padding:11px 15px;font-size:12px;font-weight:730;border:1px solid transparent;transition:background .16s,box-shadow .16s}.button.primary{background:#3869db;color:#fff;box-shadow:0 3px 9px #2c67cc25}.button.primary:hover{background:#2d59c5}.button.secondary{background:#fff;color:#445971;border:1px solid #dfe5ee}.button.secondary:hover{background:#f1f5fc}.button.ghost{background:#fff;color:#728197;border:1px solid #e7ebf0}.btn-icon{font-size:17px;line-height:0;vertical-align:-1px;padding-right:3px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:27px}.stat-card{background:#fff;border:1px solid #ebeff4;border-radius:11px;min-height:137px;padding:19px 22px;box-shadow:var(--shadow)}.stat-label{font-size:12px;color:#8391a3;font-weight:680;display:flex;align-items:center;justify-content:space-between}.stat-label>span{color:#91a4b9;font-size:16px}.stat-decor{border-radius:7px;width:26px;height:26px;display:grid;place-items:center}.stat-decor.pending{color:#e3a13b;background:#fff4e2}.stat-decor.accepted{color:#36a582;background:#e9f8f2}.stat-decor.rejected{color:#d27a7f;background:#fdf0f0}.stat-number{font-size:30px;font-weight:750;letter-spacing:-1.5px;margin:8px 0 3px}.stat-caption{font-size:10px;color:#a2adba}.stat-total{background:#fafdff}.articles-panel{background:#fff;border:1px solid #e8edf2;border-radius:11px;box-shadow:var(--shadow);overflow:hidden}.panel-topline{padding:25px 25px 20px;display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.panel-topline h2{font-size:16px;margin:0 0 8px}.list-count{color:#7f92ac;font-size:11px;font-weight:550;margin-left:6px}.panel-topline p{font-size:11px;color:#a0aabc;margin:0}.text-button{background:transparent;border:0;color:#5478af;font-size:11px;font-weight:700;padding:7px 2px}.text-button:hover{text-decoration:underline}.toolbar{display:flex;gap:11px;padding:0 25px 19px;align-items:center;flex-wrap:wrap}.search-wrapper{position:relative;flex:1;min-width:180px}.search-wrapper input{width:100%;padding:11px 13px 11px 38px;font-size:11.5px;border:1px solid #e2e8ef;border-radius:7px;outline:none;color:#34465b;background:#fff}.search-wrapper input:focus,.toolbar select:focus,.cell-select:focus,textarea:focus,input:focus{outline:none;border-color:#81a2e9;box-shadow:0 0 0 3px #acc6ff33}.search-icon{position:absolute;left:13px;top:4px;color:#899cb3;font-size:23px}.toolbar select{font-size:11px;max-width:200px;border:1px solid #e2e8ef;background:#fff;border-radius:7px;padding:11px 12px;color:#576a80}.table-scroll{width:100%;overflow-x:auto}.article-table{border-collapse:collapse;width:100%;min-width:890px;font-size:11px}.article-table thead{background:#f8fafc;border-top:1px solid #edf0f4;border-bottom:1px solid #edf0f4}.article-table th{text-align:left;padding:14px 11px;color:#8593a5;font-size:10.5px;font-weight:730}.article-table td{padding:15px 11px;border-bottom:1px solid #edf0f5;vertical-align:middle}.article-table tbody tr:hover{background:#fcfdff}.article-table tbody tr:last-child td{border-bottom:none}.check-col{width:42px;padding-left:24px!important}.article-col{width:31%}.genre-col{width:16%}.status-col{width:13%}.rating-col{width:13%}.memo-col{width:19%}.action-col{width:40px}.article-title{font-weight:700;color:#31445a;font-size:11.6px;text-decoration:none;line-height:1.6;display:block;max-width:410px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.article-title:hover{color:#3869db;text-decoration:underline}.url-line{display:flex;align-items:center;gap:4px;font-size:10px;color:#a2acbb;margin-top:7px;overflow:hidden;max-width:380px;text-overflow:ellipsis;white-space:nowrap}.url-line .external{color:#6087c4}.cell-select{width:100%;min-width:103px;appearance:auto;border:1px solid #e7ebef;border-radius:6px;padding:8px 5px;color:#586b80;background:#fff;font-size:10.5px;max-width:150px}.status-select{font-weight:700}.status-select[data-value="accepted"]{color:#278961;background:#edfaf3;border-color:#d6f1e1}.status-select[data-value="rejected"]{color:#b16a71;background:#fff1f2;border-color:#f9e3e5}.status-select[data-value="pending"]{color:#ad8132;background:#fff9ed;border-color:#f6ebd3}.rating-select{color:#c28b28}.memo-button{background:transparent;border:0;max-width:180px;text-align:left;padding:3px 0;color:#8290a1;font-size:11px;line-height:1.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.memo-button:hover{color:#3e6bd8}.edit-small{border:0;background:transparent;color:#7b8ca3;font-size:19px;padding:3px 7px;border-radius:5px}.edit-small:hover{background:#eef2fa;color:#3869db}.panel-footer{padding:16px 25px;border-top:1px solid #edf0f4;display:flex;justify-content:space-between;color:#a2aebe;font-size:10.5px}.footer-note{text-align:center;padding:26px;color:#bbc5d0;font-size:9px;letter-spacing:1.8px}.empty-state{text-align:center;padding:58px 15px 62px}.empty-symbol{margin:auto;width:62px;height:62px;border-radius:18px;display:grid;place-items:center;color:#718dba;font-size:42px;background:#f1f6fc}.empty-state h3{font-size:16px;margin:18px 0 7px}.empty-state p{font-size:12px;color:#96a1b3;line-height:1.9;max-width:340px;margin:0 auto 20px}.mobile-card-list{display:none}.bulk-bar{background:#eaf1ff;border-bottom:1px solid #d4e4ff;padding:10px 25px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:#355ca7;font-size:11px;font-weight:750}.bulk-bar button,.bulk-bar select{border:1px solid #c7d9f7;border-radius:6px;padding:7px 9px;background:#fff;color:#4264a5;font-size:11px}.bulk-bar .bulk-danger{color:#b25461;border-color:#f2ccd4}.bulk-bar span{margin-right:auto}input[type=checkbox]{accent-color:#4777da;width:15px;height:15px;cursor:pointer}
.modal-layer{position:fixed;inset:0;background:rgba(13,31,52,.52);z-index:30;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}.modal-card{width:100%;max-width:570px;max-height:calc(100dvh - 36px);overflow-y:auto;background:#fff;border-radius:14px;box-shadow:0 16px 50px #0a223344;padding:26px 30px 28px}.wide-modal{max-width:720px}.settings-card{max-width:550px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.modal-kicker{font-size:10px;letter-spacing:1.5px;color:#9eabc2;font-weight:800}.modal-head h2{margin:6px 0 0;font-size:21px}.close-button{background:#f2f5f8;border:0;border-radius:7px;font-size:25px;width:33px;height:33px;color:#798a9c;line-height:1}.editor-form{display:grid;gap:18px}.editor-form label,.stacked-label{display:grid;gap:8px;font-size:11px;color:#52677e;font-weight:740}.editor-form input,.editor-form select,.editor-form textarea,.stacked-label input{border:1px solid #dce4ed;border-radius:7px;padding:11px;font-size:12px;color:#35485f;width:100%;font-weight:400;background:#fff}.editor-form textarea,.import-input{resize:vertical;line-height:1.7}.required{color:#dc5b69}.form-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.modal-intro{color:#8290a1;font-size:12px;line-height:1.9}.import-toolbar{display:flex;gap:10px;margin:12px 0}.mini-button{border:1px solid #dce7f5;background:#f7faff;padding:9px 11px;border-radius:7px;color:#476a9d;font-weight:680;font-size:11px;cursor:pointer}.import-input{width:100%;border:1px solid #dce4ed;border-radius:8px;font-size:12px;padding:14px;min-height:210px}.import-hint{font-size:10.5px;color:#91a0b1;line-height:1.8;margin-top:10px}.sync-info{display:flex;gap:13px;align-items:flex-start;background:#f3f7fd;padding:15px;border-radius:9px;margin-bottom:18px}.sync-info-icon{font-size:25px;color:#4d79bf}.sync-info p{font-size:11px;color:#667c98;line-height:1.9;margin:0}.sync-info strong{color:#3c5978}.settings-card .stacked-label{margin-bottom:13px}.settings-card .button{margin-top:5px}.full-width{width:100%}.helper-text{font-size:10px;line-height:1.8;color:#98a5b2;margin-top:9px}.settings-rule{border:0;border-top:1px solid #edf0f4;margin:21px 0 12px}.settings-card>.text-button{display:block;margin-top:7px}.auth-status{background:#f4f7fb;border:1px solid #e4eaf0;border-radius:8px;padding:9px;margin-bottom:16px;font-size:11px;color:#617894}.auth-buttons,.auth-logged-in{display:flex;gap:10px;flex-wrap:wrap}.auth-logged-in .button{flex:1}.toast-area{position:fixed;bottom:22px;right:23px;z-index:50;display:grid;gap:8px;max-width:min(430px,90vw)}.toast{padding:13px 16px;border-radius:9px;background:#1a354e;color:#fff;box-shadow:0 8px 25px #0a243344;font-size:12px;line-height:1.6;animation:toastIn .2s ease}.toast.error{background:#a5424a}@keyframes toastIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1180px){.sidebar{width:220px}.content-wrap{padding:32px 25px}.topbar{padding:0 25px}.stats-grid{gap:10px}.stat-card{padding:17px 15px}.toolbar{gap:7px}.toolbar select{max-width:155px}}
@media(max-width:920px){.sidebar{width:75px;padding:22px 9px}.brand{padding:0 8px 43px}.brand-name,.brand-subtitle,.sidebar-label,.nav-link span:not(.nav-glyph),.nav-count,.tip-box,.sidebar-action,.storage-pill{display:none}.brand-icon{flex-shrink:0}.nav-link{justify-content:center}.nav-glyph{font-size:21px}.content-wrap{padding:28px 22px}.topbar{padding:0 22px}.stat-card{min-height:113px}}
@media(max-width:700px){.sidebar{display:none}.topbar{height:58px;padding:0 18px}.mobile-settings{display:block}.content-wrap{padding:25px 14px 15px}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:22px;gap:19px}.page-heading h1{font-size:25px}.page-heading p{font-size:11px}.heading-actions{width:100%}.heading-actions>.button{flex:1;padding:12px 8px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.stat-card{min-height:117px;padding:14px 16px}.stat-number{font-size:26px}.stat-label{font-size:11px}.articles-panel{border-radius:10px}.panel-topline{padding:18px 15px 15px}.panel-topline h2{font-size:15px}.panel-topline p{font-size:10px;line-height:1.7}.panel-topline .text-button{font-size:10px}.toolbar{padding:0 15px 16px;gap:8px}.search-wrapper{flex-basis:100%;min-width:100%}.toolbar select{flex:1;max-width:none;width:calc(50% - 5px);min-width:calc(50% - 5px);padding:10px 6px;font-size:10px}.table-scroll{display:none}.mobile-card-list{display:block;border-top:1px solid #edf0f4}.mobile-article{padding:16px 15px 15px;border-bottom:1px solid #e9edf3}.mobile-article:last-child{border-bottom:0}.mobile-title-row{display:flex;gap:11px;align-items:flex-start}.mobile-checkbox{margin-top:3px}.mobile-title{font-size:13px;font-weight:730;line-height:1.7;display:block;text-decoration:none;color:#2f475f}.mobile-title:hover{text-decoration:underline;color:#3869db}.mobile-link{font-size:10px;display:block;color:#92a1b3;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:17px}.mobile-detail-grid label{display:grid;gap:6px;font-size:10px;color:#9aa7b7}.mobile-detail-grid select{font-size:11px;width:100%;background:#fff;border:1px solid #e1e7ee;border-radius:6px;padding:9px 7px;color:#5c6d82}.mobile-note{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-top:12px;border:1px dashed #dce5ef;border-radius:7px;background:#fafcff;color:#7b8da4;padding:10px;text-align:left;font-size:11px}.mobile-note span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:90%}.mobile-note b{font-weight:600;font-size:14px}.panel-footer{padding:15px}.footer-note{font-size:8px}.modal-layer{padding:10px;align-items:center}.modal-card{max-height:calc(100dvh - 20px);padding:20px 17px}.modal-head h2{font-size:19px}.form-cols{gap:10px}.bulk-bar{padding:11px 15px}.bulk-bar span{width:100%}}
@media(max-width:370px){.form-cols{grid-template-columns:1fr}.panel-topline .text-button{white-space:nowrap;font-size:9px}}

.mobile-status-tabs{display:none}@media(max-width:700px){.mobile-status-tabs{display:flex;gap:7px;overflow-x:auto;margin:0 0 13px}.mobile-status-tabs button{border:1px solid #dfe6ee;background:#fff;color:#738398;border-radius:8px;padding:10px 14px;font-size:11px;white-space:nowrap;flex:1}.mobile-status-tabs button.active{color:#315fb8;background:#eaf1ff;border-color:#bcd0f6;font-weight:800}}
.storage-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;margin-bottom:22px;background:#edf4ff;border:1px solid #d5e3f6;border-radius:9px;color:#48617f;font-size:12px;line-height:1.7}.storage-notice p{margin:0}.storage-notice a{white-space:nowrap;color:#315fb8;font-weight:700}@media(max-width:700px){.storage-notice{align-items:flex-start;flex-direction:column}input,textarea,select{font-size:16px!important}.mobile-settings{display:block}}@media(min-width:701px) and (max-width:920px){.mobile-settings{display:block}}
.import-feedback{margin-top:14px;padding:14px;border:1px solid #bad8c9;border-radius:10px;background:#f2faf5;color:#27583d;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;max-height:240px;overflow:auto}.import-feedback.error{border-color:#e8b8b8;background:#fff4f4;color:#8d3030}
