@import url("login-shell.css");

:root{--ink:#10213a;--muted:#66758a;--blue:#1557d6;--blue2:#0f7ca4;--line:#dfe7f0;--surface:#f4f8fc;--white:#fff;--shadow:0 18px 50px rgba(16,33,58,.1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Pretendard,"Noto Sans KR",Arial,sans-serif;background:#fff;line-height:1.6}a{color:inherit;text-decoration:none}.sub-header{height:76px;display:grid;grid-template-columns:220px 1fr auto;align-items:center;padding:0 6vw;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:20}.sub-brand{font-size:27px;font-weight:900;color:var(--blue)}.sub-nav{display:flex;justify-content:center;gap:28px;font-size:14px;font-weight:800}.sub-actions{display:flex;gap:9px}.chip{padding:9px 14px;border:1px solid var(--line);border-radius:999px;font-size:13px;font-weight:800}.chip.primary{color:#fff;background:var(--blue);border-color:var(--blue)}.page-hero{padding:76px 7vw 62px;background:linear-gradient(145deg,#f7fbff,#edf5ff)}.eyebrow{margin:0 0 10px;color:var(--blue);font-size:12px;font-weight:900;letter-spacing:1.8px}.page-hero h1{margin:0;font-size:56px;line-height:1.13;letter-spacing:-2.8px}.page-hero p:last-child{max-width:720px;margin:20px 0 0;color:var(--muted);font-size:18px}.page-shell{padding:56px 7vw 100px}.search-panel{display:grid;grid-template-columns:1fr 180px 150px;gap:10px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);margin-top:30px;position:relative}.field,.select{width:100%;min-height:54px;padding:0 17px;border:1px solid var(--line);border-radius:13px;background:#fff;font-size:15px}.search-button{border:0;border-radius:13px;color:#fff;background:linear-gradient(135deg,var(--blue),#0d3f9f);font-weight:900;font-size:15px}.section-title{margin:58px 0 24px}.section-title h2{margin:0;font-size:34px;letter-spacing:-1.5px}.section-title p{margin:8px 0 0;color:var(--muted)}.school-grid,.service-grid,.role-grid,.download-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.school-card,.service-card,.role-card,.download-card{padding:28px;border:1px solid var(--line);border-radius:20px;background:#fff;transition:.22s}.school-card:hover,.service-card:hover,.role-card:hover,.download-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.school-card-head{display:flex;justify-content:space-between;gap:20px}.school-card h3,.service-card h3,.role-card h3,.download-card h3{margin:0 0 8px;font-size:23px}.meta{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.tag{padding:6px 10px;border-radius:999px;background:#eef4ff;color:var(--blue);font-size:12px;font-weight:800}.card-note{color:var(--muted);font-size:14px}.card-link{display:inline-block;margin-top:16px;color:var(--blue);font-weight:900}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px}.detail-main,.detail-side{display:grid;gap:16px}.panel{padding:28px;border:1px solid var(--line);border-radius:20px;background:#fff}.panel h2,.panel h3{margin-top:0}.place-list,.step-list{display:grid;gap:10px;padding:0;list-style:none}.place-list li,.step-list li{padding:14px 16px;border-radius:13px;background:var(--surface)}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-actions a{padding:15px;text-align:center;border-radius:13px;background:#eef4ff;color:var(--blue);font-weight:900}.legacy-box{padding:20px;border-radius:16px;background:#10213a;color:#fff}.legacy-box p{opacity:.75}.legacy-box a{display:block;margin-top:12px;padding:13px;text-align:center;border-radius:11px;background:#fff;color:#10213a;font-weight:900}.service-card{min-height:245px;display:flex;flex-direction:column}.service-card .number{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#eef4ff;color:var(--blue);font-weight:900;margin-bottom:35px}.service-card p,.role-card p,.download-card p{color:var(--muted)}.service-card a,.role-card a{margin-top:auto;color:var(--blue);font-weight:900}.filter-row{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:24px}.filter-row button{padding:10px 14px;border:1px solid var(--line);background:#fff;border-radius:999px;font-weight:800}.filter-row button.active{color:#fff;background:var(--blue);border-color:var(--blue)}.download-card{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}.download-button{padding:12px 16px;border-radius:12px;background:#eef4ff;color:var(--blue);font-weight:900}.role-card{min-height:260px;display:flex;flex-direction:column}.role-card.featured{color:#fff;background:linear-gradient(145deg,#1557d6,#0f7ca4);border:0}.role-card.featured p,.role-card.featured a{color:#fff}.role-list{padding-left:18px;color:var(--muted)}.role-card.featured .role-list{color:rgba(255,255,255,.82)}.empty{padding:48px;text-align:center;border:1px dashed var(--line);border-radius:18px;color:var(--muted)}.sub-footer{padding:40px 7vw;color:#b9c5d3;background:#0d1a2a}.sub-footer strong{color:#fff;font-size:22px}.print-shop-grid{grid-template-columns:repeat(4,1fr)}
.print-shop-grid .service-card{min-height:210px}
@media(max-width:1100px){.sub-header{grid-template-columns:180px 1fr}.sub-actions{display:none}.page-hero h1{font-size:48px}.search-panel{grid-template-columns:1fr 160px 130px}.detail-layout{grid-template-columns:1fr}.detail-side{grid-template-columns:1fr 1fr}.school-grid,.service-grid,.role-grid,.download-grid{grid-template-columns:1fr 1fr}.print-shop-grid{grid-template-columns:1fr 1fr}}

/* 일반 서브페이지 내부 카드에만 적용 */
.page-main .info-card,
.page-main .download-card,
.page-main .school-card,
.page-main .pay-card,
.page-main .status-card,
.page-main .page-card {
  border-color: #c8d5e4;
  box-shadow: 0 12px 28px rgba(16,33,58,.13), 0 2px 7px rgba(16,33,58,.07);
}

.page-hero > :not(.sub-hero-background):not(.sub-hero-overlay) { transform: translateY(-76px); }

/* portal.html 로그인 회원 보관함을 본문 최상단에 배치 */
.portal-main{display:flex;flex-direction:column}
.portal-main #member-dashboard{order:1;margin:0;padding:56px var(--pc-content-gutter) 64px;border-left:0;border-right:0;border-radius:0}
.portal-main #portal-hero{order:2}
.portal-main #roles{order:3}

/* 로그인 회원용 보관함·사용량 요약 카드 */
.member-dashboard{margin:56px 0 0;padding:32px;border:1px solid var(--line);border-radius:22px;background:var(--surface)}
.member-dashboard .section-heading{margin-bottom:20px}
.member-dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.member-dashboard-card{padding:18px;border:1px solid var(--line);border-radius:15px;background:#fff}
.member-dashboard-card span{display:block;color:var(--muted);font-size:13px;margin-bottom:6px}
.member-dashboard-card strong{font-size:21px}
.member-dashboard-retention{display:block;margin-top:22px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#f8fafc;text-decoration:none;color:var(--ink,#172033);transition:border-color .15s}
.member-dashboard-retention:hover{border-color:var(--blue)}
.member-dashboard-retention-head{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}
.member-dashboard-retention-head h3{margin:0;font-size:16px}
.member-dashboard-retention-head .eyebrow{font-size:11px;color:var(--muted)}
.member-dashboard-retention-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.member-dashboard-retention-note{margin:12px 0 0;font-size:13px;color:var(--muted)}
@media(max-width:1100px){.member-dashboard-retention-grid{grid-template-columns:repeat(2,1fr)}}
.portal-page .member-dashboard-top{display:flex;align-items:flex-start;justify-content:flex-start;gap:2cm;margin-bottom:22px}
.portal-page .member-dashboard-top .section-heading{margin-bottom:0;flex:0 1 auto}
.portal-page .member-dashboard-top .mypage-actions{margin-top:18px}
@media(max-width:1100px){.portal-page .member-dashboard-top{display:block}.portal-page .member-dashboard-top .mypage-actions{margin-top:22px}}
.member-dashboard-empty{margin-top:14px;color:var(--muted);font-size:14px}
@media(max-width:1100px){.member-dashboard-grid{grid-template-columns:repeat(2,1fr)}}

/* PC MY-FILES ISOLATED START 20260802-0915 */
.ssuprint-pc.page-my-files {
  margin: 0;
  font-family: Arial, "Noto Sans KR", sans-serif;
  background: #f4f7fb;
  color: #172033;
}

.ssuprint-pc.page-my-files *,
.ssuprint-pc.page-my-files *::before,
.ssuprint-pc.page-my-files *::after {
  box-sizing: border-box;
}

.ssuprint-pc.page-my-files .files-shell {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  padding: 28px 0 56px;
}

.ssuprint-pc.page-my-files .files-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 24px;
}

.ssuprint-pc.page-my-files .files-brand {
  font-size: 24px;
  font-weight: 800;
  color: #173f8f;
  text-decoration: none;
}

.ssuprint-pc.page-my-files .files-top nav {
  display: flex;
  gap: 14px;
}

.ssuprint-pc.page-my-files .files-top nav a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 10px;
  color: #35425f;
  text-decoration: none;
  font-weight: 700;
}

.ssuprint-pc.page-my-files .files-hero {
  padding: 28px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2cm;
  border-radius: 24px;
  background: linear-gradient(135deg, #173f8f, #2878d0);
  color: #fff;
  box-shadow: 0 18px 44px rgba(23, 63, 143, 0.22);
}
@media(max-width:900px){.ssuprint-pc.page-my-files .files-hero{display:block}.ssuprint-pc.page-my-files .mypage-actions{margin-top:22px}}

.ssuprint-pc.page-my-files .files-hero h1 {
  margin: 0 0 10px;
  font-size: 32px;
}

.ssuprint-pc.page-my-files .files-hero p {
  margin: 0;
  line-height: 1.7;
}

.ssuprint-pc.page-my-files .files-message {
  margin: 18px 0 0;
  padding: 14px 16px;
  border-radius: 12px;
  background: #fff3cd;
  color: #6d5200;
}

.ssuprint-pc.page-my-files .files-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 20px 0;
}

.ssuprint-pc.page-my-files .files-metric,
.ssuprint-pc.page-my-files .files-panel {
  background: #fff;
  border: 1px solid #dfe6f0;
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(35, 55, 90, 0.08);
}

.ssuprint-pc.page-my-files .files-metric {
  padding: 20px;
}

.ssuprint-pc.page-my-files .files-metric span {
  display: block;
  color: #68748a;
  font-size: 14px;
  margin-bottom: 8px;
}

.ssuprint-pc.page-my-files .files-metric strong {
  font-size: 24px;
}

.ssuprint-pc.page-my-files .files-panel {
  padding: 22px;
}

.ssuprint-pc.page-my-files .files-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.ssuprint-pc.page-my-files .files-toolbar h2 {
  margin: 0;
}

.ssuprint-pc.page-my-files .upload-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  border-radius: 12px;
  background: #173f8f;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

.ssuprint-pc.page-my-files .upload-label input {
  display: none;
}

.ssuprint-pc.page-my-files .files-filter-bar {
  display: flex;
  gap: 10px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}

.ssuprint-pc.page-my-files .files-filter-bar input[type="search"] {
  flex: 1;
  min-width: 180px;
  height: 42px;
  padding: 0 14px;
  border: 1px solid #dfe6f0;
  border-radius: 10px;
  font-size: 14px;
}

.ssuprint-pc.page-my-files .files-filter-bar select {
  height: 42px;
  padding: 0 12px;
  border: 1px solid #dfe6f0;
  border-radius: 10px;
  font-size: 14px;
  background: #fff;
}

.ssuprint-pc.page-my-files .files-table-wrap {
  overflow: auto;
}

.ssuprint-pc.page-my-files .files-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 1120px;
}

