:root{
    --iu-bg:#f7f7f8;
    --iu-surface:#ffffff;
    --iu-border:#e5e5e5;
    --iu-text:#202124;
    --iu-sub:#5f6368;
    --iu-primary:#202124;
    --iu-radius:12px;
    --iu-max-width:720px;
}

*{
    box-sizing:border-box;
}

html{
    font-size:18px;
}

body{
    margin:0 auto;
    max-width:var(--iu-max-width);
    background:var(--iu-bg);
    color:var(--iu-text);
    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        "Apple SD Gothic Neo",
        "Malgun Gothic",
        sans-serif;
    padding-bottom:90px;
}

.header{
    position:sticky;
    top:0;
    z-index:100;
    background:var(--iu-bg);
}

.title{
    font-size:1.35rem;
    font-weight:700;
    letter-spacing:-0.04em;
}

.iu-page{
    padding:16px;
}

.iu-page-title{
    display:block;
    width:100%;
    text-align:center;

    font-size:1.35rem;
    font-weight:700;
    line-height:1.35;
    letter-spacing:-0.04em;

    margin:0 0 1rem 0;
    padding:0;
}

.section{
    background:var(--iu-surface);
    border-bottom:1px solid var(--iu-border);
    padding:16px;
}

.iu-box{
    background:var(--iu-surface);
    border:1px solid var(--iu-border);
    border-radius:var(--iu-radius);
    padding:16px;
}

.feed-item,
.notice-item,
.history-item{
    display:block;
    text-decoration:none;
    color:inherit;
    padding:16px;
    border-bottom:1px solid var(--iu-border);
    background:var(--iu-surface);
}

.feed-item:last-child,
.notice-item:last-child,
.history-item:last-child{
    border-bottom:0;
}

.iu-feed-title{
    display:block;
    font-size:1.2rem;
    font-weight:700;
    line-height:1.35;
    letter-spacing:-0.045em;
    margin-bottom:4px;
}

.feed-text{
    display:block;
    font-size:1.2rem;
    font-weight:600;
    line-height:1.35;
    letter-spacing:-0.045em;
    margin-bottom:4px;
}

.feed-type{
    font-size:1.2rem;
    font-weight:500;
    margin-bottom:4px;
}

.meta{
    color:var(--iu-sub);
    font-size:1.0rem;
    font-weight:500;
    margin-top:6px;
}

.iu-label,
.label{
    color:var(--iu-sub);
    font-size:1.0rem;
}

.value{
    font-weight:600;
}

.stat{
    text-align:center;
}

.stat-value{
    font-size:1.2rem;
    font-weight:700;
}

.stat-label{
    color:var(--iu-sub);
    font-size:1.0rem;
}

.btn{
    border-radius:4px;
}

input,
select,
textarea{
    border-radius:10px !important;
}

.form-control,
.form-select{
    min-height:48px;
    font-size:1.1rem;
}

a{
    color:inherit;
    text-decoration:none;
    -webkit-tap-highlight-color:transparent;
}

a:hover,
a:active,
a:focus{
    color:inherit;
    text-decoration:none;
}

a.feed-item,
a.notice-item,
a.history-item{
    display:block;
    background:var(--iu-surface);
    color:var(--iu-text);
    text-decoration:none;
}

a.feed-item:hover,
a.notice-item:hover,
a.history-item:hover{
    background:#f1f1f2;
    color:var(--iu-text);
    text-decoration:none;
}

a .iu-feed-title{
    color:inherit;
    text-decoration:none;
    font-size:1.2rem;
    font-weight:700;

}

a .feed-text{
    color:inherit;
    text-decoration:none;
    font-size:1.2rem;
    font-weight:500;
}

a .feed-type,
a .meta{
    color:inherit;
    text-decoration:none;
    font-size:1.2rem;
    font-weight:600;
}

.iu-top-menu-wrap{
    position:fixed;
    top:10px;
    right:12px;
    z-index:9999;
}

