:root{
    --dbi-bg:#f6f7fb;
    --dbi-card:#ffffff;
    --dbi-text:#1f2937;
    --dbi-muted:#6b7280;
    --dbi-border:#e5e7eb;
    --dbi-primary:#2563eb;
    --dbi-primary-600:#1d4ed8;
    --dbi-topbar:#1e3a8a;
    --dbi-topbar-2:#1d4ed8;
    --dbi-shadow:0 1px 2px rgba(16,24,40,0.06);
}

html,body{
    height:100%;
}

body{
    margin:0;
    background:var(--dbi-bg);
    color:var(--dbi-text);
    font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,"PingFang SC","Microsoft YaHei",sans-serif;
    overflow:hidden;
}

.hilite{
    background:#fda;
}

.dbi-topbar{
    background:linear-gradient(90deg,var(--dbi-topbar),var(--dbi-topbar-2));
    color:#fff;
}
.dbi-topbar__inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px 14px;
    padding:10px 12px;
}
.dbi-topbar a{
    color:#fff;
    text-decoration:none;
    opacity:0.95;
}
.dbi-topbar a:hover{
    text-decoration:underline;
    opacity:1;
}
.dbi-brand{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}
.dbi-brand__title{
    font-weight:700;
    letter-spacing:0.2px;
    white-space:nowrap;
}
.dbi-brand__sub{
    opacity:0.9;
    font-size:13px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:46vw;
}

.dbi-user{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.dbi-user__name{
    opacity:0.95;
    white-space:nowrap;
}
.dbi-user__links{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.dbi-shell{
    height:calc(100vh - 46px);
    padding:10px 10px 12px;
    box-sizing:border-box;
}

#layout{
    width:100%;
    height:100%;
}

.dbi-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px 12px;
    padding:10px 12px;
    background:var(--dbi-card);
    border:1px solid var(--dbi-border);
    border-radius:12px;
    box-shadow:var(--dbi-shadow);
}
.dbi-toolbar__left{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    min-width:0;
}
.dbi-toolbar__right{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.dbi-toolbar__title{
    font-weight:700;
    white-space:nowrap;
}
.dbi-toolbar__muted{
    color:var(--dbi-muted);
    font-size:13px;
    white-space:nowrap;
}

.dbi-input{
    height:32px;
    padding:0 10px;
    border:1px solid var(--dbi-border);
    border-radius:8px;
    background:#fff;
    outline:none;
    min-width:240px;
    max-width:44vw;
}
.dbi-input:focus{
    border-color:rgba(37,99,235,0.55);
    box-shadow:0 0 0 3px rgba(37,99,235,0.12);
}

.dbi-btn{
    height:32px;
    padding:0 12px;
    border-radius:8px;
    border:1px solid var(--dbi-border);
    background:#fff;
    color:var(--dbi-text);
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:6px;
    cursor:pointer;
    user-select:none;
}
.dbi-btn:hover{
    border-color:#cbd5e1;
    background:#f8fafc;
    text-decoration:none;
}
.dbi-btn--primary{
    border-color:rgba(37,99,235,0.25);
    background:rgba(37,99,235,0.08);
    color:var(--dbi-primary-600);
}
.dbi-btn--primary:hover{
    background:rgba(37,99,235,0.12);
}
.dbi-btn--link{
    border-color:transparent;
    background:transparent;
    padding:0 6px;
    height:28px;
    color:var(--dbi-primary-600);
}
.dbi-btn--link:hover{
    text-decoration:underline;
    background:transparent;
    border-color:transparent;
}

.dbi-panel-pad{
    padding:10px;
    box-sizing:border-box;
}

.w2ui-layout{
    background:transparent !important;
}
.w2ui-layout > div{
    background:transparent !important;
}
.w2ui-panel{
    background:transparent !important;
}
.w2ui-panel .w2ui-panel-content{
    background:transparent !important;
    padding:0 !important;
}
.w2ui-resizer{
    background:transparent !important;
}

.tree.well{
    margin:0 !important;
    background:var(--dbi-card) !important;
    border:1px solid var(--dbi-border) !important;
    border-radius:12px !important;
    box-shadow:var(--dbi-shadow) !important;
    padding:10px 10px 12px !important;
}
.tree li{
    padding:8px 5px 0 5px !important;
}
.tree li span{
    border:1px solid var(--dbi-border) !important;
    border-radius:10px !important;
    padding:4px 10px !important;
    background:#fff;
}
.tree li.parent_li>span:hover,
.tree li.parent_li>span:hover+ul li span{
    background:#f8fafc !important;
    border-color:#cbd5e1 !important;
}

.dbi-main{
    padding:12px;
}
.dbi-main__head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px 12px;
    flex-wrap:wrap;
    margin-bottom:10px;
}
.dbi-main__title{
    font-size:16px;
    font-weight:800;
}
.dbi-main__links{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}

.dbi-chip{
    display:inline-flex;
    align-items:center;
    height:26px;
    padding:0 10px;
    border-radius:999px;
    border:1px solid var(--dbi-border);
    background:#fff;
    color:var(--dbi-primary-600);
    text-decoration:none;
    font-size:12px;
}
.dbi-chip:hover{
    border-color:#cbd5e1;
    background:#f8fafc;
    text-decoration:none;
}

.dbi-section{
    margin-top:12px;
}
.dbi-section__title{
    font-size:13px;
    color:var(--dbi-muted);
    margin:8px 0;
}
.dbi-card-list{
    display:flex;
    flex-direction:column;
    gap:10px;
}
.dbi-card{
    background:var(--dbi-card);
    border:1px solid var(--dbi-border);
    border-radius:12px;
    box-shadow:var(--dbi-shadow);
    padding:10px 12px;
}
.dbi-card__row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    flex-wrap:wrap;
}
.dbi-card__title{
    color:var(--dbi-primary-600);
    text-decoration:none;
    font-weight:700;
}
.dbi-card__title:hover{
    text-decoration:underline;
}
.dbi-card__memo{
    margin-top:6px;
    color:var(--dbi-text);
    font-size:13px;
    line-height:1.6;
    white-space:pre-wrap;
}

table#data{
    width:100%;
    border-collapse:separate;
    border-spacing:0;
    background:var(--dbi-card);
    border:1px solid var(--dbi-border);
    border-radius:12px;
    overflow:hidden;
    box-shadow:var(--dbi-shadow);
}
table#data td, table#data th{
    border:0 !important;
    border-bottom:1px solid var(--dbi-border) !important;
    padding:8px 10px !important;
    font-size:13px;
    vertical-align:top;
}
table#data tr:last-child td{
    border-bottom:0 !important;
}
table#data tr:hover td{
    background:#f8fafc;
}