.ssuprint-pc.page-my-files .files-table th,
.ssuprint-pc.page-my-files .files-table td {
  padding: 14px 12px;
  border-bottom: 1px solid #e8edf4;
  text-align: left;
  font-size: 14px;
}

.ssuprint-pc.page-my-files .files-table th {
  color: #5d687c;
  background: #f8fafc;
}

.ssuprint-pc.page-my-files .files-table td strong {
  display: block;
}

.ssuprint-pc.page-my-files .status,
.ssuprint-pc.page-my-files .retention-badge {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 999px;
  font-weight: 800;
}

.ssuprint-pc.page-my-files .status {
  background: #eef3fa;
  font-size: 12px;
}

.ssuprint-pc.page-my-files .retention-badge {
  font-size: 11px;
}

.ssuprint-pc.page-my-files .status-READY,
.ssuprint-pc.page-my-files .retention-active {
  background: #e6f7ec;
  color: #137a3d;
}

.ssuprint-pc.page-my-files .status-PROCESSING,
.ssuprint-pc.page-my-files .retention-protected {
  background: #e7f0ff;
  color: #173f8f;
}

.ssuprint-pc.page-my-files .status-PENDING,
.ssuprint-pc.page-my-files .retention-expiring {
  background: #fff3cd;
  color: #8a6600;
}