.iu-top-menu-btn{
    appearance:none;
    -webkit-appearance:none;

    width:40px;
    height:40px;
    padding:0;
    margin:0;

    border:none;
    outline:none;
    box-shadow:none;

    background:transparent;
    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:28px;
    font-weight:700;
    line-height:1;
    color:#202124;

    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
}

.iu-top-menu-btn:focus,
.iu-top-menu-btn:active{
    outline:none;
    border:none;
    box-shadow:none;
    background:transparent;
}

.iu-top-menu-btn:hover{
    background:#f1f3f4;
}

.iu-top-menu-panel{
    display:none;
    position:absolute;
    right:0;
    top:42px;
    width:190px;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:16px;
    box-shadow:0 8px 24px rgba(0,0,0,.13);
    z-index:9999;
    overflow:hidden;
}

.iu-top-menu-panel a{
    display:block;
    padding:12px 15px;
    color:#202124;
    text-decoration:none;
    font-size:.95rem;
    font-weight:700;
    letter-spacing:-.035em;
}

.iu-top-menu-panel a:hover{
    background:#f7f7f8;
}

.iu-top-menu-line{
    height:1px;
    background:#e5e7eb;
    margin:4px 0;
}

.bottom-menu{
    position:fixed;
    left:50%;
    bottom:0;
    transform:translateX(-50%);

    width:100%;
    max-width:var(--iu-max-width);
    height:60px;

    background:#fff;
    border-top:1px solid var(--iu-border);

    display:flex;
    justify-content:space-around;
    align-items:center;

    z-index:9998;
}

.bottom-menu a{
    flex:1;

    display:flex;
    justify-content:center;
    align-items:center;

    height:100%;

    text-align:center;
    text-decoration:none;
    color:#444;

    font-size:1rem;
    font-weight:600;
}

.bottom-menu a.active{
    font-weight:700;
}

.iu-brand{
    display:block;
    font-size:1.35rem;
    font-weight:700;
    line-height:1.35;
    letter-spacing:-0.045em;
    color:#7c3aed;
    text-decoration:none;
}

.iu-view-title{
    display:block;
    font-size:1.35rem;
    font-weight:700;
    line-height:1.35;
    letter-spacing:-0.045em;
    margin:10px 0 10px 0;
}

.iu-view-contents{
    white-space:pre-wrap;
    word-break:break-word;
    font-size:1.2rem;
    font-weight:650;
    line-height:1.7;
    letter-spacing:-0.04em;
}

.iu-empty-result{
    padding:40px 20px;
    text-align:center;
    color:#6b7280;
    font-size:16px;
    line-height:1.7;
}

.btn-sm{
    padding:3px 12px;
    font-size:1.0rem;
}

.btn-outline-dark{
    background:#fff;
    color:#202124;
    border:1px solid #202124;
}

.btn-outline-dark:hover{
    background:#202124;
    color:#fff;
}

.iu-site-header{
    position:relative;
    z-index:20;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(10px);
}

.iu-site-header-inner{
    display:flex;
    align-items:center;
    gap:12px;
    padding-right:54px;
}

.iu-brand:hover{
    color:#242429;
}

.iu-brand-mark{
    display:inline-grid;
    place-items:center;
    width:25px;
    height:25px;
    border-radius:8px;
    background:#6948b3;
    color:#fff;
    font-size:1.2rem;
    font-weight:800;
    letter-spacing:-.09em;
}

.iu-site-member{
    white-space:nowrap;
    overflow:visible;
    text-overflow:clip;
    font-size:1.2rem;
    font-weight:500;
    line-height:1.35;
    letter-spacing:-0.045em;
    margin:10px 0 10px 0;

}

.iu-site-location{
    margin-top:3px;
    max-width:100%;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
    font-size:1.1rem;
    font-weight:500;
    line-height:1.0;
    letter-spacing:-0.045em;
}

.iu-box+.iu-box{
    margin-top:12px;
}

.feed-item:first-child,
.notice-item:first-child,
.history-item:first-child{
    padding-top:0;
}

