*{box-sizing:border-box}
#tnjw-wrap{font-family:'Segoe UI',Arial,sans-serif;max-width:920px;margin:0 auto;background:#f4f7fb;border-radius:10px;overflow:hidden;box-shadow:0 3px 20px rgba(0,0,0,.1)}
.tnjw-topbar{background:linear-gradient(135deg,#1a9fd4,#0d7ab5);color:#fff;padding:14px 22px;display:flex;align-items:center;justify-content:space-between}
.tnjw-brand{font-size:22px;font-weight:700;letter-spacing:1px}
.tnjw-alert-link{background:rgba(255,255,255,.2);color:#fff;padding:8px 16px;border-radius:20px;text-decoration:none;font-size:14px;transition:.2s}
.tnjw-alert-link:hover{background:rgba(255,255,255,.35);color:#fff}
.tnjw-search-area{background:#fff;padding:24px 22px 16px;border-bottom:1px solid #e4e4e4}
.tnjw-input-row{display:flex;gap:10px;margin-bottom:14px}
#tnjw-q{flex:1;padding:13px 16px;border:2px solid #1a9fd4;border-radius:7px;font-size:16px;outline:none;transition:.2s}
#tnjw-q:focus{border-color:#0d7ab5;box-shadow:0 0 0 3px rgba(26,159,212,.15)}
#tnjw-btn{background:linear-gradient(135deg,#1a9fd4,#0d7ab5);color:#fff;border:none;padding:13px 26px;border-radius:7px;font-size:16px;font-weight:700;cursor:pointer;white-space:nowrap;transition:.15s}
#tnjw-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(13,122,181,.4)}
#tnjw-btn:active{transform:translateY(0)}
.tnjw-tags{display:flex;flex-wrap:wrap;gap:8px}
.tnjw-tags span{background:#e8f4fd;color:#0d7ab5;padding:5px 13px;border-radius:20px;font-size:13px;cursor:pointer;border:1px solid #b8ddf5;transition:.2s}
.tnjw-tags span:hover{background:#1a9fd4;color:#fff;border-color:#1a9fd4}
#tnjw-loading{text-align:center;padding:44px 20px;color:#555}
.tnjw-spin{width:42px;height:42px;border:4px solid #e0e0e0;border-top-color:#1a9fd4;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 14px}
@keyframes spin{to{transform:rotate(360deg)}}
.tnjw-error{background:#fff3f3;border:1px solid #ffcdd2;color:#c62828;padding:14px 20px;margin:16px 20px;border-radius:7px;font-size:15px}
#tnjw-out{padding:20px}
.tnjw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(275px,1fr));gap:16px}
.tnjw-card{background:#fff;border-radius:9px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.08);border:1px solid #e8e8e8;transition:.2s}
.tnjw-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.12)}
.tnjw-card-head{background:linear-gradient(135deg,#1a9fd4,#0d7ab5);color:#fff;padding:14px 16px}
.tnjw-card-head h4{margin:0 0 4px;font-size:16px;line-height:1.3}
.tnjw-dept{font-size:12px;opacity:.9}
.tnjw-card-body{padding:13px 16px}
.tnjw-row{display:flex;justify-content:space-between;font-size:13px;color:#555;padding:6px 0;border-bottom:1px solid #f0f0f0}
.tnjw-row:last-child{border:none}
.tnjw-row strong{color:#333}
.tnjw-card-foot{padding:11px 16px;background:#f9f9f9;display:flex;gap:8px;border-top:1px solid #eee}
.tnjw-apply{flex:1;background:#1a9fd4;color:#fff;padding:9px;border-radius:5px;text-align:center;font-size:13px;font-weight:700;text-decoration:none;transition:.2s}
.tnjw-apply:hover{background:#0d7ab5;color:#fff}
.tnjw-save{background:#fff;border:2px solid #1a9fd4;color:#1a9fd4;padding:9px 13px;border-radius:5px;font-size:16px;cursor:pointer;transition:.2s}
.tnjw-save:hover,.tnjw-save.ok{background:#1a9fd4;color:#fff}
.tnjw-alert-box{background:#fff;padding:28px 22px;border-top:3px solid #1a9fd4;margin-top:8px}
.tnjw-alert-box h3{color:#0d7ab5;margin:0 0 6px}
.tnjw-alert-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.tnjw-alert-fields input{padding:11px 14px;border:1.5px solid #ddd;border-radius:6px;font-size:14px;outline:none;transition:.2s}
.tnjw-alert-fields input:focus{border-color:#1a9fd4}
#al-btn{grid-column:span 2;background:linear-gradient(135deg,#1a9fd4,#0d7ab5);color:#fff;border:none;padding:13px;border-radius:6px;font-size:15px;font-weight:700;cursor:pointer}
#al-btn:hover{opacity:.9}
#al-msg{margin-top:12px;padding:12px;border-radius:6px;font-size:14px;display:none}
#al-msg.ok{background:#e8f5e9;color:#2e7d32;display:block}
#al-msg.err{background:#fff3f3;color:#c62828;display:block}
.tnjw-empty{text-align:center;padding:60px 20px;color:#888}
.tnjw-empty a{color:#1a9fd4}
@media(max-width:600px){.tnjw-input-row{flex-direction:column}.tnjw-alert-fields{grid-template-columns:1fr}#al-btn{grid-column:span 1}.tnjw-grid{grid-template-columns:1fr}.tnjw-topbar{flex-direction:column;gap:10px;text-align:center}}
