/* AC Team Enterprise V4.3 — public reporting & login visual-only theme.
 * Intentionally scoped to .report-choice-shell, .report-shell and .login-page.
 * No elements are hidden, disabled, reordered in DOM, or have pointer-events changed.
 * Existing report forms, validation, JS, permissions and routes remain untouched.
 */
:root{
  --ac43-navy:#0e273d;
  --ac43-navy-2:#15354b;
  --ac43-teal:#147a82;
  --ac43-accent:#3da4a4;
  --ac43-ink:#183143;
  --ac43-muted:#607587;
  --ac43-border:#dce7ea;
  --ac43-surface:#fff;
  --ac43-wash:#f3f7f8;
  --ac43-focus:#147a82;
}
/* Report selection — enterprise service catalogue, large accessible hit targets */
.report-choice-shell{
  max-width:1250px;
  padding:38px 28px 90px;
  margin:0 auto;
  font-family:"Noto Sans TC","Microsoft JhengHei","PingFang TC",sans-serif;
}
.report-choice-shell .report-intro{
  isolation:isolate;position:relative;overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  background:linear-gradient(117deg,#0d263c 0%,#14364a 63%,#1e5260 100%);
  box-shadow:0 20px 48px rgba(15,37,52,.13);
  padding:47px clamp(28px,6vw,72px) 53px;
  margin-bottom:25px;
  color:#fff;
}
.report-choice-shell .report-intro::before{
  content:"";position:absolute;z-index:-1;inset:auto -84px -250px auto;
  width:530px;height:530px;border:1px solid rgba(157,225,222,.19);
  border-radius:50%;box-shadow:0 0 0 80px rgba(157,225,222,.035),0 0 0 170px rgba(157,225,222,.025);
}
.report-choice-shell .report-intro .kicker,
.report-shell .report-intro .kicker{
  color:#91dad7;font-weight:800;letter-spacing:.23em;
  font-size:12px;display:inline-block;
}
.report-choice-shell .report-intro h1{color:#fff;line-height:1.2;letter-spacing:.03em;font-size:clamp(34px,4.1vw,54px);margin:13px 0 18px;font-weight:900}
.report-choice-shell .report-intro p{color:#d8e8ed;max-width:660px;font-size:17px;line-height:1.9;margin:0}
.report-choice-shell .report-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:0}
.report-choice-shell .report-choice-card{
  position:relative;display:flex;align-items:flex-start;gap:23px;min-height:265px;
  border:1px solid var(--ac43-border);border-radius:20px;
  background:linear-gradient(160deg,#fff,#f8fbfc);
  padding:34px 32px 32px;box-shadow:0 10px 33px rgba(19,48,66,.065);
  border-top:1px solid var(--ac43-border);
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
  text-decoration:none;
}
.report-choice-shell .report-choice-card::before{content:"";position:absolute;height:5px;top:0;left:24px;right:24px;background:var(--ac43-teal);border-radius:0 0 6px 6px}
.report-choice-shell .report-choice-card.general::before{background:#b38a53}
.report-choice-shell .report-choice-card:hover{transform:translateY(-3px);border-color:#a7c9cf;box-shadow:0 17px 45px rgba(16,50,64,.12)}
.report-choice-shell .report-choice-card .choice-icon{display:grid;place-items:center;flex:none;width:73px;height:73px;border-radius:17px;background:#e8f5f5;color:#12646d;font-size:35px}
.report-choice-shell .report-choice-card.general .choice-icon{background:#f7f0e4}
.report-choice-shell .report-choice-card div{display:flex;flex-direction:column;align-items:flex-start;min-width:0;flex:1}
.report-choice-shell .report-choice-card h2{font-size:26px;font-weight:900;color:var(--ac43-ink);letter-spacing:.02em;line-height:1.4;margin:6px 0 12px}
.report-choice-shell .report-choice-card p{font-size:16px;line-height:1.85;color:#607384;margin:0 0 22px}
.report-choice-shell .report-choice-card strong{
  margin-top:auto;display:inline-flex;min-height:48px;align-items:center;
  font-size:16px;letter-spacing:.01em;border-radius:11px;
  background:#0f374b;color:#fff;padding:12px 21px;
}
.report-choice-shell .report-choice-card.general strong{background:#7b5c3c;color:#fff}
.report-choice-shell .report-choice-card:focus-visible,
.report-shell a:focus-visible{outline:3px solid var(--ac43-focus);outline-offset:4px}
/* Aircon + general report entry. Forms and their inputs remain the exact originals. */
.report-shell{max-width:1080px;margin:34px auto 80px;padding:0 22px;color:var(--ac43-ink);font-family:"Noto Sans TC","Microsoft JhengHei","PingFang TC",sans-serif}
.report-shell .report-intro{
  isolation:isolate;position:relative;overflow:hidden;
  border-radius:21px;background:linear-gradient(116deg,#102b41 0%,#15394d 74%,#1d5e65 100%);
  padding:36px 42px 39px;margin-bottom:24px;
  border:1px solid #274c5b;box-shadow:0 14px 35px rgba(16,37,55,.11);
}
.report-shell .report-intro::after{content:"";position:absolute;z-index:-1;width:300px;height:300px;border:1px solid #ffffff1c;border-radius:50%;right:-70px;top:-180px;box-shadow:0 0 0 55px #ffffff09}
.report-shell .report-intro h1{font-size:clamp(28px,3vw,38px);margin:11px 0 13px;color:#fff;line-height:1.4;letter-spacing:.025em}
.report-shell .report-intro p{font-size:16px;line-height:1.85;max-width:850px;color:#dbe9ed;margin:0}
.report-shell .public-report-form{gap:18px}
.report-shell .form-section{
  background:var(--ac43-surface);border:1px solid var(--ac43-border);
  border-radius:18px;padding:29px 31px 31px;
  box-shadow:0 8px 27px rgba(19,50,63,.045);
}
.report-shell .form-section h2{
  color:#143c4a;font-size:21px;font-weight:900;letter-spacing:.01em;
  padding:0 0 17px;margin:0 0 24px;border-bottom:1px solid #e7eef0;
}
.report-shell .form-grid{gap:20px 19px}
.report-shell .public-report-form label{color:#244358;font-size:16px;line-height:1.55;gap:9px;font-weight:750;min-width:0}
.report-shell .public-report-form input:not([type="checkbox"]):not([type="hidden"]),
.report-shell .public-report-form select,
.report-shell .public-report-form textarea{
  min-height:51px;padding:12px 15px;font:inherit;font-size:16px;
  background:#fcfefe;border:1px solid #cbdce1;border-radius:11px;
  color:#213e51;box-shadow:inset 0 1px 2px #102d3605;
}
.report-shell .public-report-form textarea{min-height:145px;line-height:1.75}
.report-shell .public-report-form input[type="file"]{background:#f9fcfd;padding:12px;min-height:55px}
.report-shell .public-report-form input:focus-visible,
.report-shell .public-report-form select:focus-visible,
.report-shell .public-report-form textarea:focus-visible{
  outline:3px solid rgba(31,140,148,.23);outline-offset:1px;border-color:#19818b;
}
.report-shell .public-report-form input:disabled,
.report-shell .public-report-form select:disabled{background:#f0f4f6;color:#738693;opacity:1}
.report-shell .public-report-form label small{font-size:13px;font-weight:500;color:#687b89;line-height:1.65}
.report-shell .device-summary{border:1px solid #b5dadb;border-left:5px solid #20838b;background:#f0fafa;border-radius:13px;padding:20px 22px}
.report-shell .device-summary strong{color:#12596b}
.report-shell .category-note{background:#fef8ed;border:1px solid #eed4a3;border-radius:12px;padding:15px 17px;color:#6f531e}
.report-shell .report-consent{border:1px solid #dbe8ec;padding:20px 24px;background:#f3f8fa;border-radius:13px}
.report-shell .report-consent label{font-size:15px;font-weight:600;line-height:1.7;color:#2c495b;cursor:pointer}
.report-shell .report-consent input[type="checkbox"]{width:22px;height:22px;min-width:22px;accent-color:#176c78;margin:2px 5px 0 0}
.report-shell .report-submit{
  min-height:58px;background:linear-gradient(110deg,#0f4554,#156c76);
  border:1px solid #17636c;color:white;font-weight:850;font-size:18px;
  padding:16px 30px;border-radius:12px;cursor:pointer;
  box-shadow:0 9px 25px rgba(13,93,100,.16);
}
.report-shell .report-submit:not(:disabled):hover{background:linear-gradient(110deg,#0b3a48,#125f68);box-shadow:0 12px 27px rgba(13,93,100,.22)}
.report-shell .report-submit:focus-visible{outline:3px solid #62adb4;outline-offset:3px}
.report-shell .report-submit:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.report-shell .public-alert,.report-shell .duplicate-warning{border-radius:13px;line-height:1.8}
/* Administrative sign in — panel retains existing login form, CSRF behavior and links */
.login-page{
  font-family:"Noto Sans TC","Microsoft JhengHei","PingFang TC",sans-serif;
  background:radial-gradient(ellipse at 10% 20%,#215b69 0,transparent 34%),linear-gradient(130deg,#071d2f 0%,#102e40 64%,#194a54 100%);
  min-height:100vh;padding:42px 24px;
}
.login-page .login-shell{
  width:min(1080px,100%);grid-template-columns:1.02fr .98fr;
  min-height:565px;border-radius:22px;
  border:1px solid rgba(255,255,255,.15);
  box-shadow:0 30px 85px rgba(1,18,30,.32);background:#fff;
}
.login-page .login-intro{
  position:relative;overflow:hidden;isolation:isolate;
  padding:55px 50px 52px;background:linear-gradient(143deg,#123247 0%,#0e283b 66%,#184958 100%);
}
.login-page .login-intro::before{content:"";z-index:-1;position:absolute;width:430px;height:430px;border-radius:50%;border:1px solid #b0e2e51f;right:-200px;bottom:-210px;box-shadow:0 0 0 75px #b0e2e509,0 0 0 150px #b0e2e507}
.login-page .login-intro .back-link{display:inline-block;font-size:14px;color:#d6e9ee;margin:0 0 26px;text-underline-offset:4px}
.login-page .login-intro .brand-mark.large{margin:14px 0 20px;width:73px;height:73px;background:#1b6172;box-shadow:none;border:1px solid #83c7cd30}
.login-page .login-intro .brand-mark.large.custom-logo.login-logo{height:min(var(--login-logo-size,180px),165px);max-width:100%;margin:8px 0 22px}
.login-page .login-intro .kicker{color:#90d6d7;font-size:12px;letter-spacing:.23em}
.login-page .login-intro h1{font-size:clamp(29px,3.4vw,39px);line-height:1.35;margin:12px 0 13px;letter-spacing:.025em;color:#fff}
.login-page .login-intro p{font-size:16px;line-height:1.85;color:#d3e5e9}
.login-page .login-intro ul{margin-top:30px;padding-left:21px}
.login-page .login-intro li{padding:4px 0;color:#d7e6ea;font-size:15px;line-height:1.65}
.login-page .login-card{padding:54px clamp(29px,4.5vw,64px);background:linear-gradient(145deg,#fff 0%,#fafcfc 100%)}
.login-page .login-card small{display:block;color:#17747f;font-size:12px;font-weight:850;letter-spacing:.14em}
.login-page .login-card h2{color:#143446;font-size:32px;line-height:1.4;font-weight:900;margin:8px 0 11px}
.login-page .login-card p{color:#687c8b;line-height:1.8;font-size:15px;margin:0 0 21px}
.login-page .login-card label{color:#274256;font-weight:800;font-size:15px;margin:19px 0 15px}
.login-page .login-card input{display:block;min-height:55px;padding:13px 16px;font:inherit;font-size:17px;background:#fff;border:1px solid #ccdade;border-radius:11px;margin-top:9px}
.login-page .login-card input:focus-visible{outline:3px solid rgba(26,123,132,.2);outline-offset:1px;border-color:#1d8086}
.login-page .login-card button{min-height:57px;border-radius:11px;background:linear-gradient(105deg,#123f50,#176e79);font:inherit;font-weight:850;font-size:17px;margin-top:16px;cursor:pointer}
.login-page .login-card button:hover{background:linear-gradient(105deg,#103746,#125d68)}
.login-page .login-card button:focus-visible,.login-page .login-card a:focus-visible{outline:3px solid #55a7aa;outline-offset:3px}
.login-page .public-return{margin-top:25px;color:#156d79;font-size:15px;text-decoration:underline;text-underline-offset:4px}
.login-page .login-flash{line-height:1.7;padding:13px 16px}
/* Tablet and older phones — 1 column, minimum 48 px tap target */
@media(max-width:900px){
  .report-choice-shell .report-choice-grid{grid-template-columns:1fr}
  .report-choice-shell .report-choice-card{min-height:205px}
  .login-page .login-shell{grid-template-columns:1fr;max-width:520px;min-height:0}
  .login-page .login-intro{display:none}
  .login-page .login-card{padding:43px 34px}
}
@media(max-width:650px){
  .report-choice-shell{padding:19px 14px 55px}
  .report-choice-shell .report-intro{border-radius:18px;padding:30px 25px 35px}
  .report-choice-shell .report-intro h1{font-size:33px}
  .report-choice-shell .report-intro p{font-size:16px}
  .report-choice-shell .report-choice-grid{gap:14px}
  .report-choice-shell .report-choice-card{padding:25px 22px;border-radius:16px;gap:16px;min-height:0}
  .report-choice-shell .report-choice-card .choice-icon{width:55px;height:55px;font-size:27px;border-radius:13px}
  .report-choice-shell .report-choice-card h2{font-size:21px;margin:2px 0 10px}
  .report-choice-shell .report-choice-card p{font-size:15px;line-height:1.75}
  .report-choice-shell .report-choice-card strong{font-size:15px;padding:11px 15px}
  .report-shell{margin:18px auto 50px;padding:0 13px}
  .report-shell .report-intro{padding:29px 23px 33px;border-radius:16px}
  .report-shell .report-intro h1{font-size:28px}
  .report-shell .report-intro p{font-size:15px}
  .report-shell .form-section{padding:23px 20px 25px;border-radius:14px}
  .report-shell .form-section h2{font-size:19px}
  .report-shell .form-grid{grid-template-columns:1fr;gap:17px}
  .report-shell .public-report-form label{font-size:16px}
  .report-shell .report-submit{width:100%}
  .login-page{padding:18px 13px}
  .login-page .login-shell{border-radius:17px}
  .login-page .login-card{padding:36px 24px}
  .login-page .login-card h2{font-size:27px}
}
@media(prefers-reduced-motion:reduce){
  .report-choice-shell .report-choice-card{transition:none}
  .report-choice-shell .report-choice-card:hover{transform:none}
}
