:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#111827;background:#f3f6fb;font-size:16px}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#eaf0ff,#f5f7fb 280px);min-height:100vh}.hidden{display:none!important}.admin-shell{width:min(100%,620px);margin:auto;padding:calc(20px + env(safe-area-inset-top)) 18px 40px}header{display:flex;align-items:center;gap:13px;margin:8px 2px 26px}header img{width:58px;height:58px;filter:drop-shadow(0 8px 14px #185dc32b)}header small{font-size:.7rem;letter-spacing:.12em;color:#147ac6;font-weight:850}h1{font-size:1.8rem;margin:2px 0 0}.notice{background:#fff;border-radius:24px;padding:28px;text-align:center;color:#657084;box-shadow:0 15px 35px #4f638017}.hello{font-size:1.08rem;color:#657084;margin:0 2px 15px}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.action-grid button{min-height:178px;text-align:left;border:0;border-radius:28px;padding:18px;background:#fff;box-shadow:0 14px 32px #4f638014;cursor:pointer;color:#172033}.action-grid button:active{transform:scale(.98)}.action-grid strong,.action-grid small{display:block}.action-grid strong{font-size:1rem;margin-top:14px}.action-grid small{color:#87909d;line-height:1.35;margin-top:5px}.action-icon{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;font-size:1.35rem;font-weight:900}.action-icon.grade{background:#dcf8e9;color:#188454}.action-icon.task{background:#fff0d3;color:#a66800}.action-icon.lesson{background:#ddecff;color:#1d65c1}.action-icon.profile{background:#f0ddff;color:#7d2fbe}.diary-link{display:flex;justify-content:space-between;margin-top:16px;padding:19px 21px;background:#147ac6;color:white;text-decoration:none;border-radius:22px;font-weight:800}.sheet{position:fixed;inset:0;z-index:20;display:flex;align-items:flex-end;justify-content:center}.sheet-bg{position:absolute;inset:0;border:0;background:#13213b70}.sheet-card{position:relative;width:min(100%,620px);max-height:92vh;overflow:auto;background:#fff;border-radius:30px 30px 0 0;padding:22px 20px calc(24px + env(safe-area-inset-bottom));animation:up .24s ease}.sheet-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.sheet-head h2{margin:0;font-size:1.35rem}.sheet-head button{width:40px;height:40px;border:0;border-radius:50%;background:#edf1f6;font-size:1.5rem}.form{display:grid;gap:14px}.form label{font-size:.85rem;font-weight:750}.form input,.form select,.form textarea{display:block;width:100%;margin-top:7px;border:1px solid #dce2ec;background:#f9fbfd;border-radius:15px;padding:13px;color:#111827;font:inherit}.form textarea{min-height:95px;resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.save{border:0;border-radius:17px;padding:15px;background:linear-gradient(135deg,#228fd8,#0963b5);color:#fff;font-weight:850;margin-top:4px}.toast{position:fixed;z-index:30;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;background:#343e53;color:#fff;padding:13px 20px;border-radius:16px;transition:.2s;width:max-content;max-width:calc(100% - 32px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}@keyframes up{from{transform:translateY(40px);opacity:.5}}@media(max-width:390px){.action-grid{grid-template-columns:1fr}.action-grid button{min-height:125px}.action-icon{float:left;margin-right:14px}.action-grid strong{padding-top:5px;margin-top:4px}}
.form-help{margin:0;color:#68758a;line-height:1.4}.bulk-rows{display:grid;gap:11px}.bulk-row{border:1px solid #e0e7f1;border-radius:18px;padding:10px;background:#f8fafd}.bulk-top,.bulk-fields{display:grid;gap:7px}.bulk-top{grid-template-columns:1.5fr .7fr 1fr 38px}.bulk-fields{grid-template-columns:1.15fr 1fr .65fr;margin-top:7px}.bulk-row input,.bulk-row select{margin:0!important;padding:10px!important;border-radius:11px!important;min-width:0}.remove-row{border:0;border-radius:11px;background:#ffe8e8;color:#c43838;font-size:1.3rem}.add-row{border:1px dashed #8cb9df;border-radius:15px;padding:12px;background:#f1f8ff;color:#116da8;font-weight:800}@media(max-width:420px){.bulk-top{grid-template-columns:1.35fr .65fr 1fr 34px}.bulk-fields{grid-template-columns:1fr 1fr}.bulk-fields input:last-child{grid-column:1/-1}}
