@charset "UTF-8";
.header-login{font-size:16px;color:#54705d;white-space:nowrap}.header-login:hover{text-decoration:underline}.header-login.admin-login{font-size:16px;color:#8d9c86}.sidebar .sidebar-bottom{margin-top:16px}.sidebar{overflow-y:auto}nav{margin-bottom:10px}.sidebar nav a{padding:10px 12px}.sidebar .workspace{margin:23px 0 15px}.sidebar-bottom{padding:13px}.sidebar-foot{margin-top:15px}.sidebar nav[aria-label="설정"]{margin-bottom:5px}.quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:22px 0 30px}.quick-links a{display:grid;grid-template-columns:32px 1fr;column-gap:9px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:20px}.quick-links svg{grid-row:1/3;align-self:center;color:#6c936f;width:25px;height:25px}.quick-links strong{font-size:16px}.quick-links small{font-size:16px;color:#8c9b81;margin-top:4px}.login-layout{display:grid;grid-template-columns:minmax(300px,430px) 1fr;gap:30px;align-items:stretch}.login-panel .field{margin:16px 0}.login-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:22px}.login-tabs a{padding:7px 16px;border-radius:7px;font-size:16px;color:#8a9981}.login-tabs a.active{background:#eaf2e4;color:var(--green);font-weight:700}.full-btn{width:100%;margin-top:13px}.login-panel .notice{margin-top:22px;margin-bottom:0}.login-story{background:#e9efdf;border:1px solid #e0e8d7;border-radius:18px;position:relative;padding:45px 35px;overflow:hidden;min-height:440px}.login-story h2{font-size:28px;letter-spacing:-1.4px;line-height:1.6;color:#3d6543;font-weight:500}.login-story p{font-size:16px;color:#7d9370;line-height:2}.login-flower{position:absolute;bottom:-15px;right:20px;font-size:170px;color:#a6bc85;line-height:1}.login-role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.role-card{padding:20px 13px;background:#f6f9ef;border:1px solid var(--line);border-radius:12px}.role-card strong{display:block;font-size:16px;margin:12px 0 4px}.role-card small{font-size:16px;color:#8c9b7c}.join-link{margin-top:16px}.rank-label{font-size:16px;color:#80936f;margin:0 4px 9px}.rank-wrapper .program-card{height:calc(100% - 25px)}.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.directory-card{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}.directory-portrait{height:160px;background:linear-gradient(140deg,#e7ede0,#f0f4e9);position:relative;display:grid;place-items:center}.directory-portrait>span{font-size:55px;color:#92aa79;background:#ffffff80;width:100px;height:100px;border-radius:50%;display:grid;place-items:center;font-weight:600}.directory-portrait img{height:100%;width:100%;object-fit:cover}.directory-portrait small{position:absolute;top:13px;left:13px;font-size:16px;border-radius:5px;background:#fff9;padding:3px 7px;color:#66795b}.directory-body{padding:20px}.directory-body h2{font-size:21px;letter-spacing:-.6px;margin:5px 0}.directory-body h3{font-size:16px;font-weight:500;color:#7c8d6e;line-height:1.7;min-height:40px;margin:0 0 10px}.directory-body p{font-size:16px;color:#929e86;min-height:51px}.tag-row{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0 18px}.profile-portrait{width:150px;height:165px;flex-shrink:0;background:#dbe8ce;border:5px solid #ffffffb0;border-radius:28px 28px 28px 7px;color:#7b9b63;font-size:60px;display:grid;place-items:center;overflow:hidden}.profile-portrait img{width:100%;height:100%;object-fit:cover}.profile-portrait.small{width:90px;height:95px;font-size:30px;border-radius:18px 18px 18px 5px;border-width:2px}.profile-workspace{display:flex;gap:25px;align-items:center;background:#edf3e7}.profile-workspace h2{font-size:23px;margin:5px 0}.profile-workspace p{font-size:16px;color:#819273}.profile-workspace .row-actions{margin-top:16px}.dashboard-intro{display:flex;align-items:center;justify-content:space-between;gap:25px}.dashboard-intro h2{margin-top:5px}.dashboard-intro p{font-size:16px;color:#8a9a7c}.dashboard-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid #ecf0e6}.list-row:last-of-type{margin-bottom:15px}.list-row b{font-size:16px;font-weight:600}.list-row small{display:block;font-size:16px;color:#8d9b80;margin:3px 0}.list-row a{font-size:16px;color:var(--green)}.teacher-link-list{display:grid;gap:12px;margin-top:15px;font-size:16px}.photo-field{display:flex;gap:18px;align-items:center;margin:20px 0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.consent-row{display:flex;align-items:flex-start;gap:8px;margin-top:20px;font-size:16px;color:#7b8f6d}.consent-row input{margin-top:4px}.check-row{display:flex;flex-wrap:wrap;gap:10px;background:#f8faf4;padding:12px;border:1px solid var(--line);border-radius:8px}.check-row label{font-weight:400;font-size:16px}.check-row input{min-height:0;width:auto}.table-scroll{overflow:auto}.admin-table{width:100%;border-collapse:collapse;margin:16px 0;text-align:left;font-size:16px;min-width:650px}.admin-table th{background:#f2f6ec;color:#738663;font-size:16px;font-weight:500}.admin-table td,.admin-table th{padding:13px 10px;border-bottom:1px solid var(--line)}.admin-table td:nth-child(1){font-weight:600}.moderate-actions{display:inline-flex;gap:6px;margin-left:10px}.moderate-actions button{font-size:16px;padding:5px 9px;border-radius:5px;background:#eef5e7;color:#55754a}.moderate-actions button:last-child{background:#f5eee4;color:#988568}.preserve-lines{white-space:pre-wrap}.public-body{background:#f6f8f1}.public-header{display:flex;justify-content:space-between;align-items:center;max-width:1120px;margin:0 auto;padding:25px 25px;border-bottom:1px solid var(--line)}.public-main{padding:30px 25px;max-width:1120px;min-height:0;margin:auto}.profile-hero{display:flex;gap:35px;align-items:center;background:#e8f0df;border:1px solid #dce8d0;border-radius:22px;padding:40px;margin-bottom:25px}.profile-hero h1{font-size:35px;letter-spacing:-1px;margin:5px 0}.profile-hero h1 small{font-size:16px;font-weight:400;margin-left:10px;color:#8b9c7a}.profile-hero h2{font-size:18px;font-weight:400;color:#708661;margin:0 0 8px}.public-columns{display:grid;grid-template-columns:1fr 300px;gap:22px;align-items:start}.public-columns aside{position:sticky;top:20px}.public-prose{font-size:16px;color:#728366;line-height:2;overflow-wrap:anywhere}.public-programs{display:grid;gap:12px;margin-top:20px}.public-program{display:block;border:1px solid var(--line);border-radius:10px;padding:18px;background:#fcfdf8}.public-program h3{font-size:16px;margin:8px 0}.public-program p{font-size:16px;color:#8b9b7d}.public-program>span:last-child,.public-program a{font-size:16px;color:#658452}.public-contact>p{font-size:16px;color:#8b9a7c;margin:15px 0}.public-contact h2{font-size:19px;margin-top:9px}.public-contact .btn{display:flex;margin-top:10px;font-size:16px}.public-contact .helper{font-size:16px}.contact-line{padding:15px;border-radius:8px;background:#f4f8ee;font-size:16px;overflow-wrap:anywhere}.public-footer{padding:20px;max-width:1070px;margin:10px auto;border-top:1px solid var(--line);font-size:16px;color:#91a080;display:flex;justify-content:space-between}.public-copy-status{position:fixed;bottom:20px;text-align:center;background:#315d46;color:#fff;font-size:16px;padding:10px 20px;left:50%;transform:translateX(-50%);border-radius:8px}.public-copy-status:empty{display:none}.review-content{display:grid;gap:12px}.review-content h3{font-size:16px;margin:0;color:#809370}.review-content p{margin:4px 0 10px;font-size:16px;white-space:pre-wrap;overflow-wrap:anywhere}.planner-config h2{margin-bottom:20px}.planner-config .form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.planner-config .days-field{grid-column:span 2}.planner-config .field label{font-size:16px}.planner-config .field select,.planner-config .field input{font-size:16px}.planner-config .check-row{padding:10px;gap:8px}.planner-config .check-row label{white-space:nowrap}.planner-config .check-row input{height:auto}.planner-controls{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap;margin:20px 0 15px}.view-switch{display:flex;padding:4px;background:#eaf0e1;border-radius:8px;gap:4px}.view-switch button{font-size:16px;padding:7px 14px;border-radius:5px;background:transparent;color:#80906e}.view-switch button.active{background:white;color:var(--green);box-shadow:0 2px 5px #456e3910}.schedule-title{display:flex;align-items:center;justify-content:space-between;margin:20px 0 15px;gap:15px}.schedule-title h2{font-size:22px;margin:0;letter-spacing:-.8px}.schedule-title p{font-size:16px;color:#8a9b7b;margin:5px 0}.schedule-status{font-size:16px;padding:5px 9px;border-radius:6px;background:#fff5dd;color:#a58c53}.schedule-status.saved{background:#e9f4e4;color:#658852}.calendar-scroll{overflow:auto;background:white;border:1px solid #d5dfcb;border-radius:12px}.schedule-table{border-collapse:collapse;width:100%;table-layout:fixed;min-width:1000px;font-size:16px}.schedule-table th{padding:11px 5px;border:1px solid #d8e1cf;background:#e3ecd9;font-weight:600;color:#59794c;font-size:16px}.schedule-table th:first-child{color:#b87667}.schedule-table th:last-child{color:#6a8db0}.schedule-table td{border:1px solid #dce4d4;vertical-align:top;padding:0;height:170px}.schedule-table .blank-cell{background:#f7f9f2}.day-head{display:flex;justify-content:space-between;background:#f6f8ef;border-bottom:1px solid #e1e8d8;padding:5px 7px;font-size:16px}.day-head b{font-weight:600;color:#617b52}.day-head button{font-size:16px;color:#97a287;background:transparent;padding:0 2px}.day-head.sunday b{color:#bd8171}.day-head.saturday b{color:#7594b4}.schedule-slot{padding:7px;border-bottom:1px solid #edf0e8;min-height:65px}.schedule-slot:last-child{border-bottom:0}.slot-meta{display:flex;justify-content:space-between;align-items:center;font-size:16px;color:#97a58a}.slot-title{font-size:16px;font-weight:600;line-height:1.5;margin:4px 0;color:#4d6542;word-break:keep-all}.slot-teacher{font-size:16px;color:#8a9c7c}.schedule-slot.cat-인지{background:#fffce9}.schedule-slot.cat-신체{background:#f2f8ed}.schedule-slot.cat-음악{background:#f2eef7}.schedule-slot.cat-미술{background:#fff4ea}.schedule-slot.cat-원예{background:#eff5e5}.schedule-slot.cat-여가{background:#f1f6f4}.source-badge{font-size:16px;padding:1px 4px;border-radius:3px;background:#ffffffa0;color:#839771;display:inline-block}.source-badge.external{background:#f8e9cf;color:#a37a3a}.source-badge.confirmed{background:#dcefd7;color:#4f8343}.routine-line{font-size:16px;color:#9aaa8a;padding:4px 7px;background:#fafbf7;line-height:1.4}.closed-cell{background:#f9faf6;height:170px;display:flex;align-items:center;justify-content:center;font-size:16px;color:#a5b198}.planner-footnote{font-size:16px;color:#8b9b7e;line-height:1.8;margin-top:12px}.week-table{min-width:1050px}.week-table td{height:135px}.week-table .period-col{width:70px;text-align:center;vertical-align:middle;background:#f0f5e8;font-size:16px;color:#7a9067}.week-table .schedule-slot{min-height:130px;padding:13px 10px}.week-table .slot-title{font-size:16px}.week-table .routine-line{font-size:16px}.week-select{border:1px solid var(--line);border-radius:6px;background:white;padding:7px;font-size:16px}.print-heading{display:none}.schedule-empty{padding:40px;text-align:center;color:#8a9b7a}.editor-slots{display:grid;grid-template-columns:1fr 1fr;gap:20px}.editor-slots .field{margin:10px 0}.editor-slots h3{font-size:16px;margin:0}.planner-help{padding:14px;border:1px solid var(--line);border-radius:8px;font-size:16px;color:#829775;background:#f7faf1}
@media(max-width:1150px){.planner-config .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-bottom{display:none}.sidebar .workspace strong{max-width:130px}.login-story{padding:30px}.login-story h2{font-size:24px}.dashboard-intro{align-items:flex-start;flex-direction:column}.public-columns{grid-template-columns:1fr 270px}}
@media(max-width:900px){.login-layout{grid-template-columns:1fr}.login-story{display:none}.login-panel{max-width:550px}.planner-config .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-columns{grid-template-columns:1fr}.quick-links{grid-template-columns:1fr;gap:9px}.quick-links a{padding:15px}.public-columns{grid-template-columns:1fr}.public-columns aside{position:static}.profile-hero{padding:25px;gap:20px}.profile-hero h1{font-size:28px}.profile-hero h2{font-size:16px}.profile-portrait{width:120px;height:130px}.public-header{padding:18px}.public-main{padding:22px 18px}}
@media(max-width:650px){.sidebar{padding-top:11px;overflow:visible}.sidebar .workspace,.sidebar nav[aria-label="설정"],.sidebar-bottom,.sidebar-foot{display:none}.sidebar nav{margin-top:9px}.sidebar nav a{padding:8px 9px}.header-login{font-size:16px}.topbar-right{gap:10px}.login-role-grid{grid-template-columns:1fr}.role-card{padding:15px}.role-card strong{display:inline;margin:0 10px}.role-card small{display:block;margin-top:6px}.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.directory-portrait{height:130px}.directory-portrait>span{width:75px;height:75px;font-size:40px}.directory-body{padding:14px}.directory-body h2{font-size:18px}.directory-body h3{font-size:16px;min-height:52px}.directory-body p{font-size:16px;min-height:62px}.directory-body .btn{font-size:16px;padding:7px 9px}.profile-workspace{align-items:flex-start;gap:15px;flex-wrap:wrap}.profile-workspace h2{font-size:20px}.profile-portrait.small{width:75px;height:80px}.public-header .brand{font-size:17px}.public-header .btn{font-size:16px}.profile-hero{align-items:flex-start;flex-direction:column;padding:25px}.profile-hero h1{font-size:29px}.profile-hero h2{font-size:16px}.public-main{padding:20px 15px}.public-copy-status{max-width:90%;width:max-content;font-size:16px}.planner-config .form-grid{grid-template-columns:1fr 1fr;gap:13px}.planner-config .days-field{grid-column:1/-1}.planner-config .field input,.planner-config .field select{font-size:16px;padding:10px 8px}.planner-config .field.full{grid-column:1/-1}.planner-controls{display:block}.planner-controls>.row-actions{margin-top:12px}.planner-controls .btn{font-size:16px;padding:7px 10px}.schedule-title h2{font-size:20px}.schedule-title{align-items:flex-start}.schedule-status{font-size:16px;white-space:nowrap}.editor-slots{grid-template-columns:1fr}.consent-row{font-size:16px}.public-prose{font-size:16px}.photo-field{align-items:flex-start}.photo-field .helper{font-size:16px}.topbar .breadcrumb{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media print{@page{size:A4 landscape;margin:9mm}.planner-print .sidebar,.planner-print .topbar,.planner-print .footer,.planner-print .page-head,.planner-print .planner-config,.planner-print .planner-controls,.planner-print .schedule-title,.planner-print .notice,.planner-print .schedule-status,.planner-print .planner-help{display:none!important}.planner-print .shell{margin:0}.planner-print main{padding:0;max-width:none}.print-heading{display:block;text-align:center;font-size:19px;font-weight:700;margin-bottom:12px}.print-heading small{display:block;font-size:16px;font-weight:400;margin-top:4px}.calendar-scroll{overflow:visible;border:0;border-radius:0}.schedule-table{min-width:0;width:100%;font-size:16px}.schedule-table th{font-size:16px;padding:5px}.schedule-table td{height:auto}.day-head{font-size:16px;padding:3px 5px}.day-head button{display:none}.schedule-slot{padding:4px;min-height:37px}.slot-title{font-size:16px;line-height:1.4;margin:2px 0}.slot-meta,.slot-teacher,.routine-line{font-size:16px}.routine-line{padding:2px 4px}.source-badge{font-size:16px}.closed-cell{height:80px;font-size:16px}.planner-footnote{font-size:16px;margin-top:8px}.week-table td{height:150px}.week-table .schedule-slot{min-height:150px}.week-table .slot-title{font-size:16px}.week-table .period-col{width:40px}.schedule-table tr{break-inside:avoid}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}.public-header,.public-footer{display:none}.public-columns{display:block}.public-columns aside{position:static}.public-main{padding:0;max-width:none}.public-contact{display:none}}

.review-photo{width:160px;max-height:200px;object-fit:cover;border-radius:10px;margin-bottom:20px}.week-edit{padding:5px 10px;font-size:16px}.slot-request{font-size:16px;margin-top:3px}
@media print{.slot-request,.week-edit{display:none!important}}
