:root{--green:#0f5c48;--green2:#16836a;--soft:#edf7f3;--gold:#c8a64b;--ink:#18312a;--muted:#71817c;--danger:#b93838;--line:#dce8e3;--white:#fff;--shadow:0 12px 30px rgba(15,92,72,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#f5f8f7;color:var(--ink)}a{color:var(--green);text-decoration:none}.app-shell{min-height:100vh;display:flex}.sidebar{width:250px;background:linear-gradient(180deg,#0d4f3e,#0b3e32);color:#fff;padding:24px 18px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:12px;align-items:center;margin-bottom:30px}.brand-mark{width:44px;height:44px;border-radius:14px;background:var(--gold);color:#173a30;display:grid;place-items:center;font-weight:800}.brand strong,.brand small{display:block}.brand small{opacity:.72;margin-top:3px;font-size:11px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{color:#e9f5f1;padding:11px 12px;border-radius:10px}.sidebar nav a:hover{background:rgba(255,255,255,.1)}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.15);padding-top:16px;display:grid;gap:4px}.sidebar-footer span{font-size:12px;opacity:.75}.sidebar-footer a{color:#ffe2a0;margin-top:8px}.main{margin-left:250px;width:calc(100% - 250px)}.topbar{height:90px;background:#fff;border-bottom:1px solid var(--line);padding:18px 28px;display:flex;align-items:center;gap:16px;position:sticky;top:0;z-index:10}.topbar h1{font-size:22px;margin:0}.topbar p{margin:5px 0 0;color:var(--muted);font-size:13px}.menu-btn{display:none;border:0;background:var(--soft);padding:9px 11px;border-radius:9px}.content{padding:26px;max-width:1400px}.grid{display:grid;gap:18px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow)}.stat strong{font-size:30px;display:block;color:var(--green)}.stat span{color:var(--muted);font-size:13px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:26px 0 14px}.section-title h2{font-size:18px;margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:10px;padding:10px 15px;font-weight:650;cursor:pointer;background:var(--green);color:#fff}.btn:hover{filter:brightness(.96)}.btn-secondary{background:#e8f2ee;color:var(--green)}.btn-danger{background:#f9e6e6;color:var(--danger)}.btn-gold{background:var(--gold);color:#273c35}.btn-sm{padding:7px 10px;font-size:12px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:15px}.table{width:100%;border-collapse:collapse;min-width:700px}.table th,.table td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:top}.table th{background:#f3f8f6;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.badge{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700;background:#eaf4f0;color:var(--green)}.badge-draft{background:#f0f1f2;color:#69726f}.badge-closed{background:#f8e8e8;color:#9b3333}.badge-peer{background:#fff3d7;color:#7b5b10}.form-card{max-width:900px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;font-weight:700;margin-bottom:7px}.form-control{width:100%;border:1px solid #cfded8;border-radius:10px;padding:11px 12px;background:#fff;color:var(--ink);font:inherit}.form-control:focus{outline:3px solid rgba(22,131,106,.12);border-color:var(--green2)}textarea.form-control{min-height:105px;resize:vertical}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.check{display:flex;align-items:center;gap:8px}.alert{padding:12px 14px;border-radius:10px;margin-bottom:16px}.alert-success{background:#e6f5ee;color:#116347}.alert-error{background:#fdeaea;color:#9c2f2f}.alert-info{background:#eaf3fc;color:#245c88}.empty{text-align:center;padding:42px 20px;color:var(--muted)}.survey-card{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.survey-card h3{margin:0 0 6px}.survey-card p{margin:0;color:var(--muted);font-size:13px}.question{border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:14px;background:#fff}.question-title{font-weight:700;margin-bottom:12px}.required{color:var(--danger)}.option{display:flex;align-items:flex-start;gap:9px;margin:9px 0}.peer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.peer-option{border:1px solid var(--line);padding:10px;border-radius:10px;background:#fafcfc}.result-bar{height:9px;background:#e5efeb;border-radius:999px;overflow:hidden}.result-bar span{height:100%;display:block;background:var(--green2)}.muted{color:var(--muted)}.small{font-size:12px}.actions{display:flex;gap:8px;flex-wrap:wrap}.login-page{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:linear-gradient(135deg,#0d4f3e,#0b6d55)}.login-hero{padding:70px;display:flex;flex-direction:column;justify-content:center;color:#fff;background-image:radial-gradient(circle at 15% 20%,rgba(255,255,255,.12),transparent 22%),radial-gradient(circle at 80% 70%,rgba(200,166,75,.18),transparent 20%)}.login-hero h1{font-size:48px;margin:0 0 14px}.login-hero p{font-size:18px;max-width:600px;line-height:1.6;opacity:.9}.login-panel{background:#f7faf9;display:grid;place-items:center;padding:35px}.login-box{width:min(430px,100%);background:#fff;padding:34px;border-radius:22px;box-shadow:0 30px 70px rgba(0,0,0,.18)}.login-box h2{margin-top:0}.help{background:#fffaf0;border:1px solid #f0dfad;padding:14px;border-radius:12px;font-size:13px}.score-chip{display:inline-block;background:#ecf6f2;border-radius:8px;padding:4px 7px;font-size:11px}.footer-note{margin-top:24px;color:var(--muted);font-size:12px}.top-list{margin:0;padding-left:20px}.top-list li{margin:8px 0}.sociometry{display:grid;grid-template-columns:1fr 1fr;gap:18px}.rank-card{border-left:4px solid var(--green2)}@media(max-width:1000px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}.peer-grid{grid-template-columns:repeat(2,1fr)}.login-page{grid-template-columns:1fr}.login-hero{display:none}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.main{margin-left:0;width:100%}.menu-btn{display:inline-block}.content{padding:18px}.grid-4,.grid-3,.grid-2,.form-row,.sociometry{grid-template-columns:1fr}.topbar{padding:14px 18px}.survey-card{display:block}.survey-card .actions{margin-top:14px}.peer-grid{grid-template-columns:1fr}}
.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.template-card{display:flex;flex-direction:column;gap:10px}.template-card h3,.template-card p{margin:0}.template-card .btn{margin-top:auto}.meta-list{display:grid;grid-template-columns:85px 1fr;gap:8px 12px;font-size:13px}.meta-list dt{font-weight:700}.meta-list dd{margin:0;color:var(--muted)}details{border-top:1px solid var(--line);padding-top:10px}summary{cursor:pointer;font-weight:700}.badge-risk-baik{background:#e6f5ee;color:#116347}.badge-risk-pemantauan{background:#fff3d7;color:#7b5b10}.badge-risk-perlu_tindak_lanjut{background:#ffe8d8;color:#9b4c12}.badge-risk-prioritas{background:#fdeaea;color:#9c2f2f}.likert-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.likert-option{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:12px}.evidence-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border:1px solid var(--line);padding:11px;border-radius:11px;margin:8px 0}.evidence-item span{display:grid}.evidence-item small{color:var(--muted);margin-top:3px}.tall{min-height:160px}.sticky-actions{position:sticky;bottom:0;background:#f5f8f7;padding:14px 0;margin-top:14px;z-index:8}.report-sheet{background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:var(--shadow)}.report-heading{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid var(--green);padding-bottom:20px;margin-bottom:20px}.report-heading h1{margin:10px 0 4px}.report-heading p{margin:0;color:var(--muted)}.report-meta{display:grid;text-align:right;gap:5px;font-size:13px}.report-section{border:1px solid var(--line);border-radius:13px;padding:16px;margin-bottom:14px}.report-section h2{font-size:15px;margin:0 0 8px;color:var(--green)}.report-section p{margin:0;line-height:1.65}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:1000px){.template-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.template-grid,.report-grid{grid-template-columns:1fr}.report-heading{display:block}.report-meta{text-align:left;margin-top:14px}}@media print{.sidebar,.topbar,.no-print,.footer-note{display:none!important}.main{margin:0;width:100%}.content{padding:0;max-width:none}.report-sheet{box-shadow:none;border:0;padding:0}.report-section{break-inside:avoid}body{background:#fff}}

/* e-BK Santri v1.3 */
.avatar{width:46px;height:58px;object-fit:cover;border-radius:8px;border:1px solid var(--line);background:var(--soft)}.profile-edit{display:grid;grid-template-columns:150px 1fr;gap:22px;align-items:start;margin-bottom:20px}.profile-photo{width:140px;height:180px;object-fit:cover;border-radius:14px;border:1px solid var(--line);background:var(--soft)}.small-photo{width:72px;height:92px}.student-profile-strip{display:flex;align-items:center;gap:16px}.student-profile-strip div{display:grid;gap:5px}.student-profile-strip span{color:var(--muted);font-size:13px}.student-cell{display:flex;align-items:center;gap:10px;min-width:190px}.student-cell span{display:grid}.student-cell small{color:var(--muted)}.workflow-list{line-height:1.9;padding-left:20px}.transition-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.transition-header h2{margin:10px 0 5px}.transition-students{min-width:1250px}.error-text{display:block;color:var(--danger);margin-top:5px}.score-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.report-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.report-list-card{display:grid;grid-template-columns:90px 1fr;gap:16px}.report-list-card>img{width:90px;height:118px;object-fit:cover;border-radius:12px;border:1px solid var(--line)}.report-list-card h3{margin:8px 0 3px}.report-list-card p{margin:0 0 5px}.print-document{background:#fff;color:#18231f;border:1px solid var(--line);border-radius:14px;padding:34px;box-shadow:var(--shadow)}.print-letterhead{display:grid;grid-template-columns:72px 1fr 80px;gap:15px;align-items:center;padding-bottom:14px;border-bottom:3px double #1b332b;text-align:center}.print-letterhead h1{font-size:19px;margin:4px 0}.print-letterhead p{margin:0}.print-logo{width:65px;height:65px;border:1px solid #5e706a;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700}.confidential-mark{font-size:10px;font-weight:700;border:1px solid #65746f;padding:8px}.report-identity{display:grid;grid-template-columns:112px 1fr;gap:16px;margin:20px 0}.report-identity>img{width:112px;height:148px;object-fit:cover;border:1px solid #60706a}.report-identity table,.print-summary table{width:100%;border-collapse:collapse}.report-identity th,.report-identity td,.print-summary th,.print-summary td{border:1px solid #778680;padding:8px;text-align:left}.report-identity th,.print-summary th{background:#edf2f0;width:16%}.report-purpose,.report-executive,.print-document section{margin-top:16px;break-inside:avoid}.report-purpose{border:1px solid #91a09a;padding:12px;background:#f8faf9}.report-purpose h2,.print-document section>h2{font-size:14px;margin:0 0 7px;color:#174f40}.report-purpose p,.print-document section>p{margin:0;line-height:1.6}.report-executive{display:grid;grid-template-columns:1fr 170px;gap:16px;border:1px solid #71817c;background:#f7faf9;padding:14px}.report-executive h2{font-size:16px;margin:4px 0}.report-executive p{margin:0;line-height:1.6}.report-executive>div>span{font-size:10px;text-transform:uppercase;font-weight:700}.risk-panel{border:2px solid #50635c;padding:10px;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center}.risk-panel strong{font-size:17px;margin:5px 0}.risk-panel span,.risk-panel small{font-size:10px}.report-score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.report-score-grid>div{border:1px solid #9ba8a3;padding:10px}.report-score-grid header{display:flex;justify-content:space-between;gap:8px}.report-score-grid b{font-size:18px}.report-score-grid small{font-size:10px}.score-track{height:10px;background:#dfe8e4;margin:7px 0;overflow:hidden}.score-track span{display:block;height:100%;background:var(--green2)}.print-table{width:100%;border-collapse:collapse;font-size:11px}.print-table th,.print-table td{border:1px solid #71817c;padding:7px;vertical-align:top;text-align:left}.print-table th{background:#e8efec}.print-table.compact{font-size:10px}.print-table img{width:32px;height:42px;object-fit:cover}.narrative-table td:first-child{width:20%}.report-two-column{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.report-two-column>section,.report-two-column>div{border:1px solid #9aa7a2;padding:12px;break-inside:avoid}.report-two-column h2{font-size:14px;margin:0 0 7px;color:#174f40}.parent-guidance{background:#f7faf9;padding:12px;border:1px solid #91a09a}.response-space{height:72px;border-bottom:1px dotted #62716c}.print-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:center;margin-top:38px;break-inside:avoid}.print-signatures>div>div{height:65px}.privacy-note{text-align:center;font-size:9px;font-style:italic;border-top:1px solid #9aa7a2;padding-top:8px;margin-top:25px}.print-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-left:1px solid #71817c;border-top:1px solid #71817c}.print-stats.six{grid-template-columns:repeat(6,minmax(0,1fr))}.print-stats>div{display:flex;flex-direction:column;align-items:center;text-align:center;padding:10px;border-right:1px solid #71817c;border-bottom:1px solid #71817c}.print-stats strong{font-size:20px}.print-stats span{font-size:9px}.confidential-section{border:2px solid #596a64;padding:12px}.transition-print .print-stats{grid-template-columns:repeat(4,1fr)}.principal-report{max-width:1200px}.follow-up-table{margin-top:10px}.follow-up-table th{width:18%}
@media(max-width:900px){.score-grid{grid-template-columns:repeat(2,1fr)}.report-card-grid{grid-template-columns:1fr}.report-score-grid{grid-template-columns:repeat(2,1fr)}.print-stats.six{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.profile-edit,.report-identity,.report-executive,.report-two-column{grid-template-columns:1fr}.transition-header{display:block}.score-grid,.report-score-grid{grid-template-columns:1fr}.print-letterhead{grid-template-columns:48px 1fr 55px}.print-logo{width:44px;height:44px;font-size:8px}.print-document{padding:18px}.report-identity>img{margin:auto}.print-stats,.print-stats.six,.transition-print .print-stats{grid-template-columns:repeat(2,1fr)}}
@media print{@page{size:A4 portrait;margin:12mm}.principal-report,.transition-print{width:100%}.principal-report{font-size:10px}.print-document{border:0;box-shadow:none;padding:0;border-radius:0}.print-letterhead{margin-bottom:8px}.print-table{font-size:9px}.principal-report .print-table{font-size:8px}.report-score-grid{grid-template-columns:repeat(3,1fr)}.print-stats.six{grid-template-columns:repeat(6,1fr)}.confidential-section{break-before:auto}}

/* =========================================================
   e-BK Santri v1.3.1 — Scroll, Islamic visual refinement,
   and delayed-loading overlay
   ========================================================= */
html{
  min-height:100%;
  overflow-x:hidden;
  overflow-y:scroll;
  scroll-behavior:smooth;
  scrollbar-gutter:stable;
}
body{
  min-height:100%;
  overflow-x:hidden;
  overflow-y:auto;
  background-color:#f3f8f5;
  background-image:
    radial-gradient(circle at 16px 16px,rgba(15,92,72,.035) 2px,transparent 2px),
    linear-gradient(45deg,transparent 47%,rgba(200,166,75,.025) 48%,rgba(200,166,75,.025) 52%,transparent 53%);
  background-size:32px 32px,48px 48px;
}
body.is-loading{
  cursor:progress;
}
body.sidebar-open{
  overflow:hidden;
}
.app-shell{
  min-height:100dvh;
  height:auto;
  align-items:stretch;
}
.sidebar{
  height:100dvh;
  max-height:100dvh;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.36) transparent;
  background:
    radial-gradient(circle at 12% 3%,rgba(200,166,75,.18),transparent 18%),
    linear-gradient(180deg,#0b513f 0%,#083c31 70%,#072f28 100%);
}
.sidebar::-webkit-scrollbar{width:7px}
.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:999px}
.sidebar::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.22;
  background-image:
    linear-gradient(30deg,transparent 46%,rgba(255,255,255,.08) 47%,rgba(255,255,255,.08) 53%,transparent 54%),
    linear-gradient(150deg,transparent 46%,rgba(255,255,255,.05) 47%,rgba(255,255,255,.05) 53%,transparent 54%);
  background-size:34px 58px;
}
.sidebar>*{position:relative;z-index:1}
.sidebar nav{padding-bottom:18px}
.sidebar nav a{
  border:1px solid transparent;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.sidebar nav a:hover,
.sidebar nav a:focus-visible{
  background:rgba(255,255,255,.11);
  border-color:rgba(200,166,75,.28);
  transform:translateX(2px);
  outline:none;
}
.brand-mark{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.32);
  box-shadow:inset 0 0 0 1px rgba(68,51,12,.12),0 8px 18px rgba(0,0,0,.14);
  background:linear-gradient(145deg,#e2c66e,#b8922d);
}
.brand-mark::after{
  content:"✦";
  position:absolute;
  top:3px;
  right:6px;
  font-size:9px;
  color:#fff8dc;
  text-shadow:0 1px 2px rgba(0,0,0,.25);
}
.main{
  min-width:0;
  min-height:100dvh;
  overflow:visible;
}
.topbar{
  min-height:90px;
  height:auto;
  background:
    linear-gradient(90deg,rgba(237,247,243,.8),rgba(255,255,255,.96) 36%,rgba(255,250,240,.75));
  border-bottom:1px solid #d9e8e1;
  box-shadow:0 5px 18px rgba(15,92,72,.045);
}
.topbar::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  background:linear-gradient(90deg,var(--green),var(--gold),transparent 82%);
  opacity:.7;
}
.topbar h1{color:#123f33}
.topbar p::before{content:"☾ ";color:var(--gold);font-weight:800}
.content{
  width:100%;
  min-height:calc(100dvh - 90px);
  margin:0 auto;
  padding-bottom:56px;
  overflow:visible;
}
.card,
.form-card,
.report-sheet,
.print-document{
  position:relative;
}
.card::before,
.form-card::before{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  top:0;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--green2),var(--gold),transparent);
  opacity:.48;
}
.section-title h2::before{
  content:"✦";
  margin-right:8px;
  color:var(--gold);
  font-size:.8em;
}
.table-wrap{
  max-width:100%;
  overflow-x:auto;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
}
.sticky-actions{
  bottom:0;
  border-top:1px solid rgba(15,92,72,.08);
}
.login-page{
  min-height:100dvh;
  height:auto;
  overflow-y:auto;
}
.login-hero{
  position:relative;
  overflow:hidden;
}
.login-hero::after{
  content:"";
  position:absolute;
  inset:auto -8% -24% 35%;
  width:420px;
  height:420px;
  border:1px solid rgba(255,255,255,.12);
  transform:rotate(45deg);
  border-radius:80px;
  box-shadow:0 0 0 34px rgba(255,255,255,.025),0 0 0 68px rgba(200,166,75,.035);
  pointer-events:none;
}
.login-box{
  border:1px solid rgba(15,92,72,.13);
  position:relative;
  overflow:hidden;
}
.login-box::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg,var(--green),var(--gold),var(--green2));
}