.ssuprint-pc.page-my-files .status-FAILED {
  background: #ffe2e2;
  color: #a52222;
}

.ssuprint-pc.page-my-files .status-UPLOADING,
.ssuprint-pc.page-my-files .retention-purged {
  background: #eef0f4;
  color: #5d687c;
}

.ssuprint-pc.page-my-files .retention-not-printed {
  background: #f1f3f7;
  color: #68748a;
}

.ssuprint-pc.page-my-files .file-actions {
  display: flex;
  gap: 8px;
}

.ssuprint-pc.page-my-files .file-actions button {
  border: 0;
  border-radius: 9px;
  padding: 8px 11px;
  cursor: pointer;
  font-weight: 700;
}

.ssuprint-pc.page-my-files .file-actions .print {
  background: #e7f0ff;
  color: #173f8f;
}

.ssuprint-pc.page-my-files .file-actions .delete {
  background: #ffe9e9;
  color: #a52222;
}

.ssuprint-pc.page-my-files .empty-row {
  text-align: center;
  color: #79849a;
  padding: 34px;
}

.ssuprint-pc.page-my-files .usage-bar {
  height: 8px;
  background: #e8edf4;
  border-radius: 999px;
  overflow: hidden;
  margin-top: 10px;
}

.ssuprint-pc.page-my-files .usage-bar span {
  display: block;
  height: 100%;
  margin-bottom: 0;
  background: #2878d0;
  width: 0;
}

