.database-import-card,.database-export-card{position:relative;display:grid!important;grid-template-columns:48px minmax(0,1fr) auto;width:100%;text-align:left;font:inherit;color:inherit}.database-card-action{align-self:center;white-space:nowrap;padding:8px 11px;border:1px solid #a9c7df;border-radius:9px;background:#f3f8fc;color:#174d79;font-size:.73rem;font-weight:850}.database-import-card:focus-visible,.database-export-card:focus-visible{outline:3px solid rgba(14,165,233,.3);outline-offset:3px}
.db-import-overlay{position:fixed;inset:0;z-index:10000;background:rgba(3,22,45,.68);display:grid;place-items:center;padding:16px}.db-import-overlay[hidden],.db-import-modal [hidden]{display:none!important}.db-import-modal{display:flex;flex-direction:column;width:min(1420px,98vw);max-height:96vh;overflow:hidden;background:#f5f8fb;border:1px solid #b8cbda;border-radius:18px;box-shadow:0 28px 80px rgba(0,18,43,.35);color:#0b274d}.db-import-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:15px 22px;background:linear-gradient(110deg,#123653,#17687a);color:#fff;border-bottom:3px solid #42c0b4}.db-import-head small{color:#8ee1d8;font-size:10px;font-weight:900;letter-spacing:.11em}.db-import-head h2{margin:2px 0;font-size:23px}.db-import-head p{margin:0;color:#d8e8ee;font-size:12px}.db-import-close{border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.1);color:#fff;border-radius:10px;width:38px;height:38px;font-size:24px;cursor:pointer}
.dbi-steps{display:grid;grid-template-columns:repeat(3,1fr);background:#e8eff4;border-bottom:1px solid #ccd9e2}.dbi-steps span{padding:9px 12px;text-align:center;color:#718396;font-size:10px;font-weight:850}.dbi-steps span.active{background:#fff;color:#137364;box-shadow:inset 0 -3px #24aa91}.db-import-body{min-height:0;padding:18px 22px;overflow:auto}.dbi-start{display:grid;gap:15px;max-width:1040px;margin:auto}.dbi-upload{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:16px;min-height:132px;padding:22px;border:2px dashed #62aa9e;border-radius:16px;background:linear-gradient(145deg,#eaf8f5,#fff);color:#123653;text-align:left;cursor:pointer}.dbi-upload>span{display:grid;place-items:center;width:62px;height:62px;border-radius:14px;background:#178f79;color:#fff;font-size:13px;font-weight:900}.dbi-upload div{display:grid;gap:5px}.dbi-upload b{font-size:20px}.dbi-upload small{color:#60758a;font-size:12px}.dbi-upload strong{padding:11px 15px;border-radius:10px;background:#0e765f;color:#fff;font-size:12px}.dbi-explanation{padding:13px 16px;border:1px solid #c9d9e4;border-radius:12px;background:#fff}.dbi-explanation b{font-size:13px}.dbi-explanation p{margin:4px 0 0;color:#617589;font-size:12px;line-height:1.45}.dbi-template-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dbi-template-actions a,.dbi-template-actions button{display:grid;gap:4px;padding:13px 15px;text-align:left;text-decoration:none;border:1px solid #c7d6e2;border-radius:12px;background:#fff;color:#163b5c;cursor:pointer}.dbi-template-actions small{color:#6a7c8f}
.dbi-file-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:11px;padding:10px 13px;border:1px solid #acd1df;border-radius:11px;background:#eaf7f8}.dbi-file-bar div{display:grid;gap:2px}.dbi-file-bar span{color:#187482;font-size:9px;font-weight:900;letter-spacing:.09em}.dbi-file-bar b{font-size:13px}.dbi-file-bar small{color:#62788b}.dbi-file-bar button{padding:7px 11px;border:1px solid #9ebdce;border-radius:8px;background:#fff;color:#1d5e7b;font-weight:800;cursor:pointer}.dbi-rules{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;padding:11px;border:1px solid #d8c38d;border-radius:11px;background:#fff9e9}.dbi-rules label{display:grid;gap:5px;color:#526983;font-size:10px;font-weight:850;text-transform:uppercase}.dbi-rules select{height:38px;padding:0 10px;border:1px solid #bdcfdd;border-radius:8px;background:#fff;color:#102b50}.dbi-safety-note{margin:0 0 10px;padding:9px 12px;border-left:4px solid #2c9b89;border-radius:8px;background:#eaf8f5;color:#26645c;font-size:11px;font-weight:700}.dbi-mapping{margin-bottom:10px;border:1px solid #cbd9e4;border-radius:11px;background:#fff}.dbi-mapping summary{display:flex;justify-content:space-between;gap:15px;padding:10px 13px;color:#173d5d;font-size:12px;font-weight:850;cursor:pointer}.dbi-mapping summary span{color:#718397;font-size:10px;font-weight:650}.dbi-mapping[open] summary{border-bottom:1px solid #e0e8ee}.dbi-mapping>div{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:11px}.dbi-mapping label{display:grid;gap:4px;color:#5f7286;font-size:9px;font-weight:800}.dbi-mapping select{min-width:0;height:34px;border:1px solid #c7d6e1;border-radius:7px;background:#fff;color:#173b59}
.db-import-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:10px}.db-import-summary div{background:#fff;border:1px solid #d5e1e9;border-radius:9px;padding:8px 11px}.db-import-summary span{display:block;color:#6b7f95;font-size:9px}.db-import-summary b{display:block;margin-top:2px;font-size:17px}.db-import-summary .has-errors{border-color:#eda2aa;background:#fff2f3}.db-import-summary .has-conflicts{border-color:#e4bd64;background:#fff8e9}.db-import-table-wrap{max-height:390px;overflow:auto;border:1px solid #cbd9e4;border-radius:10px;background:#fff}.db-import-table{min-width:1220px;width:100%;border-collapse:collapse;font-size:10px}.db-import-table th{position:sticky;top:0;z-index:2;background:#173a64;color:#fff;text-align:left;padding:8px;border-right:1px solid rgba(255,255,255,.15);white-space:nowrap}.db-import-table td{padding:6px;border-bottom:1px solid #e7edf2;vertical-align:top}.db-import-table tr.error td{background:#fff2f3}.db-import-table tr.conflict td{background:#fff9e9}.db-import-table tr.skipped td{background:#f1f3f5;color:#7c8792}.db-import-table input,.db-import-table select{box-sizing:border-box;width:100%;min-width:88px;height:31px;padding:0 7px;border:1px solid #c5d3de;border-radius:6px;background:#fff;color:#173650;font-size:10px}.db-import-table .dbi-name-input{min-width:250px}.db-import-table .dbi-money-input{min-width:82px}.db-import-table td.num{text-align:right;white-space:nowrap}.dbi-status{display:inline-block;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:900;white-space:nowrap}.dbi-status.new{background:#e1f5e9;color:#14714a}.dbi-status.updated{background:#e7f0ff;color:#215c99}.dbi-status.conflict{background:#ffedbe;color:#855b00}.dbi-status.error{background:#ffe1e4;color:#ad2f3c}.dbi-status.skipped{background:#e7ebef;color:#63717e}.dbi-action-cell{min-width:220px}.dbi-action-cell small{display:block;margin-top:4px;color:#6c7580;line-height:1.3}.dbi-decision{min-width:210px!important}.dbi-limit{margin:5px 0 0;color:#738397;font-size:10px}.db-import-error,.db-import-ready{margin:9px 0 0;padding:10px 11px;border-radius:9px;font-size:12px;font-weight:750}.db-import-error{background:#fff0f0;color:#b42318}.db-import-ready{background:#e8f7ef;color:#116b48}
.db-import-actions{display:flex;justify-content:flex-end;gap:9px;padding:11px 22px;background:#fff;border-top:1px solid #d5e0e8}.db-import-actions button{min-width:110px;height:40px;border:1px solid #c2d2df;border-radius:9px;background:#fff;color:#13345a;font-weight:850;cursor:pointer}.db-import-actions .primary{min-width:220px;background:linear-gradient(110deg,#158a65,#08744d);color:#fff;border-color:#08744d;box-shadow:0 6px 15px rgba(8,116,77,.2)}.db-import-actions .primary:disabled{background:#b8c5ce;border-color:#b8c5ce;box-shadow:none;cursor:not-allowed}
@media(max-width:900px){.database-import-card,.database-export-card{grid-template-columns:44px 1fr}.database-card-action{grid-column:2;justify-self:start}.dbi-upload{grid-template-columns:55px 1fr}.dbi-upload strong{grid-column:2;justify-self:start}.dbi-template-actions,.dbi-rules{grid-template-columns:1fr}.dbi-mapping>div{grid-template-columns:repeat(2,1fr)}.db-import-summary{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.db-import-overlay{padding:7px}.db-import-body{padding:12px}.db-import-head{padding:12px}.dbi-upload{grid-template-columns:1fr}.dbi-upload>span{display:none}.dbi-upload strong{grid-column:1}.dbi-mapping>div{grid-template-columns:1fr}.db-import-summary{grid-template-columns:1fr 1fr}.dbi-mapping summary span{display:none}.db-import-actions{padding:9px 12px;flex-wrap:wrap}.db-import-actions button{flex:1}}