/* Loading overlay is created by assets/app.js. It becomes visible only
   when navigation or a form submission takes longer than a short delay. */
.loading-overlay{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(5,39,31,.80);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease,visibility 0s linear .22s;
}
.loading-overlay.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:all;
  transition-delay:0s;
}
.loading-card{
  width:min(560px,100%);
  padding:28px 26px;
  border:1px solid rgba(224,198,110,.48);
  border-radius:22px;
  background:linear-gradient(155deg,rgba(12,80,62,.97),rgba(7,48,39,.98));
  color:#fff;
  text-align:center;
  box-shadow:0 24px 70px rgba(0,0,0,.30);
}
.loading-symbol{
  width:68px;
  height:68px;
  margin:0 auto 18px;
  position:relative;
  border-radius:50%;
  border:3px solid rgba(255,255,255,.18);
  border-top-color:var(--gold);
  animation:ebk-spin 1s linear infinite;
}
.loading-symbol::before{
  content:"☾";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#f4d77e;
  font-size:31px;
  transform:rotate(-25deg);
}
.loading-title{
  margin:0 0 9px;
  color:#f8e4a5;
  font-size:14px;
  font-weight:750;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.loading-quote{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:18px;
  line-height:1.65;
}
.loading-note{
  display:block;
  margin-top:13px;
  color:rgba(255,255,255,.68);
  font-size:12px;
}
@keyframes ebk-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
@media(max-width:760px){
  .sidebar{
    width:min(86vw,290px);
    height:100dvh;
    max-height:100dvh;
  }
  .sidebar.open{box-shadow:18px 0 45px rgba(0,0,0,.24)}
  .topbar{min-height:76px;padding:13px 16px}
  .content{min-height:calc(100dvh - 76px);padding-bottom:42px}
  .loading-card{padding:24px 19px}
  .loading-quote{font-size:16px}
}
@media print{
  html,body{overflow:visible!important;background:#fff!important;background-image:none!important}
  .loading-overlay{display:none!important}
  .card::before,.form-card::before,.topbar::after{display:none!important}
}

.login-motto{position:relative;z-index:1;max-width:560px;margin-top:22px;padding-left:16px;border-left:3px solid rgba(226,198,110,.85);font-family:Georgia,"Times New Roman",serif;font-size:15px!important;font-style:italic;opacity:.9}
