/*
 * YINNET Modern 3.2.0
 * Cloud-provider shell for WHMCS 9. No external fonts or third-party UI resources.
 * Plugin internals remain untouched; this file owns only the global site shell.
 */
:root{
  --yn-blue:#1992fd;
  --yn-blue-600:#0c82e8;
  --yn-blue-700:#086fca;
  --yn-blue-soft:#edf7ff;
  --yn-navy:#0b1628;
  --yn-navy-2:#12233d;
  --yn-text:#24344b;
  --yn-heading:#101b2d;
  --yn-muted:#7e8da3;
  --yn-bg:#f5f8fc;
  --yn-surface:#fff;
  --yn-surface-2:#f8fafc;
  --yn-line:#e4ebf3;
  --yn-line-2:#d5e0ec;
  --yn-green:#13805d;
  --yn-green-bg:#e8f8f1;
  --yn-red:#b63b4b;
  --yn-red-bg:#ffedf0;
  --yn-amber:#9b6415;
  --yn-radius:16px;
  --yn-radius-lg:22px;
  --yn-shadow-sm:0 8px 28px rgba(15,23,42,.045);
  --yn-shadow:0 18px 52px rgba(15,23,42,.075);
  --yn-focus:0 0 0 3px rgba(25,146,253,.15);
}

