.bianco       { color: #222244; }
.verde        { color: #16a34a; }
.rosso        { color: #dc2626; }
.blu          { color: #2563eb; }
.left         { text-align:left }
.right        { text-align:right }
.smallblack   { font: bold; font-size: 9px; color: #101010; }
.mediumblack  { font-size: 12px; font-weight: bold; text-align:center; color: #222222; }
.mediumwhite  { font-size: 12px; font-weight: bold; text-align:center; color: #FFFFFF; }
.bigblack     { font-size: 14px; font-weight: bold; text-align:center; color: #222222; }
.bigwhite     { font-size: 14px; font-weight: bold; text-align:center; color: #FFFFFF; }
.nero         { color=#000000; }
.center       { text-align:center; }
.smallwhite   { font-size: 9px; font-weight: bold; text-align:center; color: #FFFFFF; }

IMG { 
 background-color: #FAFAFA; 
 text-align:center; 
 color: #000000; 
 border-right: #FFFFFF 0px solid; 
 border-top: #FFFFFF 0px solid; 
 border-left: #FFFFFF 0px solid; 
 border-bottom: #FFFFFF 0px solid; 
}

SPAN.b { 
 color:black; background-color:#DBEDFD; 
}

SPAN.i { 
 color:black; background-color:#DBEDFD;
}

SPAN.g { 
 color:black; 
 background-color:#C3FDEC; 
}

SPAN.y { 
 color:black; 
 background-color:#FFFF66; 
}

SPAN.small { 
 font-size: 9px; font-weight: bold; text-align:center; 
 color: #FF4422; 
}

SPAN.medium { 
 font-size: 12px; font-weight: bold; text-align:center; 
 color: #FF4422; 
}

P {  
 font-family: Verdana, Arial, Helvetica, sans-serif; 
 font-size: 14px; 
 text-align: justify;
 color: #222222; 
}

P.c {  
 font-family: Verdana, Arial, Helvetica, sans-serif; 
 font-size: 14px; 
 text-align: center;
 color: #222222;
 margin-left: auto;
 margin-right: auto;
}

UL {  
 list-style-image: url(/images/yel_sphere.gif); 
 font-family: Verdana, Arial, Helvetica, sans-serif; 
 font-size: 10px;
}

H1 {
 font-family: Verdana, Arial, Helvetica, sans-serif; 
 font-weight: bold; color: #006600; 
 text-align: center; 
 margin-left: auto;
 margin-right: auto;
 font-size: 18px;
}

H2 {
 font-family: Verdana, Arial, Helvetica, sans-serif; 
 font-weight: bold; color: #006600; 
 text-align: center; 
 margin-left: auto;
 margin-right: auto;
 font-size: 17px;
}

H3 { 
 font-family: Verdana, Arial, Helvetica, sans-serif; 
 font-weight: bold; color: #006600; 
 text-align: center; 
 margin-left: auto;
 margin-right: auto;
 font-size: 16px;
}

H4 { 
 font-family: Verdana, Arial, Helvetica, sans-serif; 
 color: #339900; 
 font-size: 12px;
}

H5 { 
 font-family: Verdana, Arial, Helvetica, sans-serif; 
 color: #339900; 
 font-size: 12px;
}

H6 { 
 font-family: Verdana, Arial, Helvetica, sans-serif; 
 color: #339900; 
 font-size: 12px;
}

TD { 
 font-family: Verdana, Arial, Helvetica, sans-serif; 
 font-size: 12px;
}

TH {	
 color: #FFFFFF; 
 background-color: #FF6600;
}

BODY { 
 background:
  radial-gradient(circle at top left, rgba(14, 165, 233, 0.18), transparent 28%),
  radial-gradient(circle at top right, rgba(245, 158, 11, 0.16), transparent 24%),
  linear-gradient(180deg, #f7fafc 0%, #edf2f7 100%);
 color: #111827; 
 font-size: 14px; 
 font-family: "Manrope", "Segoe UI", Verdana, Arial, Helvetica, sans-serif; 
 font-style: normal; 
 font-weight: 400; 
 text-align: center; 
 margin: 0;
 padding: 12px;
}

FONT { 
 font-size: 12px; 
 text-align:center; 
}

B { 
 font-size: 16px; 
 font-weight: bold; 
 color: #222222; 
}

DIV { 
 font-size: 12px; 
 text-align: center; 
}

DIV.d1 { 
 font-size: 12px; 
 text-align: center; 
}

DIV.p1 { 
 font-size: 12px; 
 text-align: left; 
 margin-left: auto;
 margin-right: auto;
 width: 96%;
 position: relative; 
 top: 2px;
}

DIV.formbox {
 font-size: 14px; 
 text-align: center;
 background-color: #EFEFEF;
 border-right: #808080 1px solid;
 border-top: #808080 1px solid;
 border-left: #808080 1px solid;
 border-bottom: #808080 1px solid; 
 margin: 4px;
 padding: 4px;
 -moz-border-radius: 12px;
 border-radius: 12px;
}

DIV.boxblock {
 font-size: 14px; 
 text-align: center;
 background-color: #EFEFEF;
 border-right: #808080 1px solid;
 border-top: #808080 1px solid;
 border-left: #808080 1px solid;
 border-bottom: #808080 1px solid; 
 margin: 4px;
 padding: 4px;
 -moz-border-radius: 12px;
 border-radius: 12px;
}

DIV.notes {
 font-size: 14px; 
 color: #000000; 
 text-align: left;
 background-color: #EFEFEF;
 border-right: #808080 1px solid;
 border-top: #808080 1px solid;
 border-left: #808080 1px solid;
 border-bottom: #808080 1px solid; 
 width: 68%;
 margin: 4px;
 padding: 4px;
 -moz-border-radius: 12px;
 border-radius: 12px;
 margin-left: auto;
 margin-right: auto;
}

DIV.txtleft { 
 font-size: 14px; 
 color: #000000; 
 align: left;
 text-align: left;
 margin-left: auto;
 margin-right: auto;
 width: 98%;
}

DIV.txtright { 
 font-size: 14px; 
 color: #000000; 
 align: right;
 text-align: right;
 margin-left: auto;
 margin-right: auto;
 width: 98%;
}

DIV.txtmiddle { 
 font-size: 14px; 
 color: #000000; 
 align: center;
 text-align: center;
 margin-left: auto;
 margin-right: auto;
 width: 99%;
}

DIV.mainbody { 
 background: #FEFEFE;
 font-size: 14px; 
 color: #000000; 
 align: center;
 text-align: center;
 margin-left: auto;
 margin-right: auto;
 width: 960px;
 -moz-box-shadow: 10px 10px 5px #dedede, -10px 10px 5px #dedede;
 -webkit-box-shadow: 10px 10px 5px #dedede, -10px 10px 5px #dedede;
 box-shadow: 10px 10px 5px #dedede, -10px 10px 5px #dedede;
}

DIV.adv {
 font-size: 16px;
 text-align: center;
 background-color: #ABFFAB;
 border-right: #808080 1px dotted;
 border-top: #808080 1px dotted;
 border-left: #808080 1px dotted;
 border-bottom: #808080 1px dotted; 
 -moz-border-radius: 15px;
 border-radius: 15px;
}

DIV.articles_light { 
 background-color: #FAFAFA; 
 text-align: left;
 margin-left: auto;
 margin-right: auto;
 width: 98%;
 position: relative; 
 top: 0px;
 margin: 2px;
 padding: 2px;
 -moz-border-radius: 5px;
 border-radius: 5px;
}

DIV.articles_dark { 
 background-color: #EFEFEF; 
 text-align: left;
 margin-left: auto;
 margin-right: auto;
 width: 98%;
 position: relative; 
 top: 0px;
 margin: 2px;
 padding: 2px;
 -moz-border-radius: 5px;
 border-radius: 5px;
}

DIV.main_container { 
 background:
  linear-gradient(180deg, rgba(255,255,255,0.97) 0%, rgba(248,250,252,0.98) 100%);
 text-align: left;
 margin-left: auto;
 margin-right: auto;
 max-width: none;
 width: 100%;
 min-height: calc(100vh - 24px);
 position: relative; 
 top: 0;
 border-radius: 18px;
 box-shadow:
   0 24px 60px rgba(15, 23, 42, 0.16),
   0 0 0 1px rgba(148, 163, 184, 0.16);
 padding: 24px 24px 30px 24px;
 box-sizing: border-box;
}

DIV.header { 
 color: #0f172a; 
 background:
  linear-gradient(135deg, rgba(14, 165, 233, 0.10), rgba(245, 158, 11, 0.10));
 width: 100%;
 position: relative; 
 top: 0;
 left: 0;
 border: 1px solid rgba(148, 163, 184, 0.22);
 border-radius: 18px;
 padding: 12px 16px;
 margin-bottom: 18px;
 clear: both; 
}

DIV.footer { 
 color:black; 
 background-color:#FEFEFE; 
 width: 100%;
 position: relative; 
 top: 0px;
 clear: both; 
}

DIV.middle_container { 
 width: 100%;
 position: relative;
 top: 2px;
 left: 0px;
 display: flex;
 gap: 18px;
 align-items: flex-start;
}

DIV.middle_container_full { 
 width: 100%;
 position: relative;
 top: 2px;
 left: 0px;
 display: flex;
 gap: 18px;
 align-items: flex-start;
}

DIV.left_col { 
 color: #111827; 
 background:
  linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
 width: 320px;
 min-width: 320px;
 max-width: 320px;
 position: relative;
 top: 0;
 padding: 12px 8px 16px 8px;
 box-sizing: border-box;
 border-radius: 18px;
 border: 1px solid rgba(148, 163, 184, 0.24);
 box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
 flex: 0 0 320px;
}

DIV.middle_col { 
 color: #111827; 
 background-color:#ffffff; 
 width: auto;
 position: relative;
 top: 0;
 padding-left: 0;
 box-sizing: border-box;
 flex: 1 1 auto;
 min-width: 0;
}

DIV.fullmiddle_col { 
 color:#111827; 
 background-color:#ffffff; 
 width: auto;
 position: relative;
 top: 0;
 padding-left: 0;
 box-sizing: border-box;
 flex: 1 1 auto;
 min-width: 0;
}

.public_notice {
 margin-bottom: 22px;
}

.public_notice_inner {
 text-align: left;
 padding: 22px 24px;
 border-radius: 20px;
 border: 1px solid rgba(148, 163, 184, 0.22);
 background:
  linear-gradient(135deg, rgba(15, 118, 110, 0.10), rgba(14, 165, 233, 0.08) 45%, rgba(245, 158, 11, 0.10));
}

.public_notice_kicker {
 font-size: 11px;
 font-weight: 800;
 letter-spacing: 0.18em;
 text-transform: uppercase;
 color: #0f766e;
 margin-bottom: 10px;
}

.public_notice_title {
 font-size: 34px;
 line-height: 1.05;
 letter-spacing: -0.04em;
 color: #0f172a;
 margin: 0 0 10px 0;
 text-align: left;
}

.public_notice_text {
 font-size: 15px;
 line-height: 1.6;
 color: #334155;
 margin: 0;
 text-align: left;
}

.top_nav {
 display: flex;
 flex-wrap: wrap;
 gap: 10px;
 align-items: center;
 justify-content: flex-start;
 margin-bottom: 20px;
 padding: 14px 16px;
 border-radius: 18px;
 border: 1px solid rgba(148, 163, 184, 0.22);
 background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(248,250,252,0.96));
}

.top_nav_link {
 display: inline-flex;
 align-items: center;
 min-height: 38px;
 padding: 0 14px;
 border-radius: 999px;
 background: #e2e8f0;
 color: #0f172a;
 text-decoration: none;
 border: 1px solid transparent;
}

.top_nav_link:hover,
.top_nav_link:focus {
 background: #dbeafe;
 border-color: #93c5fd;
 color: #0f172a;
}

.panel_intro {
 text-align: left;
 padding: 8px 4px;
}

.panel_intro_eyebrow {
 font-size: 11px;
 font-weight: 800;
 letter-spacing: 0.16em;
 text-transform: uppercase;
 color: #0f766e;
 margin-bottom: 8px;
}

.panel_intro_title {
 font-size: 22px;
 line-height: 1.15;
 letter-spacing: -0.03em;
 margin: 0 0 10px 0;
 text-align: left;
 color: #0f172a;
}

.panel_intro_text {
 font-size: 14px;
 line-height: 1.6;
 color: #475569;
 margin: 0;
 text-align: left;
}

.login_page {
 padding-top: 8px;
}

.admin_dashboard_hero {
 text-align: left;
 padding: 24px 26px;
 border-radius: 22px;
 border: 1px solid rgba(148, 163, 184, 0.22);
 background:
  linear-gradient(135deg, rgba(15, 118, 110, 0.12), rgba(14, 165, 233, 0.08) 45%, rgba(245, 158, 11, 0.14));
 margin-bottom: 18px;
}

.admin_dashboard_hero_kicker {
 font-size: 11px;
 font-weight: 800;
 letter-spacing: 0.18em;
 text-transform: uppercase;
 color: #0f766e;
 margin-bottom: 8px;
}

.admin_dashboard_hero_title {
 font-size: 34px;
 line-height: 1.04;
 letter-spacing: -0.04em;
 color: #0f172a;
 margin: 0 0 10px 0;
 text-align: left;
}

.admin_dashboard_hero_text {
 font-size: 15px;
 line-height: 1.6;
 color: #334155;
 margin: 0;
 text-align: left;
}

.admin_stack {
 display: grid;
 gap: 16px;
}

.admin_card {
 background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,252,0.98));
 border: 1px solid rgba(148, 163, 184, 0.22);
 border-radius: 20px;
 padding: 18px 20px;
 text-align: left;
 box-shadow: 0 14px 30px rgba(15, 23, 42, 0.06);
}

.admin_card_compact {
 padding: 16px 18px;
}

.admin_card_header {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 12px;
 margin-bottom: 14px;
}

.admin_card_kicker {
 font-size: 11px;
 font-weight: 800;
 letter-spacing: 0.16em;
 text-transform: uppercase;
 color: #0f766e;
 margin-bottom: 6px;
}

.admin_card_title {
 font-size: 24px;
 line-height: 1.1;
 letter-spacing: -0.03em;
 color: #0f172a;
 margin: 0;
 text-align: left;
}

.admin_form_grid {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 14px 16px;
}

.admin_form_inline {
 display: flex;
 flex-wrap: wrap;
 gap: 14px 16px;
 align-items: end;
}

.admin_field {
 display: flex;
 flex-direction: column;
 gap: 6px;
 text-align: left;
 min-width: 200px;
}

.admin_field span {
 font-size: 12px;
 font-weight: 700;
 color: #334155;
}

.admin_field_wide {
 grid-column: 1 / -1;
}

.admin_form_actions {
 display: flex;
 align-items: center;
 gap: 10px;
}

.admin_table_wrap {
 overflow-x: auto;
}

.admin_table {
 width: 100%;
 border-collapse: collapse;
}

.admin_table thead th {
 background: #dbeafe;
 color: #0f172a;
 font-size: 12px;
 text-transform: uppercase;
 letter-spacing: 0.06em;
 padding: 10px 12px;
 border-bottom: 1px solid #bfdbfe;
}

.admin_table tbody td {
 padding: 12px;
 vertical-align: top;
}

.admin_meta_grid {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 12px 20px;
 margin: 0;
}

.admin_meta_grid_single {
 grid-template-columns: 1fr;
}

.admin_meta_grid div {
 text-align: left;
}

.admin_meta_grid dt {
 font-size: 11px;
 font-weight: 800;
 letter-spacing: 0.14em;
 text-transform: uppercase;
 color: #64748b;
 margin-bottom: 4px;
}

.admin_meta_grid dd {
 margin: 0;
 font-size: 15px;
 color: #0f172a;
 font-weight: 600;
}

.admin_metric_value {
 font-size: 28px;
 font-weight: 800;
 color: #0f172a;
}

.admin_sidebar_group {
 text-align: left;
 margin-bottom: 16px;
 border: 1px solid rgba(148, 163, 184, 0.16);
 border-radius: 14px;
 background: rgba(255,255,255,0.68);
 overflow: hidden;
}

.admin_sidebar_group_current {
 border-color: rgba(14, 165, 233, 0.30);
 box-shadow: 0 10px 24px rgba(14, 165, 233, 0.08);
}

.admin_sidebar_summary {
 display: block;
 cursor: pointer;
 list-style: none;
 font-size: 12px;
 font-weight: 800;
 letter-spacing: 0.12em;
 text-transform: uppercase;
 color: #334155;
 padding: 12px 14px;
 background: linear-gradient(180deg, rgba(241,245,249,0.95), rgba(226,232,240,0.92));
 border-bottom: 1px solid rgba(148, 163, 184, 0.14);
 transition:
  background-color 0.26s cubic-bezier(0.22, 1, 0.36, 1),
  color 0.26s cubic-bezier(0.22, 1, 0.36, 1),
  transform 0.26s cubic-bezier(0.22, 1, 0.36, 1);
}

.admin_sidebar_summary::-webkit-details-marker {
 display: none;
}

.admin_sidebar_summary::after {
 content: "+";
 float: right;
 font-size: 16px;
 line-height: 1;
 color: #0f766e;
 transition:
  transform 0.34s cubic-bezier(0.34, 1.56, 0.64, 1),
  color 0.22s cubic-bezier(0.22, 1, 0.36, 1);
}

.admin_sidebar_group[open] .admin_sidebar_summary::after {
 content: "+";
 transform: rotate(45deg);
}

.admin_sidebar_group_current .admin_sidebar_summary {
 color: #0f172a;
 background: linear-gradient(180deg, rgba(219,234,254,0.98), rgba(191,219,254,0.92));
}

.admin_sidebar_links {
 display: flex;
 flex-direction: column;
 gap: 8px;
 padding: 10px;
 max-height: 0;
 opacity: 0;
 transform: translateY(-6px);
 transition:
  max-height 0.48s cubic-bezier(0.22, 1, 0.36, 1),
  opacity 0.28s cubic-bezier(0.22, 1, 0.36, 1),
  transform 0.42s cubic-bezier(0.18, 0.89, 0.32, 1.28),
  padding-top 0.34s cubic-bezier(0.22, 1, 0.36, 1),
  padding-bottom 0.34s cubic-bezier(0.22, 1, 0.36, 1);
 overflow: hidden;
 will-change: max-height, opacity, transform;
 padding-top: 0;
 padding-bottom: 0;
}

.admin_sidebar_group[open] .admin_sidebar_links {
 max-height: 520px;
 opacity: 1;
 transform: translateY(0);
 padding-top: 10px;
 padding-bottom: 10px;
}

.admin_sidebar_link {
 display: block;
 padding: 10px 12px;
 border-radius: 12px;
 background: rgba(255,255,255,0.82);
 border: 1px solid rgba(148, 163, 184, 0.16);
 color: #0f172a;
 text-decoration: none;
}

.admin_sidebar_link:hover,
.admin_sidebar_link:focus {
 background: #dbeafe;
 border-color: #93c5fd;
 color: #0f172a;
}

.admin_sidebar_link_highlight {
 background: linear-gradient(135deg, rgba(22, 163, 74, 0.12), rgba(14, 165, 233, 0.10));
}

.admin_sidebar_link_active {
 background: linear-gradient(135deg, #0f766e 0%, #0f4c81 100%);
 border-color: rgba(15, 76, 129, 0.28);
 color: #ffffff !important;
 box-shadow: 0 10px 20px rgba(15, 76, 129, 0.20);
}

.admin_sidebar_link_active:hover,
.admin_sidebar_link_active:focus {
 background: linear-gradient(135deg, #0f766e 0%, #0f4c81 100%);
 border-color: rgba(15, 76, 129, 0.28);
 color: #ffffff !important;
}

DIV.login_box { 
 color:#111827; 
 background:
  linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(248,250,252,0.98) 100%);
 width: 320px;
 position: relative; 
 text-align: left;
 margin-left: auto;
 margin-right: auto;
 top: 0;
 padding: 24px 24px 22px 24px;
 border-radius: 22px;
 border: 1px solid rgba(148, 163, 184, 0.25);
 box-shadow: 0 18px 45px rgba(15, 23, 42, 0.18);
}

DIV.right_col { 
 color: black; 
 background-color: #FBFBFB; 
 width: 12%;
 position: relative; 
 float: left; 
 top: 0px;
}

DIV.middle_footer { 
 width: 100%;
 clear: both; 
}

DIV.listing_middle_container { 
 width: 98%;
 position: relative; 
 top: 0px;
 left: 0px;
}

DIV.listing_left_col { 
 color: black; 
 background-color: #FBFBFB; 
 width: 10%;
 position: relative; 
 float: left; 
 top: 0px;
}

DIV.listing_middle_col { 
 color:black; 
 background-color:#FAFAFA; 
 width: 90%;
 position: relative; 
 float: left; 
 top: 0px;
}

DIV.listing_right_col { 
 color: black; 
 background-color: #FBFBFB; 
 width: 10%;
 position: relative; 
 float: left; 
 top: 0px;
}

/**********************************
* Campi Tabelle                   *
**********************************/

TABLE { 
 font-size: 12px; 
 text-align: left; 
 align: center;
 margin-left: auto;
 margin-right: auto;
 border-collapse: collapse;
 width: 100%;
 background-color: #ffffff;
}

TR { 
 font-size: 12px; 
 text-align: left; 
 align: center;
 margin-left: auto;
 margin-right: auto;
 border-bottom: 1px solid #e5e7eb;
}

TD { 
 font-size: 12px; 
 text-align: left; 
 align: center;
 margin-left: auto;
 margin-right: auto;
 padding: 6px 8px;
}

TD.lightgrey { font-size: 10px; background-color: #E4E4E4; color: #000000; text-align : center; vertical-align : middle; border-right: #BBBBBB 1px dotted; border-top: #BBBBBB 1px dotted; border-left: #BBBBBB 1px dotted; border-bottom: #BBBBBB 1px dotted; }
TD.darkgrey { font-size: 10px; background-color: #D6D6D6; color: #000000; text-align : center; vertical-align : middle; border-right: #BBBBBB 1px dotted; border-top: #BBBBBB 1px dotted; border-left: #BBBBBB 1px dotted; border-bottom: #BBBBBB 1px dotted; }

TD.lightwht { font-size: 10px; background-color: #F4F4F4; color: #000000; text-align : center; vertical-align : middle; border-right: #BBBBBB 1px dotted; border-top: #BBBBBB 1px dotted; border-left: #BBBBBB 1px dotted; border-bottom: #BBBBBB 1px dotted; }
TD.darkwht { font-size: 10px; background-color: #E4E4E4; color: #000000; text-align : center; vertical-align : middle; border-right: #BBBBBB 1px dotted; border-top: #BBBBBB 1px dotted; border-left: #BBBBBB 1px dotted; border-bottom: #BBBBBB 1px dotted; }

TD.lightgry { font-size: 10px; background-color: #F4F4F4; color: #000000; text-align : center; vertical-align : middle; border-right: #BBBBBB 1px dotted; border-top: #BBBBBB 1px dotted; border-left: #BBBBBB 1px dotted; border-bottom: #BBBBBB 1px dotted; }
TD.darkgry { font-size: 10px; background-color: #E8E8E8; color: #000000; text-align : center; vertical-align : middle; border-right: #BBBBBB 1px dotted; border-top: #BBBBBB 1px dotted; border-left: #BBBBBB 1px dotted; border-bottom: #BBBBBB 1px dotted; }

TD.lightgrn { font-size: 10px; background-color: #D0E890; color: #000000; text-align : center; vertical-align : middle; border-right: #BBBBBB 1px dotted; border-top: #BBBBBB 1px dotted; border-left: #BBBBBB 1px dotted; border-bottom: #BBBBBB 1px dotted; }
TD.darkgrn { font-size: 10px; background-color: #C8E773; color: #000000; text-align : center; vertical-align : middle; border-right: #BBBBBB 1px dotted; border-top: #BBBBBB 1px dotted; border-left: #BBBBBB 1px dotted; border-bottom: #BBBBBB 1px dotted; }

TD.lightyel { font-size: 10px; background-color: #EFE4A5; color: #000000; text-align : center; vertical-align : middle; border-right: #BBBBBB 1px dotted; border-top: #BBBBBB 1px dotted; border-left: #BBBBBB 1px dotted; border-bottom: #BBBBBB 1px dotted; }
TD.darkyel { font-size: 10px; background-color: #E8DB90; color: #000000; text-align : center; vertical-align : middle; border-right: #BBBBBB 1px dotted; border-top: #BBBBBB 1px dotted; border-left: #BBBBBB 1px dotted; border-bottom: #BBBBBB 1px dotted; }

TD.lightblu { font-size: 10px; background-color: #BFF5ED; color: #000000; text-align : center; vertical-align : middle; border-right: #BBBBBB 1px dotted; border-top: #BBBBBB 1px dotted; border-left: #BBBBBB 1px dotted; border-bottom: #BBBBBB 1px dotted; }
TD.darkblu { font-size: 10px; background-color: #A5EFE4; color: #000000; text-align : center; vertical-align : middle; border-right: #BBBBBB 1px dotted; border-top: #BBBBBB 1px dotted; border-left: #BBBBBB 1px dotted; border-bottom: #BBBBBB 1px dotted; }

TD.lightred { font-size: 10px; background-color: #ECB5A8; color: #000000; text-align : center; vertical-align : middle; border-right: #BBBBBB 1px dotted; border-top: #BBBBBB 1px dotted; border-left: #BBBBBB 1px dotted; border-bottom: #BBBBBB 1px dotted; }
TD.darkred { font-size: 10px; background-color: #E39C8B; color: #000000; text-align : center; vertical-align : middle; border-right: #BBBBBB 1px dotted; border-top: #BBBBBB 1px dotted; border-left: #BBBBBB 1px dotted; border-bottom: #BBBBBB 1px dotted; }

TD.lightorg { font-size: 10px; background-color: #F1AB73; color: #000000; text-align : center; vertical-align : middle; border-right: #BBBBBB 1px dotted; border-top: #BBBBBB 1px dotted; border-left: #BBBBBB 1px dotted; border-bottom: #BBBBBB 1px dotted; }
TD.darkorg { font-size: 10px; background-color: #EE9C5A; color: #000000; text-align : center; vertical-align : middle; border-right: #BBBBBB 1px dotted; border-top: #BBBBBB 1px dotted; border-left: #BBBBBB 1px dotted; border-bottom: #BBBBBB 1px dotted; }

TD.lightpnk { font-size: 10px; background-color: #FFB3B7; color: #000000; text-align : center; vertical-align : middle; border-right: #BBBBBB 1px dotted; border-top: #BBBBBB 1px dotted; border-left: #BBBBBB 1px dotted; border-bottom: #BBBBBB 1px dotted; }
TD.darkpnk { font-size: 10px; background-color: #FFA3A7; color: #000000; text-align : center; vertical-align : middle; border-right: #BBBBBB 1px dotted; border-top: #BBBBBB 1px dotted; border-left: #BBBBBB 1px dotted; border-bottom: #BBBBBB 1px dotted; }

TD.lighttst { font-size: 10px; background-color: #FF7B61; color: #000000; text-align : center; vertical-align : middle; border-right: #BBBBBB 1px dotted; border-top: #BBBBBB 1px dotted; border-left: #BBBBBB 1px dotted; border-bottom: #BBBBBB 1px dotted; }
TD.darktst { font-size: 10px; background-color: #FF5A39; color: #000000; text-align : center; vertical-align : middle; border-right: #BBBBBB 1px dotted; border-top: #BBBBBB 1px dotted; border-left: #BBBBBB 1px dotted; border-bottom: #BBBBBB 1px dotted; }

TD.lightlgr { font-size: 10px; background-color: #CEF8BE; color: #000000; text-align : center; vertical-align : middle; border-right: #BBBBBB 1px dotted; border-top: #BBBBBB 1px dotted; border-left: #BBBBBB 1px dotted; border-bottom: #BBBBBB 1px dotted; }
TD.darklgr { font-size: 10px; background-color: #B6E7A3; color: #000000; text-align : center; vertical-align : middle; border-right: #BBBBBB 1px dotted; border-top: #BBBBBB 1px dotted; border-left: #BBBBBB 1px dotted; border-bottom: #BBBBBB 1px dotted; }

TD.lightor2 { font-size: 10px; background-color: #FFA94D; color: #000000; text-align : center; vertical-align : middle; border-right: #BBBBBB 1px dotted; border-top: #BBBBBB 1px dotted; border-left: #BBBBBB 1px dotted; border-bottom: #BBBBBB 1px dotted; }
TD.darkor2 { font-size: 10px; background-color: #FFCA9D; color: #000000; text-align : center; vertical-align : middle; border-right: #BBBBBB 1px dotted; border-top: #BBBBBB 1px dotted; border-left: #BBBBBB 1px dotted; border-bottom: #BBBBBB 1px dotted; }

/**********************************
* Campi Lins                      *
**********************************/

A:hover { 
 font-size: 12px; 
 font-family: "Manrope", Verdana,Arial,Helvetica; 
 background-color: transparent; 
 font-weight: bold; 
 color: #0f766e; 
 text-decoration: none;
}

A:link { 
 font-size: 12px; 
 font-family: "Manrope", Verdana,Arial,Helvetica; 
 font-weight: bold; color: #0f4c81; 
 text-decoration: none;
}

A:visited { 
 font-size: 12px; 
 font-family: "Manrope", Verdana,Arial,Helvetica; 
 font-weight: bold; 
 color: #0f4c81; 
 text-decoration: none; 
}

A.small:hover { 
 font-size: 11px; 
 font-family: Verdana,Arial,Helvetica; 
 background-color: #EEEEEE; 
 font-weight: bold; 
 color: #8888FF; 
 text-decoration: underline;
 align: left;
 text-align: left;
 margin-left: 0px;
}

A.small:link { 
 font-size: 11px; 
 font-family: Verdana,Arial,Helvetica; 
 font-weight: bold; color: #2222FF; 
 text-decoration: underline;
 align: left;
 text-align: left;
 margin-left: 0px;
}

A.small:visited { 
 font-size: 11px; 
 font-family: Verdana,Arial,Helvetica; 
 font-weight: bold; 
 color: #4444FF; 
 text-decoration: underline; 
 align: left;
 text-align: left;
 margin-left: 0px;
}

/**********************************
* Campi di Input                  *
**********************************/

INPUT.smallinput { 
 border-width: 1; 
 font-size: 12px; 
 border-color:#AAAAAA; 
 background-color: #FFFFFF; 
 height: 12px;
 font: bold;
 font-family: Verdana; 
 color: #222222;
}

INPUT.text { 
 border-width: 1px; 
 font-size: 14px; 
 border-color:#d1d5db; 
 background-color: #ffffff; 
 font-family: inherit; 
 color: #111827;
 padding: 6px 8px;
 border-radius: 6px;
 box-sizing: border-box;
}

INPUT.checkbox { 
 border-width: 1; 
 background-color: #EEEEEE; 
 color: #222222;
}

INPUT.radio { 
 border-width: 1;
 background-color: #EEEEEE;
 color: #222222;
}

INPUT.button { 
 border-width: 0; 
 font-size: 14px; 
 background-color: #2563eb; 
 font-weight: 600; 
 font-family: inherit; 
 color: #ffffff; 
 padding: 8px 14px;
 border-radius: 999px;
 cursor: pointer;
 box-shadow: 0 2px 6px rgba(37, 99, 235, 0.35);
 transition: background-color 0.15s ease, box-shadow 0.15s ease, transform 0.1s ease;
}

INPUT.button:hover { 
 background-color: #1d4ed8;
 box-shadow: 0 4px 10px rgba(37, 99, 235, 0.45);
 transform: translateY(-1px);
}

INPUT.button:active { 
 background-color: #1e40af;
 box-shadow: 0 1px 4px rgba(37, 99, 235, 0.35);
 transform: translateY(0);
}

INPUT[type="submit"],
INPUT[type="button"] {
 border-width: 0;
 font-size: 14px;
 background: linear-gradient(135deg, #0f766e 0%, #0f4c81 100%);
 font-weight: 700;
 font-family: inherit;
 color: #ffffff;
 padding: 10px 16px;
 border-radius: 999px;
 cursor: pointer;
 box-shadow: 0 10px 20px rgba(15, 76, 129, 0.24);
 transition: transform 0.12s ease, box-shadow 0.12s ease, filter 0.12s ease;
}

INPUT[type="submit"]:hover,
INPUT[type="button"]:hover {
 transform: translateY(-1px);
 box-shadow: 0 14px 26px rgba(15, 76, 129, 0.28);
 filter: brightness(1.02);
}

INPUT[type="text"],
INPUT[type="password"] {
 border-width: 1px;
 font-size: 14px;
 border-color: #cbd5e1;
 background-color: #ffffff;
 font-family: inherit;
 color: #111827;
 padding: 9px 10px;
 border-radius: 10px;
 box-sizing: border-box;
 width: 100%;
 max-width: 100%;
}

TEXTAREA.textarea { 
 border-width: 1; 
 border: ridge 0px;
 border-width: 1; 
 border-color:#2E166A;
 background-color: #FAFAFA; 
 font: bold; 
 font-family: Verdana; 
 color: #222222; 
}

SELECT.select { 
 border-width: 1px; 
 font-size: 14px; 
 background-color: #ffffff; 
 font-family: inherit; 
 color: #111827; 
 padding: 6px 8px;
 border-color:#d1d5db;
 border-radius: 6px;
 box-sizing: border-box;
}

/**********************************
* Barra dei link                  *  
**********************************/

#linkmenu {
 font: 14px system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Verdana, Arial, Helvetica, sans-serif; 
 text-align: left;
 margin-top: 4px;
 margin-left: auto;
 margin-right: auto;
 margin-bottom: 4px;
 max-width: 1144px;
}

#linkmenu ul{
 margin: 0;
 padding-left: 0;
 list-style: none;
 display: flex;
 flex-wrap: wrap;
 gap: 8px;
}

#linkmenu li{
 font-size: 14px;
 margin: 0;
 padding: 0;
}

#linkmenu a:link, #linkmenu a:visited{
 color: #1f2937;
 margin: 0;
 padding: 6px 10px;
 text-decoration: none;
 border-radius: 999px;
 border: 1px solid transparent;
 background-color: #e5e7eb;
 display: inline-block;
}

#linkmenu a:hover, #linkmenu a:focus, #linkmenu a:active{
 color: #111827;
 background: #dbeafe;
 border-color: #93c5fd;
}

/**********************************
* Barra dei link verticale        *  
**********************************/

#linkmenu_vert {
 font: 12px Verdana, Arial, Helvetica, sans-serif; 
 align: left;
 text-align: left;
 margin-left: 0px;
 width: 98%;
}

#linkmenu_vert ul{
 font: 12px Verdana, Arial, Helvetica, sans-serif; 
 align: left;
 text-align: left;
 margin-left: 0px;
 list-style: none;
 st-style-type: none; 
 margin: 0px; 
 padding: 0px;
}

#linkmenu_vert li{
 font-size: 12px;
 st-style-type: none; 
 margin-left: -20px; 
 padding: 0px;
}

#linkmenu_vert a:link, #linkmenu a:visited{
 font: 12px Verdana, Arial, Helvetica, sans-serif; 
 color: #266D9A;
 text-decoration: none;
 border: 1px dotted #ADADAD;
 align: left;
 text-align: left;
 margin-left: 0px;
}

#linkmenu_vert a:hover, #linkmenu a:focus, #linkmenu a:active{
 font: 12px Verdana, Arial, Helvetica, sans-serif; 
 color: #2688CC;
 background: #FFFFFF;
 align: left;
 text-align: left;
 margin-left: 0px;
}

.login_panel {
 padding: 8px 0 0 0;
}

.login_box_title {
 font-size: 26px;
 font-weight: 800;
 letter-spacing: -0.03em;
 color: #0f172a;
 margin-bottom: 8px;
}

.login_box_subtitle {
 font-size: 13px;
 font-weight: 600;
 color: #475569;
 margin-bottom: 18px;
}

.form_field {
 margin-bottom: 14px;
}

.form_field label {
 display: inline-block;
 font-size: 12px;
 font-weight: 700;
 color: #334155;
 margin-bottom: 6px;
}

.login_input {
 width: 100%;
}

.login_submit {
 width: 100%;
}

@media (max-width: 900px) {
 BODY {
  padding: 12px 8px 20px 8px;
 }

 DIV.main_container {
  padding: 16px 14px 22px 14px;
  border-radius: 18px;
  min-height: auto;
 }

 DIV.left_col,
 DIV.middle_col,
 DIV.fullmiddle_col {
  width: 100%;
  max-width: none;
  min-width: 0;
  padding-left: 0;
  margin-bottom: 14px;
  flex: 1 1 auto;
 }

 DIV.left_col {
  flex-basis: auto;
 }

 DIV.middle_container,
 DIV.middle_container_full {
  display: block;
 }

 DIV.login_box {
  width: auto;
  max-width: 360px;
 }

 #linkmenu ul {
  gap: 6px;
 }

 .public_notice_inner {
  padding: 18px 16px;
 }

 .public_notice_title {
  font-size: 28px;
 }

 .admin_dashboard_hero {
  padding: 18px 16px;
 }

 .admin_dashboard_hero_title {
  font-size: 28px;
 }

 .admin_form_grid {
  grid-template-columns: 1fr;
 }

 .admin_meta_grid {
  grid-template-columns: 1fr;
 }
}

/**********************************
* Barra dei link verticale        *  
**********************************/

#linkmenu_simple ul li a {
 display: block;
 list-style: none;
 text-decoration: none;
 width: 100%;
 margin: 0;
 padding-left: 4px;
 color: #ffffff;
 font-weight: bold;
 background-color: #87714a;
 border: 1px #666666 outset;
 font-size: 11px;
}

#linkmenu_simple ul li a:hover {
 color: #4ba513;
}

/* ==========================================================
   Metronic-inspired Full Skin (Global Override)
   ========================================================== */

:root {
 --mt-bg: #eef1f6;
 --mt-surface: #ffffff;
 --mt-surface-soft: #f8fafc;
 --mt-border: #e1e6ef;
 --mt-text: #2f3442;
 --mt-text-soft: #5f6784;
 --mt-heading: #181c32;
 --mt-primary: #3699ff;
 --mt-primary-strong: #187de4;
 --mt-success: #50cd89;
 --mt-warning: #ffc700;
 --mt-sidebar-bg: #1e1e2d;
 --mt-sidebar-bg-soft: #26263b;
 --mt-sidebar-text: #a2a3b7;
 --mt-sidebar-active: #ffffff;
 --mt-shadow: 0 14px 42px rgba(34, 40, 72, 0.12);
 --mt-radius: 12px;
 --mt-transition: 0.24s cubic-bezier(0.22, 1, 0.36, 1);
 --mt-font-body: "Manrope", "Segoe UI", Tahoma, Arial, sans-serif;
 --mt-font-heading: "Sora", "Manrope", "Segoe UI", Tahoma, Arial, sans-serif;
}

body.app_mode_admin {
 background:
  radial-gradient(1400px 780px at -10% -10%, rgba(54, 153, 255, 0.14), transparent 56%),
  radial-gradient(1200px 620px at 110% -15%, rgba(80, 205, 137, 0.12), transparent 58%),
  linear-gradient(180deg, #f4f6fb 0%, var(--mt-bg) 100%);
}

body.app_mode_public {
 background:
  radial-gradient(1200px 700px at 0% -20%, rgba(54, 153, 255, 0.2), transparent 56%),
  radial-gradient(900px 500px at 100% -10%, rgba(255, 199, 0, 0.16), transparent 62%),
  linear-gradient(180deg, #f2f5fb 0%, #e9edf5 100%);
}

body[data-page] .main_container {
 animation: mt-fade-up 0.36s cubic-bezier(0.22, 1, 0.36, 1) both;
}

BODY {
 color: var(--mt-text);
 background: var(--mt-bg);
 font-family: var(--mt-font-body);
}

h1, h2, h3, h4, h5, h6 {
 font-family: var(--mt-font-heading);
 font-weight: 700;
 letter-spacing: -0.01em;
 line-height: 1.25;
}

DIV.main_container {
 background: transparent;
 box-shadow: none;
 padding: 16px;
 border-radius: 0;
}

DIV.header {
 background: var(--mt-surface);
 border: 1px solid var(--mt-border);
 border-radius: var(--mt-radius);
 box-shadow: 0 6px 18px rgba(34, 40, 72, 0.08);
}

DIV.middle_container,
DIV.middle_container_full {
 gap: 20px;
 align-items: stretch;
}

DIV.left_col {
 align-self: stretch;
 background: linear-gradient(180deg, #ffffff 0%, #f7faff 100%);
 border: 1px solid #dfe6f2;
 box-shadow: 0 10px 26px rgba(31, 44, 84, 0.08);
 border-radius: 14px;
 color: #4b587d;
 padding: 14px 12px 18px 12px;
 position: relative;
 top: 0;
 max-height: none;
 overflow: visible;
}

DIV.fullmiddle_col,
DIV.middle_col {
 background: transparent;
}

.public_notice_inner,
.admin_dashboard_hero,
.admin_card,
DIV.login_box {
 background: var(--mt-surface);
 border: 1px solid var(--mt-border);
 box-shadow: 0 10px 30px rgba(34, 40, 72, 0.08);
 border-radius: var(--mt-radius);
}

.public_notice_kicker,
.admin_card_kicker,
.admin_dashboard_hero_kicker,
.panel_intro_eyebrow {
 color: var(--mt-primary-strong);
 letter-spacing: 0.1em;
 font-size: 10px;
}

.public_notice_title,
.admin_dashboard_hero_title,
.admin_card_title,
.login_box_title {
 color: var(--mt-heading);
 font-family: var(--mt-font-heading);
 letter-spacing: -0.015em;
}

.public_notice_text,
.admin_dashboard_hero_text,
.panel_intro_text,
.login_box_subtitle {
 color: var(--mt-text-soft);
}

.panel_intro_title {
 color: #1f2a44;
 font-size: 17px;
 font-family: var(--mt-font-heading);
}

.panel_intro_text {
 color: #5f6784;
}

.top_nav {
 background: var(--mt-surface);
 border: 1px solid var(--mt-border);
 border-radius: var(--mt-radius);
 box-shadow: 0 6px 18px rgba(34, 40, 72, 0.06);
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 14px;
}

.top_nav_left {
 display: flex;
 flex-wrap: wrap;
 gap: 10px;
 align-items: center;
}

.top_nav_right {
 display: flex;
 align-items: center;
 margin-left: auto;
}

.top_nav_link {
 background: #edf3ff;
 border-color: #d7e6ff;
 color: #23418a;
 transition: all var(--mt-transition);
}

.top_nav_link:hover,
.top_nav_link:focus {
 background: var(--mt-primary);
 border-color: var(--mt-primary);
 color: #ffffff;
 transform: translateY(-1px);
}

.top_nav_user {
 position: relative;
}

.top_nav_user_btn {
 display: inline-flex;
 align-items: center;
 gap: 8px;
 min-height: 38px;
 padding: 0 12px;
 border-radius: 10px;
 border: 1px solid #d6deea;
 background: #ffffff;
 color: #1f2a44;
 cursor: pointer;
 font-family: inherit;
 font-size: 13px;
 font-weight: 700;
}

.top_nav_user_btn:hover {
 border-color: #b8c7de;
 background: #f8fbff;
}

.top_nav_user_icon {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 width: 28px;
 height: 28px;
 border-radius: 8px;
 background: #edf3ff;
 color: #2759b8;
}

.top_nav_user_name {
 white-space: nowrap;
}

.top_profile_panel {
 position: absolute;
 right: 0;
 top: calc(100% + 10px);
 width: 280px;
 padding: 12px;
 border-radius: 12px;
 border: 1px solid #dbe3f0;
 background: #ffffff;
 box-shadow: 0 18px 36px rgba(20, 28, 54, 0.18);
 z-index: 30;
}

.top_profile_title {
 font-size: 10px;
 font-weight: 800;
 letter-spacing: 0.12em;
 text-transform: uppercase;
 color: #6a738f;
 margin-bottom: 10px;
}

.top_profile_row {
 display: flex;
 justify-content: space-between;
 align-items: center;
 gap: 10px;
 padding: 7px 0;
 border-bottom: 1px dashed #e8edf5;
}

.top_profile_row span {
 color: #58617d;
 font-size: 13px;
}

.top_profile_row strong {
 color: #1f2a44;
 font-size: 13px;
 font-weight: 800;
}

.top_profile_actions {
 padding-top: 10px;
}

.top_profile_logout {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 width: 100%;
 min-height: 36px;
 border-radius: 9px;
 background: linear-gradient(135deg, var(--mt-primary) 0%, var(--mt-primary-strong) 100%);
 color: #ffffff !important;
 text-decoration: none;
 font-weight: 700;
}

/* Sidebar accordion */
.admin_sidebar_group {
 background: #ffffff;
 border: 1px solid #dfe6f2;
 box-shadow: 0 6px 14px rgba(32, 42, 72, 0.06);
}

.admin_sidebar_group_current {
 border-color: rgba(54, 153, 255, 0.35);
 box-shadow: 0 8px 18px rgba(54, 153, 255, 0.14);
}

.admin_sidebar_summary {
 color: #4a5474;
 background: linear-gradient(180deg, #f8fbff 0%, #f1f6fd 100%);
 border-bottom: 1px solid #e7edf7;
 padding: 11px 12px;
}

.admin_sidebar_group_current .admin_sidebar_summary {
 background: linear-gradient(180deg, #eaf3ff 0%, #dcecff 100%);
 color: #153a84;
}

.admin_sidebar_summary::after {
 color: #6f7ea9;
}

.admin_sidebar_group_current .admin_sidebar_summary::after {
 color: #2a5fbb;
}

.admin_sidebar_link {
 background: #ffffff;
 border: 1px solid #e3eaf6;
 color: #4b587d;
 transition: all var(--mt-transition);
}

.admin_sidebar_link:hover,
.admin_sidebar_link:focus {
 background: #eff5ff;
 border-color: #cde0ff;
 color: #23418a;
}

.admin_sidebar_link_active,
.admin_sidebar_link_active:hover,
.admin_sidebar_link_active:focus {
 background: linear-gradient(135deg, var(--mt-primary) 0%, var(--mt-primary-strong) 100%);
 border-color: rgba(54, 153, 255, 0.75);
 color: #ffffff !important;
 box-shadow: 0 12px 24px rgba(54, 153, 255, 0.34);
}

.admin_sidebar_link_highlight {
 background: linear-gradient(135deg, rgba(255, 199, 0, 0.16), rgba(80, 205, 137, 0.16));
 border-color: rgba(255, 199, 0, 0.3);
 color: #3f4f7f;
}

/* Forms */
form {
 margin: 0;
}

.form_shell {
 background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
 border: 1px solid #dde6f4;
 border-radius: 16px;
 box-shadow: 0 14px 30px rgba(38, 54, 94, 0.1);
 padding: 18px;
 margin: 0 0 16px 0;
}

.form_shell_wide {
 max-width: 1080px;
}

.form_shell_compact {
 max-width: 620px;
}

.form_shell_header {
 display: flex;
 flex-direction: column;
 gap: 6px;
 margin-bottom: 14px;
}

.form_shell_title {
 font-family: "Sora", sans-serif;
 font-size: clamp(1rem, 1.2vw, 1.2rem);
 font-weight: 700;
 color: #1f2a44;
}

.form_shell_subtitle {
 font-size: 13px;
 line-height: 1.45;
 color: #5f6f92;
}

.form_section_title {
 margin: 18px 0 12px;
 padding: 10px 12px;
 border-radius: 10px;
 background: #eef4ff;
 border: 1px solid #dbe7ff;
 color: #36528b;
 font-weight: 700;
 font-size: 13px;
}

.form_grid {
 display: grid;
 grid-template-columns: 1fr;
 gap: 12px;
}

.form_grid_2 {
 grid-template-columns: repeat(2, minmax(0, 1fr));
}

.form_field {
 display: flex;
 flex-direction: column;
 gap: 6px;
 min-width: 0;
}

.form_field label {
 color: #3f4d70;
 font-size: 12px;
 font-weight: 700;
 letter-spacing: 0.01em;
}

.form_help {
 margin-top: -2px;
 color: #7a87a8;
 font-size: 11px;
}

.form_field_span_2 {
 grid-column: 1 / -1;
}

.form_inline_controls {
 display: flex;
 align-items: center;
 gap: 8px;
}

.form_inline_controls select {
 min-width: 120px;
}

.form_actions {
 display: flex;
 justify-content: flex-end;
 gap: 10px;
 margin-top: 16px;
}

INPUT[type="text"],
INPUT[type="password"],
INPUT[type="email"],
SELECT.select,
SELECT,
TEXTAREA.textarea {
 border: 1px solid #d8deea;
 border-radius: 10px;
 background: #ffffff;
 color: var(--mt-text);
 min-height: 40px;
 transition: border-color var(--mt-transition), box-shadow var(--mt-transition);
}

INPUT[type="text"]:focus,
INPUT[type="password"]:focus,
INPUT[type="email"]:focus,
SELECT.select:focus,
SELECT:focus,
TEXTAREA.textarea:focus {
 outline: none;
 border-color: #83bcff;
 box-shadow: 0 0 0 4px rgba(54, 153, 255, 0.16);
}

TEXTAREA.textarea {
 min-height: 120px;
}

.form_shell INPUT[type="text"],
.form_shell INPUT[type="password"],
.form_shell INPUT[type="email"],
.form_shell SELECT.select,
.form_shell SELECT,
.form_shell TEXTAREA.textarea {
 width: 100%;
 padding: 0 11px;
}

.form_shell TEXTAREA.textarea {
 padding: 10px 11px;
}

INPUT[type="submit"],
INPUT[type="button"],
INPUT.button {
 background: linear-gradient(135deg, var(--mt-primary) 0%, var(--mt-primary-strong) 100%);
 border: 1px solid rgba(54, 153, 255, 0.7);
 border-radius: 9px;
 min-height: 40px;
 font-weight: 700;
 letter-spacing: 0.01em;
 box-shadow: 0 8px 20px rgba(54, 153, 255, 0.26);
}

INPUT[type="submit"]:hover,
INPUT[type="button"]:hover,
INPUT.button:hover {
 filter: brightness(1.04);
 transform: translateY(-1px);
 box-shadow: 0 12px 24px rgba(54, 153, 255, 0.3);
}

.form_btn_danger {
 background: linear-gradient(135deg, #f1416c 0%, #d9214e 100%) !important;
 border-color: rgba(217, 33, 78, 0.84) !important;
 box-shadow: 0 10px 22px rgba(217, 33, 78, 0.28) !important;
}

.domain_table_tools {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 10px;
 flex-wrap: wrap;
 margin: 4px 0 12px;
}

.domain_table_search {
 display: flex;
 align-items: center;
 gap: 10px;
 width: 100%;
 max-width: 720px;
}

.domain_table_search input[type="text"] {
 flex: 1;
 min-width: 220px;
}

.domain_table_search select {
 min-width: 120px;
}

.domain_table_wrap {
 width: 100%;
 overflow-x: auto;
 border-radius: 12px;
}

.domain_table {
 min-width: 980px;
 border-collapse: separate;
 border-spacing: 0;
}

.domain_table td {
 vertical-align: top;
 line-height: 1.45;
}

.domain_name_text {
 display: inline-block;
 font-family: "Sora", sans-serif;
 font-weight: 800;
 font-size: 15px;
 color: #1f2f56;
 letter-spacing: 0.01em;
}

.domain_status_badge {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 min-width: 34px;
 padding: 2px 8px;
 border-radius: 999px;
 font-size: 12px;
 font-weight: 800;
 border: 1px solid transparent;
}

.domain_status_badge_active {
 color: #0d7e57;
 background: #e8fff4;
 border-color: #bff0dd;
}

.domain_status_badge_pending {
 color: #9a7300;
 background: #fff8dd;
 border-color: #ffe9a0;
}

.domain_status_badge_transfer {
 color: #234d9d;
 background: #edf4ff;
 border-color: #cfe1ff;
}

.domain_status_badge_warning {
 color: #bf1e49;
 background: #fff0f4;
 border-color: #ffd1de;
}

.domain_status_badge_neutral {
 color: #5b6787;
 background: #f2f5fb;
 border-color: #e1e7f3;
}

.domain_table tr:first-child td {
 position: sticky;
 top: 0;
 z-index: 2;
}

.domain_table_meta {
 font-size: 13px;
 color: #4f5f87;
}

.domain_sort_link {
 color: #304b83;
 text-decoration: none;
}

.domain_sort_link:hover,
.domain_sort_link:focus {
 color: #1d3d7a;
 text-decoration: underline;
}

.domain_pager {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 justify-content: center;
 gap: 6px;
 margin: 12px 0;
}

.domain_pager_btn,
.domain_pager_num {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 min-width: 34px;
 height: 34px;
 padding: 0 10px;
 border: 1px solid #d8e2f3;
 border-radius: 9px;
 background: #fff;
 color: #29467e;
 text-decoration: none;
 font-weight: 700;
 font-size: 13px;
}

.domain_pager_num_active {
 background: linear-gradient(135deg, var(--mt-primary) 0%, var(--mt-primary-strong) 100%);
 border-color: rgba(54, 153, 255, 0.72);
 color: #fff;
 box-shadow: 0 8px 18px rgba(54, 153, 255, 0.24);
}

.domain_pager_btn_disabled {
 color: #8c98b7;
 background: #f5f8ff;
 border-color: #e2e9f6;
 pointer-events: none;
}

.domain_pager_gap {
 color: #8c98b7;
 padding: 0 4px;
}

/* Tables and legacy TD classes */
TABLE {
 background: var(--mt-surface);
 border: 1px solid var(--mt-border);
 border-radius: var(--mt-radius);
 overflow: hidden;
 box-shadow: 0 8px 24px rgba(34, 40, 72, 0.08);
}

TR {
 border-bottom: 1px solid #edf1f7;
}

TD, TH {
 padding: 10px 12px;
}

TH,
TD.lightgrey {
 background: #f5f8ff;
 color: #3f4254;
 border-color: #e5ebf5 !important;
}

TD.lightblue,
TD.lightblu {
 background: #edf3ff;
 color: #2f3556;
 border-color: #dbe7ff !important;
}

TD.lightgrn,
TD.darkgrn {
 background: #e8fff3;
 color: #0e9f6e;
 border-color: #d7f8e9 !important;
}

TD.lightred,
TD.darkred {
 background: #fff0f3;
 color: #d9214e;
 border-color: #ffd7e0 !important;
}

TD.lightorg,
TD.darkorg,
TD.lightyel,
TD.darkyel {
 background: #fff8dd;
 color: #b88f00;
 border-color: #fff0b8 !important;
}

TD.lightwhite1,
TD.lightwht,
TD.darkwht {
 background: #ffffff;
 color: #3f4254;
 border-color: #edf1f7 !important;
}

TD.lightwhite2 {
 background: #f6f9ff;
 color: #3f4254;
 border-color: #e6edf8 !important;
}

.domain_table tr:hover td.lightwhite1,
.domain_table tr:hover td.lightwhite2 {
 background: #eef4ff;
}

/* Global auto-upgrade for legacy pages */
.legacy_data_table {
 width: 100%;
 border-collapse: separate;
 border-spacing: 0;
}

.legacy_data_table td {
 font-size: 13px;
 line-height: 1.45;
}

.legacy_data_table tr:first-child td {
 background: #f5f8ff;
 color: #2f3f65;
 font-weight: 700;
}

.legacy_data_table tr:nth-child(even) td:not([class]) {
 background: #f7faff;
}

.legacy_data_table tr:hover td:not([class]) {
 background: #eef4ff;
}

.legacy_form_auto {
 background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
 border: 1px solid #dde6f4;
 border-radius: 14px;
 box-shadow: 0 10px 24px rgba(38, 54, 94, 0.09);
 padding: 14px;
 margin: 0 0 16px;
}

.legacy_form_auto .legacy_form_table {
 width: 100%;
 background: transparent;
 border: none;
 box-shadow: none;
}

.legacy_form_auto .legacy_form_table td {
 border-bottom: 1px solid #ecf1f9;
 padding: 9px 10px;
 vertical-align: middle;
}

.legacy_form_auto .legacy_form_table tr:last-child td {
 border-bottom: none;
}

.legacy_form_auto .legacy_form_table td:first-child {
 width: 34%;
 color: #3f4d70;
 font-weight: 700;
}

.legacy_form_auto .legacy_form_table td input[type="text"],
.legacy_form_auto .legacy_form_table td input[type="password"],
.legacy_form_auto .legacy_form_table td input[type="email"],
.legacy_form_auto .legacy_form_table td select,
.legacy_form_auto .legacy_form_table td textarea {
 width: 100%;
}

.legacy_form_auto input[type="submit"],
.legacy_form_auto input[type="button"] {
 margin-top: 10px;
}

/* motion */
.public_notice_inner,
.admin_dashboard_hero,
.admin_card,
DIV.login_box,
TABLE {
 animation: mt-fade-up 0.48s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* Typography normalization: reduce oversized headings across the app */
.public_notice_title {
 font-size: clamp(1.35rem, 2.2vw, 1.95rem);
 line-height: 1.22;
}

.admin_dashboard_hero_title {
 font-size: clamp(1.2rem, 1.7vw, 1.55rem);
 line-height: 1.25;
}

.admin_card_title {
 font-size: clamp(1rem, 1.2vw, 1.2rem);
 line-height: 1.3;
}

.login_box_title {
 font-size: clamp(1.15rem, 1.7vw, 1.45rem);
}

.admin_dashboard_hero_text,
.public_notice_text,
.panel_intro_text,
.login_box_subtitle {
 font-size: 14px;
 line-height: 1.5;
}

@keyframes mt-fade-up {
 from {
  opacity: 0;
  transform: translateY(8px);
 }
 to {
  opacity: 1;
  transform: translateY(0);
 }
}

@media (max-width: 1200px) {
 DIV.left_col {
  width: 280px;
  min-width: 280px;
  max-width: 280px;
  flex-basis: 280px;
 }
}

@media (max-width: 900px) {
 .domain_table_search {
  flex-direction: column;
  align-items: stretch;
 }

 .domain_table_meta {
  width: 100%;
 }

 .domain_table_search input[type="submit"] {
  width: 100%;
 }

 .form_grid_2 {
  grid-template-columns: 1fr;
 }

 .top_nav {
  flex-direction: column;
  align-items: stretch;
 }

 .top_nav_left {
  width: 100%;
 }

 .top_nav_right {
  margin-left: 0;
  width: 100%;
  justify-content: flex-end;
 }

 .top_nav_user_btn {
  width: 100%;
  justify-content: center;
 }

 .top_profile_panel {
  width: 100%;
  right: 0;
 }

 DIV.left_col {
  position: relative;
  top: 0;
  max-height: none;
 }

 DIV.main_container {
  padding: 10px;
 }
}