.ssuprint-pc.page-my-files .file-name-link {
  color: #173f8f;
  text-decoration: none;
}

.ssuprint-pc.page-my-files .file-name-link:hover {
  text-decoration: underline;
}

.ssuprint-pc.page-my-files .file-modal-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.55);
  z-index: 80;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

.ssuprint-pc.page-my-files .file-modal-backdrop:not([hidden]) {
  display: flex;
}

.ssuprint-pc.page-my-files .file-modal {
  position: relative;
  width: min(520px, 100%);
  max-height: 88vh;
  overflow: auto;
  background: #fff;
  border-radius: 20px;
  padding: 26px;
}

.ssuprint-pc.page-my-files .file-modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 10px;
  background: #f0f3f8;
  font-size: 18px;
  cursor: pointer;
}

.ssuprint-pc.page-my-files .file-modal h2 {
  margin: 0 0 14px;
  padding-right: 36px;
  font-size: 20px;
}

.ssuprint-pc.page-my-files .fm-preview {
  width: 100%;
  border-radius: 14px;
  margin-bottom: 14px;
  border: 1px solid #e8edf4;
}

.ssuprint-pc.page-my-files .fm-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.ssuprint-pc.page-my-files .fm-field {
  padding: 10px 12px;
  background: #f8fafc;
  border-radius: 10px;
}

.ssuprint-pc.page-my-files .fm-field span {
  display: block;
  color: #79849a;
  font-size: 12px;
  margin-bottom: 4px;
}

.ssuprint-pc.page-my-files .fm-field strong {
  font-size: 14px;
}

.ssuprint-pc.page-my-files .fm-error {
  margin-top: 12px;
  padding: 10px 12px;
  background: #ffe2e2;
  color: #a52222;
  border-radius: 10px;
  font-size: 13px;
}

.ssuprint-pc.page-my-files .fm-purged-notice {
  margin: 0 0 14px;
  padding: 10px 12px;
  background: #eef0f4;
  color: #3c4658;
  border-radius: 10px;
  font-size: 13px;
}
/* PC MY-FILES ISOLATED END 20260802-0915 */