#iuFeedList{
    width:min(100%,var(--iu-max-width));
    margin:0 auto;
    background:var(--iu-surface);
    border-left:1px solid var(--iu-border);
    border-right:1px solid var(--iu-border);
}

#iuFeedList .feed-item{
    padding-left:20px;
    padding-right:20px;
}

.text-muted,
.feed-meta{
    color:var(--iu-sub)!important;
    font-size:1.26rem;
}

.form-control:focus,
.form-select:focus{
    border-color:#9a83cf;
    box-shadow:0 0 0 3px rgba(105,72,179,.12)!important;
}

textarea.form-control{
    min-height:120px;
}

.btn-primary{
    background:#6948b3;
    border-color:#6948b3;
}

.btn-primary:hover,
.btn-primary:focus{
    background:#59399d;
    border-color:#59399d;
}

.btn-dark{
    background:#29292f;
    border-color:#29292f;
}

.btn-outline-primary{
    border-color:#b7a7dc;
    color:#5b409d;
}

.btn-outline-primary:hover{
    background:#6948b3;
    border-color:#6948b3;
}

.alert{
    border-radius:10px;
    border-color:#e5e2ee;
    background:#faf9fd;
    color:#4d465d;
    font-size:1.26rem;
}

.table{
    --bs-table-bg:transparent;
    --bs-table-border-color:var(--iu-border);
    font-size:1.26rem;
}

.table>thead{
    color:#696873;
    font-size:1.26rem;
    font-weight:700;
}

.table>tbody>tr:last-child>*{
    border-bottom:0;
}

.bottom-menu a:hover{
    color:#6344a9;
    font-weight:760;
}

.iu-top-menu-install{
    display:block;
    width:100%;
    padding:11px 13px;
    border:0;
    background:#fff;
    color:#5b409d;
    text-align:left;
    font:inherit;
    font-size:1.26rem;
    font-weight:700;
}

.iu-top-menu-install:hover{
    background:#f7f4fc;
}

/* 공통 표시 상태 */
.iu-is-hidden{
    display:none;
}

/* 관리자 대시보드 */
.iu-admin-dashboard-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}

.iu-admin-stat-grid,
.iu-admin-action-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:14px;
}

.iu-admin-stat-card,
.iu-admin-action-card{
    border:1px solid var(--iu-border);
    border-radius:12px;
    background:var(--iu-surface);
    padding:14px;
}

.iu-admin-stat-label,
.iu-admin-action-card span{
    display:block;
    color:var(--iu-sub);
    font-size:1.05rem;
    font-weight:650;
}

.iu-admin-stat-value{
    margin-top:4px;
    color:#242429;
    font-size:1.45rem;
    font-weight:800;
    letter-spacing:-.045em;
}

.iu-admin-action-card{
    color:#242429;
    text-decoration:none;
}

.iu-admin-action-card:hover{
    border-color:#9a83cf;
    background:#faf8ff;
    color:#4f328d;
}

.iu-admin-action-card strong{
    display:block;
    margin-top:3px;
    font-size:1.35rem;
}

.iu-admin-action-card small,
.iu-admin-summary-line{
    color:var(--iu-sub);
    font-size:1rem;
    font-weight:600;
}

.iu-admin-summary-line{
    margin-top:14px;
}

.iu-target-region-box{
    border-top:1px solid var(--iu-border);
    padding-top:16px;
}

.iu-target-region-list{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.iu-target-chip{
    display:inline-flex;
    align-items:center;
    gap:6px;
    max-width:100%;
    padding:8px 10px;
    border:1px solid #d8cdec;
    border-radius:999px;
    background:#faf8ff;
    color:#3d2f5f;
    font-size:1.05rem;
    font-weight:700;
}

.iu-target-chip-remove{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:22px;
    height:22px;
    border:0;
    border-radius:50%;
    background:#eee7fa;
    color:#5b409d;
    font-size:1.1rem;
    line-height:1;
}

@media (max-width:420px){
    .iu-admin-stat-grid,
    .iu-admin-action-grid{
        grid-template-columns:1fr;
    }
}
