@charset "UTF-8";
@font-face {
  font-family:"PCMS Display";
  src:url("/static/fonts/noto-serif-tc-title-700.ttf?v=20260928-30a") format("truetype");
  font-style:normal;
  font-weight:700;
  font-display:swap;
  unicode-range:U+5165,U+51FA,U+5E2D,U+767B,U+7CFB,U+7D71,U+8003,U+8A66;
}
.mobile-system-title { display:none; }
.system-display-title {
  font-family:"PCMS Display","Noto Serif TC","Songti TC","PMingLiU",serif;
  font-weight:700;
  font-synthesis:none;
}
@media screen {
  .login-copy h1.system-display-title {
    font-size:clamp(40px,4.4vw,64px); font-weight:700; line-height:1.45;
    letter-spacing:.035em; max-width:none; white-space:nowrap;
    color:#fff; text-shadow:0 3px 18px #06172b26;
  }
  .topbar .topbar-context { flex-direction:column; align-items:flex-start; gap:5px; }
  .topbar .topbar-context>.system-display-title {
    display:block; font-size:28px; font-weight:700; line-height:1.4; letter-spacing:.06em; white-space:nowrap;
  }
  .privacy-page header strong.system-display-title { font-size:27px; line-height:1.5; letter-spacing:.04em; }
}
@media screen and (min-width:801px) and (max-width:1180px) {
  .topbar .topbar-context>.system-display-title { font-size:24px; }
}
@media screen and (max-width:800px) {
  .sidebar .mobile-system-title {
    display:block; padding:0 18px 14px; color:#fff;
    font-size:27px; line-height:1.45; letter-spacing:.08em;
  }
  .login-copy h1.system-display-title { font-size:clamp(36px,8.7vw,52px); }
  .privacy-page header strong.system-display-title { font-size:23px; }
}
@media screen and (max-width:350px) {
  .sidebar .mobile-system-title { font-size:25px; padding-inline:13px; }
  .login-copy h1.system-display-title { font-size:34px; letter-spacing:.015em; }
}
/* School brand finish. Screen-only; attendance signals and print rules stay untouched. */
@media screen {
  :root {
    --brand-navy:#172e50;
    --brand-deep:#0d203d;
    --brand-rose:#a92e48;
    --brand-paper:#f4f6fa;
    --brand-line:#dde5ef;
    --brand-shadow:0 6px 24px #142d4a08,0 1px 3px #142d4a04;
    font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang TC","Microsoft JhengHei","Segoe UI",sans-serif;
  }
  body {
    background:radial-gradient(ellipse at 94% 3%,#eddae380,transparent 35%),radial-gradient(ellipse at 34% 0%,#dceaf58c,transparent 48%),#f3f5f9;
    background-attachment:fixed;
    color:#263b55;
  }
  :is(button,a,input,select,textarea):focus-visible { outline:3px solid #799dc8; outline-offset:3px; }
  input,select,textarea { font-variant-numeric:tabular-nums; }
  .table-wrap { scrollbar-color:#a9bbd0 #f3f6fa; scrollbar-width:thin; }

  /* One school identity from navigation to account controls. */
  .sidebar {
    inset:16px auto 16px 16px; width:242px; border:1px solid #ffffff24;
    border-radius:22px; background:radial-gradient(ellipse at 105% 110%,#9b39585e,transparent 54%),linear-gradient(160deg,#112645,#1b3a5b 65%,#29364f);
    box-shadow:0 18px 40px #17355724;
  }
  .sidebar::before { width:58px; height:4px; left:25px; background:linear-gradient(90deg,#d97183,#b03750); }
  .sidebar::after { content:""; position:absolute; z-index:-1; pointer-events:none; width:220px; height:220px; right:-112px; bottom:40px; border:1px solid #ffffff10; border-radius:50%; box-shadow:0 0 0 28px #ffffff03,0 0 0 58px #ffffff02; }
  .sidebar .brand { padding:30px 18px 24px; gap:12px; }
  .sidebar .brand-seal { width:46px; height:46px; border-width:3px; box-shadow:0 0 0 5px #ffffff09; }
  .sidebar .brand-title { font-size:16px; letter-spacing:.015em; font-weight:750; }
  .sidebar .brand-subtitle { font-size:11px; line-height:1.5; color:#bed0e5; margin-top:5px; }
  .sidebar .nav-label { color:#aec0d7; font-size:11px; padding:17px 13px 8px; letter-spacing:.13em; }
  .nav { gap:6px; padding:0 14px; }
  .nav a { font-size:15px; min-height:47px; border-radius:10px; padding:11px 13px; color:#d1ddeb; }
  .nav a:hover { background:#ffffff10; }
  .nav a.active { background:linear-gradient(105deg,#fff,#e9f1f9); color:#153153; box-shadow:0 5px 16px #071c3629,inset 0 1px 0 #fff; font-weight:700; }
  .nav a.active::before { left:-14px; height:22px; background:#da6b80; }
  .sidebar-bottom { color:#b0c0d6; margin:22px 19px 0; font-size:12px; }
  .sidebar-bottom small { color:#9bafc9; font-size:11px; }
  .workspace { margin-left:274px; }
  .topbar { border:1px solid #fff; border-radius:15px; background:linear-gradient(110deg,#fffffff2,#f5f7fce6); box-shadow:var(--brand-shadow); padding:13px 17px; margin:16px 30px 13px; }
  .topbar-context>strong { color:#536b87; font-size:14px; font-weight:600; }
  .topbar-context .today { color:#718299; }
  .user-info strong { font-size:14px; color:#243d5d; }
  .user-info span { font-size:12px; color:#75869c; }
  .avatar { color:#fff; background:linear-gradient(140deg,#294d75,#6d4863); border:1px solid #ffffffad; width:37px; height:37px; box-shadow:0 3px 8px #29446116; }
  .account-actions .btn { color:#62758d; font-size:13px; min-height:38px; }
  .role-switch { background:#eaf0f8; border-color:#ccdaeb; border-radius:11px; box-shadow:inset 0 1px 3px #243f6510; }
  .user-area .role-switch .btn.active,.mobile-account-menu .role-switch .btn.active { background:linear-gradient(120deg,#1b365a,#3a5b7b); color:#fff; box-shadow:0 3px 8px #1e3a5a20; }
  main { padding:29px 30px 60px; }
  .global-demo-note { padding:0 30px; }
  .global-demo-note .note { background:#f7f0e4; border:1px solid #eae0cc; color:#786443; border-radius:8px; font-size:12px; }

  /* Shared working surfaces. Live monitoring has its own finishing layer. */
  #main:not(.live-monitor) .page-head { position:relative; padding:7px 0 22px; margin-bottom:24px; border-bottom:1px solid #dce4ee; }
  #main:not(.live-monitor) .page-head::after { content:""; position:absolute; bottom:-1px; left:0; width:72px; height:3px; border-radius:3px; background:linear-gradient(90deg,#aa314b,#cf7889); }
  #main:not(.live-monitor) .page-head h1 { color:#193453; font-size:32px; font-weight:760; letter-spacing:-.025em; }
  #main:not(.live-monitor) .page-head .eyebrow { color:#96455b; font-size:11px; font-weight:650; letter-spacing:.11em; margin-bottom:9px; }
  #main:not(.live-monitor) .page-head .eyebrow::before { width:7px; height:7px; border-radius:2px; transform:rotate(45deg); background:#b14a62; }
  #main:not(.live-monitor) .page-head p { font-size:14px; color:#728298; }
  .card { border-radius:16px; border-color:#dfe6ef; background:#fff; box-shadow:var(--brand-shadow); }
  #main:not(.live-monitor) .card-head { position:relative; padding:21px 24px; background:linear-gradient(105deg,#f8fafd,#fff 65%); border-color:#e2e9f2; }
  #main:not(.live-monitor) .card-head::before { content:""; position:absolute; top:23px; left:0; width:3px; height:24px; border-radius:0 3px 3px 0; background:#ac425b; }
  #main:not(.live-monitor) .card-head h2 { color:#213d60; font-size:19px; font-weight:720; }
  #main:not(.live-monitor) .card-head p { color:#71839b; font-size:13px; line-height:1.65; }
  .card-body { padding:24px; }
  .card-foot { padding:15px 24px; background:#f7f9fc; border-color:#e5ebf3; }
  .filters { gap:16px; align-items:flex-end; }
  .field { gap:8px; }
  .field>span,.field>label { color:#5c708c; font-size:14px; font-weight:650; }
  input,select,textarea { background:#fbfcfe; border:1px solid #cfdceb; border-radius:10px; min-height:46px; padding:10px 12px; color:#294361; font-size:16px; box-shadow:inset 0 1px 2px #213e5a03; }
  input:hover,select:hover,textarea:hover { border-color:#9fb7d3; background:#fff; }
  input:focus,select:focus,textarea:focus { background:#fff; border-color:#7397c1; box-shadow:0 0 0 3px #dee8f560; }
  input::placeholder,textarea::placeholder { color:#879ab3; }
  input:disabled,select:disabled,textarea:disabled { background:#eff3f7; color:#74869f; }
  input[type=checkbox] { width:19px; height:19px; min-height:19px; accent-color:#23496d; }
  input[type=file] { border:1px dashed #9db3ce; background:linear-gradient(120deg,#f1f6fd,#f9f6fa); border-radius:12px; }
  .btn { min-height:44px; font-size:15px; padding:10px 15px; border-radius:10px; border-color:#d5dfec; background:#fff; color:#355371; font-weight:650; box-shadow:0 2px 3px #18385805; }
  .btn:hover { border-color:#9fb5d0; background:#f2f6fb; box-shadow:0 4px 10px #17324d0c; }
  .btn.primary { background:linear-gradient(120deg,#173457,#315876); border:1px solid #264969; box-shadow:0 5px 12px #1c3e6224,inset 0 1px 0 #ffffff18; color:#fff; }
  .btn.primary:hover { background:linear-gradient(120deg,#25496c,#456888); border-color:#385e83; }
  .btn.soft { background:#eaf1f9; color:#315575; border-color:#dce7f4; }
  .btn.danger { border-color:#ebc9d2; background:#fff9fa; color:#a13950; }
  .btn.danger:hover { background:#fbeef1; border-color:#dba7b6; }
  .btn.tiny { min-height:35px; font-size:13px; padding:7px 11px; border-radius:8px; }
  .btn svg { width:17px; height:17px; }
  .btn:disabled { box-shadow:none; }
  .tabs,.section-tabs { padding:6px; gap:5px; background:#e7edf5; border:1px solid #d9e3ef; border-radius:12px; box-shadow:inset 0 1px 3px #263f6010; }
  .tabs button,.section-tabs button { font-size:14px; min-height:43px; border-radius:8px; padding:10px 14px; color:#657c98; }
  .tabs button.active,.section-tabs button.active { color:#fff; background:linear-gradient(120deg,#213d61,#3c5b7a); box-shadow:0 3px 8px #294c6d1f; }
  #main:not(.live-monitor) th { background:linear-gradient(110deg,#294567,#344e6b); color:#f1f5fb; font-size:13px; font-weight:650; padding:14px 16px; border-color:#ffffff1c; }
  #main:not(.live-monitor) td { padding:15px 16px; border-color:#e7edf5; }
  #main:not(.live-monitor) tbody tr:not([class*="row-status-"]):nth-child(even)>td { background:#f8fafd; }
  #main:not(.live-monitor) tbody tr:not([class*="row-status-"]):hover>td { background:#edf3fa; }
  #main:not(.live-monitor) td small { color:#7386a0; font-size:13px; }
  #main:not(.live-monitor) .table-wrap { border-color:#dfe7f1; }
  #main:has([data-action="new-import"])>.card>.table-wrap>table { min-width:1000px; }
  #main:has([data-action="new-import"])>.card>.table-wrap td { vertical-align:top; }
  .context-help { color:#6c819b; font-size:13px; }
  .context-help>summary::before { background:#f7faff; color:#6984a8; border-color:#c0d0e4; }
  .context-help-body { background:#edf3fa; border:1px solid #dae5f2; border-radius:10px; color:#4d6788; }
  .note { line-height:1.7; border-radius:10px; }
  .empty { padding:52px 24px; }
  .empty>svg { background:linear-gradient(145deg,#edf4fc,#f5edf1); border-color:#d9e4f1; color:#7690b0; border-radius:17px; box-shadow:0 5px 14px #29446508; }
  .empty h3 { color:#57708f; font-size:18px; }
  .empty p { color:#7c8fa7; font-size:14px; }

  /* Clear teacher actions and legible, calm figures. */
  .roll-header { padding:24px; background:linear-gradient(110deg,#edf3fb,#fff 75%); border-color:#dce6f2; border-left:4px solid #456584; }
  .roll-header h2 { color:#1d3c5e; font-size:23px; }
  .group-meta { color:#637b98; font-size:14px; }
  .roll-reference { color:#6f849d; font-size:13px; }
  .roll-toolbar { padding:16px 22px; background:#f6f9fd; }
  .roll-group .table-wrap td { padding:13px 14px; }
  .roll-group td.name { font-size:18px; min-width:112px; }
  .roll-group td.nowrap { min-width:180px; }
  .roll-group td.nowrap small { white-space:normal; max-width:180px; }
  .roll-group .face-detail { font-size:13px; line-height:1.6; }
  .roll-group .status-cell select { border-color:#b7c9df; background:#fff; font-size:16px; }
  .roll-footer { padding:21px 24px; background:linear-gradient(110deg,#f3f7fc,#fbfcfe); border-color:#dee8f3; }
  .roll-dirty-indicator { color:#8d5424; background:#fff0d9; border:1px solid #eed7b5; font-size:13px; padding:5px 9px; }
  .stats { gap:12px; }
  .stats>.stat { border-radius:15px; min-height:143px; padding:20px 16px; box-shadow:0 5px 17px #18395708; }
  .stat-label { color:#697d96; font-size:13px; }
  .stat-number { font-size:37px; color:#1c3a5d; letter-spacing:-.035em; line-height:1.25; margin-top:12px; }
  .stat-number>span { color:#7b8fa8; font-size:11px; }
  .stat-footer { color:#7c8fa6; font-size:12px; }
  .stats>.stat.metric-status-total { background:radial-gradient(ellipse at 100% 0%,#a4496859,transparent 76%),linear-gradient(135deg,#173252,#2e5676); border-color:#244d6f; }
  .metric-status-total .stat-label { color:#d2deec; }
  .metric-status-total .stat-number { color:#fff; }
  .metric-status-total .stat-footer,.metric-status-total .stat-number>span { color:#b7c9df; }
  .daily-row { border-radius:13px; border:1px solid #dce6f2; background:linear-gradient(110deg,#f9fbff,#fff); }
  .google-access-panel[data-access=admins]>.card-head { background:linear-gradient(110deg,#f5e9ee,#f5f8fc 80%)!important; }
  .google-access-panel[data-access=teachers]>.card-head { background:linear-gradient(110deg,#edf3fa,#fff)!important; }

  /* Dialogs retain the same visual rhythm as the workspace. */
  dialog { border:1px solid #ffffffd9; border-radius:19px; box-shadow:0 28px 95px #0d244649; }
  dialog::backdrop { background:#152b4866; backdrop-filter:blur(5px); }
  .modal-head { padding:22px 26px; border-color:#dce5f0; background:linear-gradient(105deg,#edf3fb,#f7f1f4); }
  .modal-head h2 { color:#223e62; font-size:22px; font-weight:720; }
  .modal-head .btn.icon { width:38px; height:38px; border:1px solid #dce5ef; background:#fff; }
  .modal-body { padding:25px 26px; }
  .modal-foot { padding:18px 26px; background:#f4f7fb; border-color:#dfe7f2; }
  dialog:not(:has(#live-room-detail)) th { background:#edf2f9; color:#536e90; font-size:13px; }
  .mobile-account-menu { border:1px solid #d2dfef; border-radius:15px; background:linear-gradient(160deg,#fff,#f7faff); box-shadow:0 20px 45px #112c4c38; }

  /* An editorial cover paired with an uncluttered sign-in card. */
  .login { background:radial-gradient(ellipse at 90% 10%,#e8dce680,transparent 44%),#eef3f8; padding:24px; gap:24px; grid-template-columns:minmax(400px,1.08fr) minmax(400px,1fr); }
  .login-story { border-radius:24px; padding:44px 48px; min-height:calc(100dvh - 48px); background:radial-gradient(ellipse at 110% 90%,#9b35586b,transparent 58%),linear-gradient(145deg,#102845,#204766 60%,#273b59); box-shadow:0 20px 45px #17345422; }
  .login-story::before { right:-175px; top:22%; width:540px; height:540px; border:1px solid #f5e8ef12; border-radius:50%; box-shadow:0 0 0 35px #ffffff03,0 0 0 80px #ffffff02; }
  .login-story::after { width:72px; height:5px; left:48px; background:linear-gradient(90deg,#de7b8b,#af304e); }
  .login-story .brand-seal { width:64px; height:64px; box-shadow:0 0 0 6px #ffffff08; }
  .login-story .brand-title { font-size:21px; letter-spacing:.035em; }
  .login-story .brand-subtitle { font-size:13px; color:#c2d2e5; }
  .login-kicker { color:#deb5c1; letter-spacing:.18em; font-size:12px; }
  .login-copy h1 { font-size:46px; font-weight:720; line-height:1.3; }
  .login-copy p { font-size:16px; color:#c0d0e4; max-width:390px; }
  .login-visual { margin:34px 0 18px; padding:21px 30px 27px; background:linear-gradient(145deg,#ffffff0a,#ffffff02); border:1px solid #b5c9df24; border-radius:15px; box-shadow:0 18px 35px #0b213828; }
  .login-seat-grid { gap:12px; }
  .login-seat-grid i { background:linear-gradient(145deg,#8faecc4c,#4e74993d); border-color:#acc3df33; box-shadow:inset 0 1px 0 #ffffff12; border-radius:5px; }
  .login-seat-grid i.soft { background:#b0c7db91; }
  .login-seat-grid i.accent { background:linear-gradient(135deg,#bd7084c7,#973951b5); border-color:#d592a17a; }
  .login-podium { background:linear-gradient(90deg,#b4c4d52e,#c3d2e86b,#b4c4d52e); }
  .login-capabilities { color:#b9cce0; font-size:12px; gap:22px; }
  .login-form-side { padding:35px; }
  .login-form { padding:35px 34px; border:1px solid #fff; border-radius:21px; background:#ffffffed; max-width:430px; box-shadow:0 17px 50px #29445f0b,0 1px 3px #17314e05; }
  .login-form h2 { font-size:29px; color:#1c3859; font-weight:720; }
  .login-form>.muted { color:#71849c; font-size:15px; }
  .google-login-button { min-height:55px; font-size:16px; border-color:#bfcfe2!important; background:linear-gradient(120deg,#f6f9ff,#fff)!important; box-shadow:0 4px 11px #1a3a620b!important; }
  .google-domain-help,.login-privacy-link { font-size:13px; color:#657d9b; }
  .password-login { border-color:#dfe7f1; }
  .password-login>summary { font-size:14px; color:#667c98; }
  .login-form .footnote { color:#8192a6; font-size:12px; }
  .privacy-page { background:radial-gradient(ellipse at 95% 0%,#eedde778,transparent 52%),#f1f5fa; }
  .privacy-page main { border:1px solid #fff; border-top:4px solid #aa3a54; padding:42px 48px; border-radius:20px; box-shadow:0 15px 50px #233e5b0b; }
  .privacy-page header { padding-bottom:26px; border-color:#dfe7f2; }
  .privacy-page header img { width:60px; height:60px; object-fit:contain; }
  .privacy-page header strong { color:#28466a; font-size:17px; }
  .privacy-page header small { color:#7388a3; font-size:13px; }
  .privacy-page h1 { color:#1c395b; font-size:30px; letter-spacing:-.02em; }
  .privacy-page h2 { color:#395677; font-size:19px; padding-left:12px; border-left:3px solid #be6178; margin-top:29px; }
  .privacy-page p { font-size:16px; color:#576e8b; line-height:1.95; }
  .privacy-page footer a { display:inline-block; padding:9px 15px; border:1px solid #d4e1ef; border-radius:8px; background:#eff4fb; margin-bottom:9px; }
}
@media screen and (min-width:801px) and (max-width:1180px) {
  .sidebar { inset:12px auto 12px 12px; width:218px; }
  .workspace { margin-left:242px; }
  .sidebar .brand { padding:25px 15px 20px; gap:10px; }
  .sidebar .brand-seal { width:40px; height:40px; }
  .sidebar .brand-title { font-size:14px; }
  .sidebar .brand-subtitle { font-size:10px; }
  .nav a { font-size:14px; padding:10px; }
  .nav { padding:0 10px; }
  .nav a.active::before { left:-10px; }
  .topbar { margin-left:22px; margin-right:22px; }
  main,.global-demo-note { padding-left:22px; padding-right:22px; }
  .topbar-context .today { display:none; }
  .topbar-context>strong { font-size:12px; }
  .user-area { gap:8px; }
  .user-area .role-switch .btn { padding:8px; font-size:13px; }
  .login { padding:18px; gap:10px; grid-template-columns:1fr 1fr; }
  .login-story { padding:35px 30px; min-height:calc(100dvh - 36px); }
  .login-story .brand-title { font-size:17px; }
  .login-copy h1 { font-size:36px; }
  .login-form-side { padding:22px; }
  .login-form { padding:28px; }
}
@media screen and (max-width:800px) {
  .sidebar { inset:auto; position:relative; width:100%; border:0; border-radius:0 0 18px 18px; box-shadow:0 6px 17px #17365917; padding-bottom:10px; }
  .sidebar::after { display:none; }
  .sidebar .brand { padding:20px 18px 16px; }
  .sidebar-brand-row .brand { padding:0; }
  .sidebar-brand-row { padding:16px 17px 11px; }
  .sidebar-brand-row .brand-title { font-size:15px; }
  .sidebar-brand-row .brand-subtitle { font-size:10px; line-height:1.45; color:#c3d4e7; }
  .sidebar .brand-seal { width:38px; height:38px; box-shadow:0 0 0 3px #ffffff09; }
  .nav { padding:0 14px 3px; gap:6px; }
  .nav a { min-height:42px; padding:9px 11px; font-size:13px; border-radius:8px; }
  .workspace { margin:0; }
  .topbar { margin:13px 17px; padding:12px 14px; }
  main { padding:25px 17px 46px; }
  .global-demo-note { padding:12px 17px 0; }
  .global-demo-note .note { font-size:11px; padding:8px 10px; }
  #main:not(.live-monitor) .page-head { padding:0 0 20px; margin-bottom:22px; gap:15px; }
  #main:not(.live-monitor) .page-head h1 { font-size:28px; }
  #main:not(.live-monitor) .page-head .eyebrow { font-size:10px; }
  #main:not(.live-monitor) .page-head p { font-size:13px; }
  .page-head .btn { min-height:40px; padding:8px 12px; font-size:13px; }
  .card { border-radius:14px; margin-bottom:17px; }
  #main:not(.live-monitor) .card-head,.card-body { padding:18px; }
  #main:not(.live-monitor) .card-head::before { top:20px; height:23px; }
  #main:not(.live-monitor) .card-head h2 { font-size:18px; }
  .card-foot { padding:14px 18px; }
  .field>span,.field>label { font-size:13px; }
  .filters { gap:14px; }
  .btn { font-size:14px; }
  .tabs,.section-tabs { padding:5px; }
  .tabs button,.section-tabs button { font-size:13px; padding:9px 11px; min-height:40px; }
  #main:not(.live-monitor) .table-wrap>table { min-width:680px; }
  #main:has([data-action="new-import"])>.card>.table-wrap>table { min-width:1000px; }
  #main:not(.live-monitor) th { padding:13px 14px; font-size:12px; }
  #main:not(.live-monitor) td { padding:14px; }
  #main:not(.live-monitor) td small { font-size:12px; }
  .stats { gap:9px; }
  .stats>.stat { padding:16px 11px; min-height:121px; border-radius:12px; }
  .stat-label { font-size:11px; }
  .stat-number { font-size:28px; margin-top:9px; }
  .stat-number>span { font-size:10px; margin-left:3px; }
  .stat-footer { font-size:10px; }
  .roll-header { padding:18px; border-left-width:3px; }
  .roll-header h2 { font-size:21px; }
  .group-meta { font-size:13px; }
  .roll-toolbar { padding:15px 18px; }
  .roll-footer { padding:18px; }
  .modal-head { padding:19px 18px; }
  .modal-head h2 { font-size:20px; }
  .modal-body { padding:19px 18px; }
  .modal-foot { padding:15px 18px; }
  dialog { border-radius:16px; }
  .mobile-account-trigger { background:linear-gradient(130deg,#ffffff13,#ffffff08); border-color:#ffffff35; box-shadow:inset 0 1px 0 #ffffff0b; }
  .mobile-account-trigger[aria-expanded=true] { background:#ffffff23; border-color:#ffffff66; }
  .login { display:block; padding:0; background:#eff3f9; }
  .login-story { padding:29px 25px 33px; min-height:0; border-radius:0 0 26px 26px; }
  .login-story::before { width:280px; height:280px; right:-145px; top:30%; }
  .login-story::after { left:26px; width:55px; }
  .login-story .brand-seal { width:47px; height:47px; }
  .login-story .brand-title { font-size:18px; }
  .login-story .brand-subtitle { font-size:11px; }
  .login-copy { padding-top:29px; }
  .login-kicker { font-size:10px; margin-bottom:11px; }
  .login-copy h1 { font-size:33px; }
  .login-copy p { font-size:14px; }
  .login-capabilities { font-size:11px; gap:17px; }
  .login-form-side { padding:25px 18px 35px; }
  .login-form { padding:25px 23px; border-radius:17px; }
  .login-form h2 { font-size:25px; }
  .login-form>.muted { font-size:14px; }
  .privacy-page main { margin:17px 13px; padding:28px 23px; border-radius:16px; }
  .privacy-page h1 { font-size:25px; }
  .privacy-page header { gap:12px; }
  .privacy-page header img { width:48px; height:48px; }
  .privacy-page header strong { font-size:15px; }
  .privacy-page header small { font-size:11px; }
  .privacy-page h2 { font-size:18px; }
  .privacy-page p { font-size:15px; }
}
@media screen and (max-width:350px) {
  .sidebar-brand-row { padding-left:12px; padding-right:12px; gap:8px; }
  .sidebar-brand-row .brand-title { font-size:14px; }
  .sidebar-brand-row .brand-seal { width:32px; height:32px; }
  .login-story { padding-left:20px; padding-right:20px; }
  .login-story .brand-title { font-size:16px; }
  .login-form-side { padding:20px 13px; }
  .login-form { padding:23px 19px; }
  .login-copy h1 { font-size:29px; }
}