html.yn-theme,html.yn-theme body{max-width:100%;min-height:100%;overflow-x:hidden}
html.yn-theme body{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  background:var(--yn-bg);
  color:var(--yn-text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  font-size:14px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
html.yn-theme.yn-lang-zh-tw body,
html.yn-theme.yn-lang-zh-tw input,
html.yn-theme.yn-lang-zh-tw button,
html.yn-theme.yn-lang-zh-tw select,
html.yn-theme.yn-lang-zh-tw textarea{
  font-family:-apple-system,BlinkMacSystemFont,"PingFang TC","Noto Sans TC","Noto Sans CJK TC","Microsoft JhengHei UI","Microsoft JhengHei","Segoe UI",Arial,sans-serif;
}
html.yn-theme.yn-lang-en body,
html.yn-theme.yn-lang-en input,
html.yn-theme.yn-lang-en button,
html.yn-theme.yn-lang-en select,
html.yn-theme.yn-lang-en textarea{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
html.yn-theme a{color:#0b7fdd;transition:color .14s ease,background-color .14s ease,border-color .14s ease,transform .14s ease,box-shadow .14s ease}
html.yn-theme a:hover{color:#066dc0;text-decoration:none}
html.yn-theme img,html.yn-theme svg,html.yn-theme video,html.yn-theme iframe{max-width:100%}
html.yn-theme .container,html.yn-theme .row,html.yn-theme .primary-content,html.yn-theme .sidebar,html.yn-theme [class*="col-"]{min-width:0}
html.yn-theme .input-group{min-width:0}
html.yn-theme .input-group>.form-control,html.yn-theme .input-group>.custom-select{min-width:0}

/* Do not let the global link color leak into Bootstrap/action buttons. */
html.yn-theme a.btn-primary,html.yn-theme a.btn-success,html.yn-theme a.btn-danger,html.yn-theme a.btn-info,
html.yn-theme button.btn-primary,html.yn-theme button.btn-success,html.yn-theme button.btn-danger,html.yn-theme button.btn-info,
html.yn-theme input.btn-primary,html.yn-theme input.btn-success,html.yn-theme input.btn-danger,html.yn-theme input.btn-info{color:#fff!important}
html.yn-theme a.btn-warning,html.yn-theme button.btn-warning{color:#33260b!important}

/* ===== Cloud-provider header ===== */
html.yn-theme .yn-site-header{position:relative;z-index:1030;background:#fff;border:0;box-shadow:0 1px 0 rgba(15,23,42,.06)}
html.yn-theme .yn-nav-shell{height:72px;background:rgba(255,255,255,.98);border-bottom:1px solid #edf1f6}
html.yn-theme .yn-nav-container{max-width:1440px;height:72px;display:flex;align-items:center;gap:24px;padding-left:24px;padding-right:24px}
html.yn-theme .yn-brand{display:inline-flex;align-items:center;flex:0 0 auto;min-width:150px;color:var(--yn-heading)}
html.yn-theme .yn-brand:hover{color:var(--yn-heading)}
html.yn-theme .yn-brand-logo{display:block;width:auto;max-width:190px;max-height:38px;object-fit:contain}
html.yn-theme .yn-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin-right:9px;border-radius:11px;background:linear-gradient(135deg,#1992fd,#0a6fcf);color:#fff;box-shadow:0 8px 20px rgba(25,146,253,.22)}
html.yn-theme .yn-brand-name{font-size:18px;font-weight:850;letter-spacing:-.02em}
html.yn-theme .yn-main-nav{min-width:0;flex:1;align-items:center}
html.yn-theme .yn-primary-nav{display:flex;align-items:center;gap:2px;margin-right:auto}
html.yn-theme .yn-secondary-nav{display:flex;align-items:center;gap:2px;margin-left:12px}
html.yn-theme .yn-main-nav .navbar-nav>li>a,html.yn-theme .yn-main-nav .navbar-nav>.nav-item>.nav-link{
  min-height:40px;display:flex;align-items:center;margin:0;padding:0 13px;border-radius:10px;color:#475872;font-size:13px;font-weight:700;white-space:nowrap
}
html.yn-theme .yn-main-nav .navbar-nav>li>a:hover,html.yn-theme .yn-main-nav .navbar-nav>li.active>a,html.yn-theme .yn-main-nav .navbar-nav>.nav-item.active>.nav-link{background:#f0f7ff;color:#0878d1}
html.yn-theme .yn-main-nav .dropdown-menu{margin-top:12px;padding:8px;border:1px solid var(--yn-line);border-radius:14px;background:#fff;box-shadow:0 18px 50px rgba(15,23,42,.12)}
html.yn-theme .yn-main-nav .dropdown-item{padding:9px 11px;border-radius:9px;color:#526176;font-size:13px}
html.yn-theme .yn-main-nav .dropdown-item:hover{background:#f2f8ff;color:#0878d1}
html.yn-theme .yn-nav-tools{display:flex;align-items:center;gap:7px;flex:0 0 auto;margin-left:auto}
html.yn-theme .yn-tool-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:40px;height:40px;padding:0 11px;border:1px solid var(--yn-line);border-radius:11px;background:#fff;color:#516176!important;font-size:13px;line-height:1;box-shadow:none}
html.yn-theme .yn-tool-btn:hover{border-color:#c7d9eb;background:#f7fbff;color:#087bd5!important}
html.yn-theme .yn-tool-badge{position:absolute;top:-4px;right:-4px;display:flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:#ef4d5d;color:#fff;font-size:9px;font-weight:800}
html.yn-theme .yn-locale-btn{min-width:auto}
html.yn-theme .yn-locale-label{font-size:11px;font-weight:800}
html.yn-theme .yn-account-chip{align-items:center;gap:9px;max-width:190px;height:42px;margin-left:3px;padding:4px 10px 4px 5px;border:1px solid var(--yn-line);border-radius:12px;background:#fff;color:#27384f!important}
html.yn-theme .yn-account-chip:hover{border-color:#cbdceb;background:#f8fbff}
html.yn-theme .yn-account-avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;border-radius:9px;background:#edf6ff;color:#0b7dd8}
html.yn-theme .yn-account-text{display:flex;min-width:0;flex-direction:column;line-height:1.15}
html.yn-theme .yn-account-text small{color:#8c98a9;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
html.yn-theme .yn-account-text strong{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#24344b;font-size:11px;font-weight:800}
html.yn-theme .yn-signin-btn{align-items:center;justify-content:center;height:40px;padding:0 17px;border-radius:11px;background:var(--yn-blue);color:#fff!important;font-size:12px;font-weight:800}
html.yn-theme .yn-signin-btn:hover{background:var(--yn-blue-600);color:#fff!important}
html.yn-theme .yn-nav-toggle{display:none;width:40px;height:40px;margin-left:auto;padding:8px;border:1px solid var(--yn-line);border-radius:11px;background:#fff}
html.yn-theme .yn-nav-toggle span{display:block;width:18px;height:2px;margin:3px auto;border-radius:2px;background:#34465e}
html.yn-theme .yn-admin-bar{background:#fff4d9;border-bottom:1px solid #f0dfaf;color:#74520a;font-size:11px}
html.yn-theme .yn-admin-bar>.container{max-width:1440px;padding-top:7px;padding-bottom:7px}
html.yn-theme .yn-admin-bar a{color:#74520a;font-weight:700}

/* Notifications popover content remains WHMCS-compatible. */
html.yn-theme .client-alerts{min-width:290px;margin:0;padding:0;list-style:none}
html.yn-theme .client-alerts li a{display:flex;gap:10px;padding:11px 12px;color:#44546a}
html.yn-theme .client-alerts li+li{border-top:1px solid #edf1f5}
html.yn-theme .client-alerts .message{min-width:0;overflow-wrap:anywhere}

/* ===== Breadcrumb / page flow ===== */
html.yn-theme .yn-breadcrumb{background:transparent;border:0}
html.yn-theme .yn-breadcrumb>.container{max-width:1440px;padding-left:24px;padding-right:24px}
html.yn-theme .yn-breadcrumb .breadcrumb{margin:0;padding:16px 0 5px;background:transparent;font-size:11px}
html.yn-theme .yn-breadcrumb .breadcrumb-item,html.yn-theme .yn-breadcrumb .breadcrumb-item a{color:#94a0b1}
html.yn-theme #main-body{flex:1 0 auto;width:100%;padding:18px 0 64px}
html.yn-theme #main-body>.container{max-width:1440px;padding-left:24px;padding-right:24px}

/* ===== Sidebar shell ===== */
html.yn-theme .sidebar .card,html.yn-theme .sidebar .panel{overflow:hidden;margin-bottom:16px;border:1px solid var(--yn-line);border-radius:15px;background:#fff;box-shadow:var(--yn-shadow-sm)}
html.yn-theme .sidebar .card-header,html.yn-theme .sidebar .panel-heading{padding:13px 15px;background:#fff;border-bottom:1px solid #edf1f6;color:#17243a;font-size:12px;font-weight:800}
html.yn-theme .sidebar .panel-title,html.yn-theme .sidebar .card-title{margin:0;color:#17243a;font-size:12px;font-weight:800}
html.yn-theme .sidebar .list-group-item{padding:10px 14px;border-color:#edf1f6;color:#5d6d83;font-size:12px}
html.yn-theme .sidebar .list-group-item:hover,html.yn-theme .sidebar .list-group-item.active{background:#f1f8ff;color:#087bd6}
html.yn-theme .sidebar .badge{background:#eef3f8;color:#607086}

/* ===== Language/currency modal ===== */
html.yn-theme .modal-localisation .modal-content{overflow:hidden;border:1px solid var(--yn-line);border-radius:20px;background:#fff;box-shadow:0 26px 80px rgba(15,23,42,.18)}
html.yn-theme .yn-locale-modal-head{align-items:center;padding:20px 24px;border-bottom:1px solid var(--yn-line);background:#fff}
html.yn-theme .yn-locale-modal-head span{display:block;margin-bottom:3px;color:#1992fd;font-size:9px;font-weight:850;letter-spacing:.12em}
html.yn-theme .yn-locale-modal-head h5{margin:0;color:#152238;font-size:17px;font-weight:850}
html.yn-theme .modal-localisation .modal-body{padding:24px}
html.yn-theme .modal-localisation .modal-footer{padding:14px 24px;border-top:1px solid var(--yn-line);background:#f8fafc}
html.yn-theme .yn-locale-section>label{display:block;margin-bottom:9px;color:#66758a;font-size:11px;font-weight:800}
html.yn-theme .modal-localisation .item-selector{margin-right:-5px;margin-left:-5px}
html.yn-theme .modal-localisation .item-selector>[class*="col-"]{padding:5px}
html.yn-theme .modal-localisation .item-selector .item{display:flex;align-items:center;justify-content:center;min-height:44px;padding:9px 12px;border:1px solid var(--yn-line-2);border-radius:11px;background:#fff;color:#48586e;font-weight:750;text-align:center}
html.yn-theme .modal-localisation .item-selector .item:hover{border-color:#b9d6ee;background:#f7fbff;color:#0b7bd4}
html.yn-theme .modal-localisation .item-selector .item.active{border-color:#8fc8f4;background:#edf7ff;color:#087bd7;box-shadow:inset 0 0 0 1px rgba(25,146,253,.08)}

/* ===== Dark cloud-provider footer ===== */
html.yn-theme .yn-site-footer{flex:0 0 auto;margin-top:auto;padding:0;background:var(--yn-navy);border:0;color:#95a7bd}
html.yn-theme .yn-site-footer>.container{max-width:1440px;padding:46px 24px 20px}
html.yn-theme .yn-footer-grid{display:grid;grid-template-columns:minmax(280px,1.7fr) repeat(3,minmax(130px,.7fr));gap:44px;padding-bottom:34px}
html.yn-theme .yn-footer-logo{display:inline-flex;align-items:center;gap:9px;margin-bottom:14px;color:#fff!important;font-size:18px;font-weight:850}
html.yn-theme .yn-footer-logo img{display:block;max-width:180px;max-height:36px;filter:none}
html.yn-theme .yn-footer-brand p{max-width:430px;margin:0;color:#8395aa;font-size:12px;line-height:1.75}
html.yn-theme .yn-footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
html.yn-theme .yn-footer-links h3{margin:0 0 5px;color:#e8eef6;font-size:12px;font-weight:850}
html.yn-theme .yn-footer-links a{color:#91a3b8;font-size:11px}
html.yn-theme .yn-footer-links a:hover{color:#fff}
html.yn-theme .yn-footer-locale{display:inline-flex;align-items:center;gap:8px;margin:0;padding:0;border:0;background:transparent;color:#91a3b8;font-size:11px}
html.yn-theme .yn-footer-locale:hover{color:#fff}
html.yn-theme .yn-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}
html.yn-theme .yn-footer-bottom p{margin:0;color:#6f8197;font-size:10px}
html.yn-theme .yn-footer-social .list-inline-item{margin:0 0 0 8px}
html.yn-theme .yn-footer-social a{color:#778ba2}
html.yn-theme .yn-footer-social a:hover{color:#fff}

/* Remove legacy footer margins if a hook injects lists. */
html.yn-theme .yn-site-footer .mb-7{margin-bottom:0!important}

@media(max-width:1199.98px){
  html.yn-theme .yn-nav-container{gap:14px}
  html.yn-theme .yn-main-nav .navbar-nav>li>a,html.yn-theme .yn-main-nav .navbar-nav>.nav-item>.nav-link{padding:0 9px;font-size:12px}
  html.yn-theme .yn-secondary-nav{margin-left:5px}
}

@media(max-width:991.98px){
  html.yn-theme .yn-nav-shell,html.yn-theme .yn-nav-container{height:64px}
  html.yn-theme .yn-nav-container{position:relative;padding-left:16px;padding-right:16px}
  html.yn-theme .yn-brand{min-width:0}
  html.yn-theme .yn-brand-logo{max-width:150px;max-height:34px}
  html.yn-theme .yn-nav-toggle{display:block;order:3}
  html.yn-theme .yn-nav-tools{order:2;margin-left:auto}
  html.yn-theme .yn-main-nav{position:absolute;top:64px;left:12px;right:12px;z-index:1050;order:4;padding:10px;border:1px solid var(--yn-line);border-radius:15px;background:#fff;box-shadow:0 18px 50px rgba(15,23,42,.13)}
  html.yn-theme .yn-main-nav.show{display:block}
  html.yn-theme .yn-primary-nav,html.yn-theme .yn-secondary-nav{display:block;margin:0}
  html.yn-theme .yn-secondary-nav{margin-top:6px;padding-top:6px;border-top:1px solid #edf1f5}
  html.yn-theme .yn-main-nav .navbar-nav>li>a,html.yn-theme .yn-main-nav .navbar-nav>.nav-item>.nav-link{width:100%;min-height:42px;padding:0 12px}
  html.yn-theme .yn-main-nav .dropdown-menu{position:static!important;float:none;margin:2px 0 6px;padding:5px;border:0;background:#f8fafc;box-shadow:none;transform:none!important}
  html.yn-theme .yn-breadcrumb>.container,html.yn-theme #main-body>.container{padding-left:16px;padding-right:16px}
  html.yn-theme .yn-footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:30px}
  html.yn-theme .yn-footer-brand{grid-column:1/-1}
}

@media(max-width:767.98px){
  html.yn-theme #main-body{padding-top:12px;padding-bottom:42px}
  html.yn-theme .yn-breadcrumb .breadcrumb{padding-top:12px}
  html.yn-theme .yn-site-footer>.container{padding:34px 16px 18px}
  html.yn-theme .yn-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px;padding-bottom:26px}
  html.yn-theme .yn-footer-brand{grid-column:1/-1}
  html.yn-theme .yn-footer-bottom{align-items:flex-start;flex-direction:column;gap:10px}
}

@media(max-width:575.98px){
  html.yn-theme .yn-nav-container{gap:8px;padding-left:12px;padding-right:12px}
  html.yn-theme .yn-brand-logo{max-width:118px;max-height:31px}
  html.yn-theme .yn-tool-btn{min-width:36px;height:36px;padding:0 8px;border-radius:10px}
  html.yn-theme .yn-nav-tools{gap:5px}
  html.yn-theme .yn-nav-toggle{width:36px;height:36px;padding:7px}
  html.yn-theme .yn-main-nav{left:8px;right:8px}
  html.yn-theme .modal-localisation .modal-dialog{margin:8px}
  html.yn-theme .modal-localisation .modal-body{padding:20px 15px}
  html.yn-theme .yn-footer-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:389.98px){
  html.yn-theme .yn-locale-btn{display:none!important}
  html.yn-theme .yn-brand-logo{max-width:108px}
}
