:root{
    --scs-green:#06452f;
    --scs-green-dark:#033523;
    --scs-ink:#30281f;
    --scs-muted:#68716b;
    --scs-cream:#f8f5ef;
    --scs-line:#e5ddd1;
    --scs-white:#fff;
    --scs-shadow:0 18px 48px rgba(36,30,23,.07);
}

.scs-page-shell{
    width:min(1120px,calc(100% - 40px));
    margin:48px auto 72px;
    box-sizing:border-box;
}
.scs-page-shell--narrow{width:min(820px,calc(100% - 40px))}
.scs-page-shell--form{width:min(1120px,calc(100% - 40px))}
.scs-page-shell--dashboard{width:min(1160px,calc(100% - 40px))}
.scs-page-shell--listing{margin-top:36px;margin-bottom:56px}
.scs-page-head{max-width:780px;margin:0 0 30px}
.scs-page-head h1{margin:.18em 0 .3em;color:var(--scs-ink);font-size:clamp(2rem,4vw,3.1rem);line-height:1.08}
.scs-kicker{margin:0;color:var(--scs-green);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.scs-page-intro{max-width:720px;margin:0;color:var(--scs-muted);font-size:1.05rem;line-height:1.7}
.scs-section-title{margin:34px 0 16px;color:var(--scs-ink)}

.scs-form,.scs-box{
    box-sizing:border-box;
    background:var(--scs-white);
    border:1px solid var(--scs-line);
    border-radius:16px;
    padding:28px;
    margin:22px 0;
    box-shadow:var(--scs-shadow);
}
.scs-form{padding:34px}
.scs-form-section{margin:0 0 34px;padding:0 0 34px;border-bottom:1px solid var(--scs-line)}
.scs-form-section:last-of-type{margin-bottom:24px;padding-bottom:24px}
.scs-section-heading{display:flex;justify-content:space-between;gap:28px;align-items:flex-start;margin:0 0 22px}
.scs-section-heading h2{margin:7px 0 0;color:var(--scs-ink);font-size:1.55rem}
.scs-section-heading p{max-width:470px;margin:4px 0 0;color:var(--scs-muted);line-height:1.55}
.scs-section-badge{display:inline-block;border-radius:999px;padding:5px 9px;background:#eee9e1;color:#5e5449;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.scs-section-badge--public{background:#e7f4ec;color:var(--scs-green)}
.scs-form-section--private{background:linear-gradient(135deg,#fff,#fcfaf6);border:1px solid var(--scs-line);border-radius:13px;padding:24px;margin-bottom:24px}
.scs-form-section--public{background:linear-gradient(135deg,#fff,#f8fbf9);border:1px solid #dbe9e1;border-radius:13px;padding:24px;margin-bottom:24px}
.scs-form-section--terms{border:1px solid var(--scs-line);border-radius:13px;background:var(--scs-cream);padding:24px;margin-bottom:22px}

.scs-form label{display:block;font-weight:650;margin:0 0 16px;color:var(--scs-ink)}
.scs-form input[type=text],
.scs-form input[type=email],
.scs-form input[type=tel],
.scs-form input[type=url],
.scs-form input[type=number],
.scs-form input[type=date],
.scs-form input[type=datetime-local],
.scs-form input[type=file],
.scs-form select,
.scs-form textarea,
.scs-filters select{
    box-sizing:border-box;
    width:100%;
    margin-top:7px;
    padding:12px 13px;
    border:1px solid #cfc8bd;
    border-radius:9px;
    background:#fff;
    color:var(--scs-ink);
    font:inherit;
    transition:border-color .18s ease,box-shadow .18s ease;
}
.scs-form input[type=file]{padding:9px;background:#fbfaf7}
.scs-form input:focus,.scs-form select:focus,.scs-form textarea:focus,.scs-filters select:focus{outline:0;border-color:var(--scs-green);box-shadow:0 0 0 3px rgba(6,69,47,.11)}
.scs-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}
.scs-checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 22px}
.scs-check{font-weight:400!important;display:flex!important;align-items:flex-start;gap:9px;line-height:1.45}
.scs-check input{flex:0 0 auto;margin-top:4px}
.scs-help{font-weight:400;color:var(--scs-muted);font-size:.9em}
.scs-credentials-toggle{margin-bottom:18px!important}
.scs-credentials-fields[hidden]{display:none!important}
.scs-submit-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.scs-submit-row p{margin:0;color:var(--scs-muted)}

.scs-button{
    display:inline-block;
    border:1px solid var(--scs-green);
    border-radius:9px;
    background:var(--scs-green);
    color:#fff!important;
    padding:11px 18px;
    text-decoration:none!important;
    font-weight:750;
    line-height:1.2;
    cursor:pointer;
    transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.scs-button:hover,.scs-button:focus{background:var(--scs-green-dark);border-color:var(--scs-green-dark);transform:translateY(-1px)}
.scs-button-secondary{background:#fff;color:var(--scs-green)!important;border:1px solid var(--scs-green)}
.scs-button-secondary:hover,.scs-button-secondary:focus{background:#edf5f1;color:var(--scs-green-dark)!important}
.scs-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}
.scs-auth-box{padding:26px}

.scs-notice{padding:14px 18px;border-radius:9px;background:#e8f5ed;border-left:4px solid #0a6847;margin:18px 0;color:#184a36}
.scs-notice-error{background:#fff0ef;border-left-color:#a9382f;color:#6d2822}

.scs-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:14px;padding:18px;background:var(--scs-cream);border:1px solid var(--scs-line);border-radius:13px;margin:20px 0 30px}
.scs-filters label{font-weight:700;color:var(--scs-ink)}
.scs-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.scs-empty-state{grid-column:1/-1;margin:0;min-height:108px;display:flex;flex-direction:column;justify-content:center}.scs-empty-state h2{margin:0 0 8px;color:var(--scs-ink);font-size:1.45rem}.scs-empty-state p{margin:0;color:var(--scs-muted)}
.scs-card{border:1px solid var(--scs-line);border-radius:15px;overflow:hidden;background:#fff;box-shadow:var(--scs-shadow)}
.scs-card-image{display:block;width:100%;height:230px;object-fit:cover}
.scs-card-placeholder{height:230px;display:flex;align-items:center;justify-content:center;background:#f0ede7;color:#5b625e;font-weight:700}
.scs-card-body{padding:18px}.scs-card-body h3{margin-top:0}.scs-card-body h3 a{color:var(--scs-ink);text-decoration:none}.scs-card-professional{font-weight:700;color:var(--scs-green)}
.scs-pagination{margin:28px 0;display:flex;gap:8px;justify-content:center}.scs-pagination .page-numbers{padding:8px 11px;border:1px solid #ddd;border-radius:6px;text-decoration:none}.scs-pagination .current{background:var(--scs-green);color:#fff}

.scs-service-detail{width:min(1120px,calc(100% - 40px));margin:34px auto 64px}
.scs-detail-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:24px}
.scs-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 24px;padding-bottom:4px}
.scs-tabs a{padding:9px 14px;border-radius:999px;border:1px solid #cfc8bd;text-decoration:none;color:var(--scs-ink)}
.scs-tabs a.active{background:var(--scs-green);border-color:var(--scs-green);color:#fff}
.scs-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0}
.scs-stats>div{background:var(--scs-cream);border:1px solid var(--scs-line);border-radius:12px;padding:20px}
.scs-stats strong{display:block;font-size:1.7rem;color:var(--scs-green)}.scs-stats span{display:block;margin-top:5px}
.scs-list{border:1px solid var(--scs-line);border-radius:12px;overflow:hidden;background:#fff}
.scs-list-item{display:flex;justify-content:space-between;gap:20px;padding:16px 18px;border-bottom:1px solid var(--scs-line)}.scs-list-item:last-child{border-bottom:0}
.scs-inline-form{display:flex;flex-wrap:wrap;gap:10px}
.scs-form fieldset{border:1px solid #ddd5ca;border-radius:10px;padding:16px;margin:18px 0}.scs-form legend{font-weight:700;padding:0 8px;color:var(--scs-ink)}
.scs-welfare-commitment{background:#fbf8f2}.scs-welfare-public-note{margin:28px 0 0;padding:17px 20px;border:1px solid #dbe9e1;border-left:4px solid var(--scs-green);border-radius:12px;background:#f7fbf8;color:#315849;line-height:1.55}.scs-welfare-report-box{margin:28px 0 0;padding:25px;border:1px solid #ead6c9;border-radius:14px;background:#fffaf7}.scs-welfare-report-box h3{margin:0 0 8px;color:var(--scs-ink)}.scs-welfare-report-box>p{margin:0 0 16px;color:var(--scs-muted);line-height:1.55}.scs-welfare-report-form{margin:0;box-shadow:none;background:#fff}

@media(max-width:900px){
    .scs-page-shell,.scs-page-shell--narrow,.scs-page-shell--form,.scs-page-shell--dashboard,.scs-service-detail{width:min(100% - 28px,1120px)}
    .scs-cards,.scs-grid-2,.scs-detail-grid,.scs-stats{grid-template-columns:1fr 1fr}
    .scs-filters{grid-template-columns:1fr 1fr}
    .scs-section-heading{display:block}.scs-section-heading p{max-width:none;margin-top:10px}
}
@media(max-width:620px){
    .scs-page-shell,.scs-page-shell--narrow,.scs-page-shell--form,.scs-page-shell--dashboard,.scs-service-detail{width:calc(100% - 22px);margin-top:28px;margin-bottom:48px}
    .scs-form,.scs-box{padding:20px;border-radius:13px}.scs-form{padding:18px}
    .scs-form-section--private,.scs-form-section--public,.scs-form-section--terms{padding:18px}
    .scs-cards,.scs-grid-2,.scs-detail-grid,.scs-stats,.scs-checkbox-grid,.scs-filters{grid-template-columns:1fr}
    .scs-card-image,.scs-card-placeholder{height:210px}.scs-list-item{display:block}
    .scs-page-head h1{font-size:2rem}.scs-page-intro{font-size:1rem}
    .scs-submit-row{align-items:stretch}.scs-submit-row .scs-button{width:100%;text-align:center}
}
